KR20170085422A - 가상 에이전트 동작 방법 및 장치 - Google Patents

가상 에이전트 동작 방법 및 장치 Download PDF

Info

Publication number
KR20170085422A
KR20170085422A KR1020160115711A KR20160115711A KR20170085422A KR 20170085422 A KR20170085422 A KR 20170085422A KR 1020160115711 A KR1020160115711 A KR 1020160115711A KR 20160115711 A KR20160115711 A KR 20160115711A KR 20170085422 A KR20170085422 A KR 20170085422A
Authority
KR
South Korea
Prior art keywords
virtual agent
agent
virtual
interaction context
context
Prior art date
Application number
KR1020160115711A
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 KR20170085422A publication Critical patent/KR20170085422A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • H04L67/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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/131Protocols for games, networked simulations or virtual reality
    • H04L67/38
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 측면은, 가상 에이전트를 동작시키는 방법이 설명된다. 인터랙션 컨텍스트는 획득될 수 있다. 에이전트 상태는 획득된 인터랙션 컨텍스트에 기초하여 결정될 수 있다. 에이전트 상태는 가상 에이전트의 활동을 나타낸다. 가상 에이전트의 감정은 획득된 인터랙션 컨텍스트, 결정된 에이전트 상태 및/또는 가상 에이전트의 성격에 기초하여 업데이트될 수 있다. 하나 이상의 행동들은 선택될 수 있다. 각각의 행동들은 가상 에이전트의 외형의 변화 또는 오디오의 생성을 포함하거나 나타낼 수 있다. 다양한 실시예들은 하나 이상의 전술한 작동들을 수행하기 위한 디바이스들, 서버들, 소프트웨어 및 시스템들에 관한 것이다.

Description

가상 에이전트 동작 방법 및 장치 {Apparatus and method for operating personal agent}
다양한 실시예들은 일반적으로 가상 에이전트(virtual agent)를 위한 기술들과 관련되고, 더욱 구체적으로는 애니메이트된(animated) 형태로 표현되고 시뮬레이션된 성격을 가지며, 애니메이트된 형태로 표현되거나 시뮬레이션된 성격을 가지는 가상 에이전트에 관한 것이다.
다양한 테크놀로지 회사들은 전자 디바이스들과 사람 간의 상호작용을 개선하고 단순화하기 위한 노력을 지속해오고 있다. 일부 전자 디바이스들은, 예를 들어, 가상 에이전트들을 포함한다. 다양한 응용들에서, 가상 에이전트들은 예를 들어, 말해진 단어들 또는 자연 언어 인터페이스를 이용하여 사람과 의사소통이 가능한 사람 또는 개체를 시뮬레이션한다. 가상 에이전트들의 일부 예시들은 마이크로소프트(Microsoft Corporation)가 만든 코타나(Cortana)® 및 애플(Apple Inc.)이 만든 쉬리(Siri) ®를 포함한다. 두 가상 에이전트는 모두 개인용 컴퓨터 또는 휴대폰과 같은, 디바이스에서 실행될 수 있는 소프트웨어 어플리케이션들이다. 예를 들어, 사람은 디바이스에 있는 마이크를 이용하여 날씨 또는 스포츠 게임의 스코어에 대한 간단한 질문을 할 수 있다. 그러면, 어플리케이션들은 말해진 단어들을 이용하여 응답하거나, 하이퍼링크들을 제공하거나 스크린에 정보를 디스플레이할 수 있다.
다양한 실시예들은 가상 에이전트를 동작시키는 방법, 장치, 시스템 및 그 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 저장 매체를 제공할 수 있다.
본 개시의 일 측면은, 가상 에이전트를 동작시키는 방법을 제공할 수 있다. 인터랙션 컨텍스트는 의사소통 컨텍스트, 대상 정보, 상황 정보 및/또는 인물 정보를 포함할 수 있다. 에이전트 상태는 획득된 인터랙션 컨텍스트에 기초하여 결정될 수 있다. 에이전트 상태는 에이전트의 활동을 나타낼 수 있다. 가상 에이전트의 감정은 획득된 인터랙션 컨텍스트, 결정된 에이전트 상태 및/또는 가상 에이전트의 성격에 기초하여 업데이트될 수 있다. 하나 이상의 행동들은 획득된 인터랙션 컨텍스트 및/또는 가상 에이전트의 업데이트된 감정에 기초하여 선택될 수 있다. 각각의 행동들은 가상 에이전트의 외형의 변화 또는 오디오의 생성을 포함하거나 나타낼 수 있다. 다양한 실시예들은 전술한 동작들 중 하나 이상을 수행하기 위한 디바이스들, 서버들, 소프트웨어 및 시스템들과 관련된다.
본 개시의 다른 측면은, 컴퓨터로 읽을 수 있는 저장 매체를 제공할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 가상 에이전트를 동작시키는 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램을 기록할 수 있다. 상기 방법은, 인터랙션 컨텍스트를 획득하는 단계를 포함할 수 있다. 인터랙션 컨텍스트는 의사소통 컨텍스트, 대상 정보, 상황 정보 및 인물 정보 중 적어도 하나 이상을 포함할 수 있다. 상기 방법은, 획득된 인터랙션 컨텍스트에 기초하여 에이전트 상태를 결정하는 단계를 포함할 수 있다. 에이전트 상태는 에이전트의 활동을 나타낸다. 또한, 상기 방법은, 획득된 인터랙션 컨텍스트, 결정된 에이전트 상태 및 가상 에이전트의 성격에 기초하여 가상 에이전트의 감정을 업데이트하는 단계를 더 포함할 수 있다. 상기 방법은, 획득된 인터랙션 컨텍스트 및 업데이트된 감정들에 기초하여 하나 이상의 행동들을 선택하는 단계를 더 포함할 수 있다. 각각의 행동은 가상 에이전트의 외형의 조정 또는 오디오의 생성을 포함할 수 있다.
본 개시의 다른 측면은, 디바이스를 제공할 수 있다. 상기 디바이스는 적어도 하나의 프로세서 및 컴퓨터 코드가 저장되는 컴퓨터로 읽을 수 있는 저장 매체를 포함하는 메모리 회로를 포함할 수 있다. 상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 디바이스가 인터랙션 컨텍스트를 획득하도록 할 수 있다. 인터랙션 컨텍스트는 의사소통 컨텍스트, 대상 정보, 상황 정보 및 인물 정보 중 적어도 하나 이상을 포함할 수 있다. 상기 컴퓨터 코드는 상기 디바이스가 획득된 인터랙션 컨텍스트에 기초하여 에이전트 상태를 결정하도록 할 수 있다. 에이전트 상태는 에이전트의 활동을 나타낸다. 또한, 상기 컴퓨터 코드는 상기 디바이스가 획득된 인터랙션 컨텍스트, 결정된 에이전트 상태 및 가상 에이전트의 성격에 기초하여 가상 에이전트의 감정을 업데이트하도록 할 수 있다. 상기 컴퓨터 코드는 상기 디바이스가 획득된 인터랙션 컨텍스트 및 업데이트된 감정들에 기초하여 하나 이상의 행동들을 선택하도록 할 수 있다. 각각의 행동은 가상 에이전트의 외형의 조정 또는 오디오의 생성을 포함할 수 있다.
본 발명 및 그 이점들은 첨부된 도면과 함께 다음의 설명을 참조하면 가장 잘 이해될 수 있다.
도 1은 일 실시예에 따른 가상 에이전트를 동작시키는 시스템의 블록도이다.
도 2는 일 실시예에 따른 가상 에이전트 시스템의 블록도이다.
도 3은 일 실시예에 따른 가상 에이전트를 동작시키는 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 행동 스케줄을 생성하는 방법을 나타내는 흐름도이다.
도 5는 일 실시예에 따른 행동 유형들 및 행동들의 표이다.
도 6은 일 실시예에 따른 행동 태그 유형들 및 태그들의 표이다.
도 7은 일 실시예에 따른 가상 에이전트 디바이스의 블록도이다.
도 8은 일 실시예에 따른 가상 에이전트 디바이스의 블록도이다.
본 발명은 가상 에이전트(virtual agent)를 동작시키기 위한 기술들에 관한 것이다. 배경기술에서 언급한 바와 같이, 기본적인 질문들에 답변하거나 정보를 제공할 수 있는 다양한 개인 비서(personal assistant: PA)들이 존재한다. 하지만, 이러한 종래의 개인 비서들, 즉 PA들은 한계를 가진다. 예를 들어, PA 들 중 일부는 응답을 준비하는데 제한된 컨텍스트 정보(contextual information)에 의존한다. 예를 들어, PA 들의 응답은 사용자에 의해 제기된 질문에 전적으로 의존할 수밖에 없다. 사람과는 다르게, 이들 PA 들은 일반적으로 시각적인 정보 또는 대화의 전반적인 컨텍스트를 고려하지 못한다.
이에 더하여, 일부 PA들은 시각적으로 매력이 없다. 그들은 물리적인 형태를 가지지 않을 수 있으며, 심볼 또는 깜박거리는 점에 의해 단순하게 표현될 수 있다. 일부 응용에서 가까운 장래에는, 호감을 주는 시각적인 형태를 실제로 가지는 가상 에이전트, 예를 들어, 컨텍스트, 예를 들어 상황에 적절한 표정들 또는 몸짓들을 만드는 가상 에이전트 모델을 가지는 것이 바람직할 수 있다.
일부 응용들에서, PA 들이 시뮬레이션된 성격 및/또는 감정들을 가지는 것 또한 바람직할 수 있다. 즉, PA가 실제의 감정, 다시 말하면, 현재의 컨텍스트 또는 대화와 전적으로 의존적이지 않은 오랜 특징들 또는 성향들을 가지는 것처럼 보이는 것은 개인 비서와의 대화를 더 상호적이고 호감이 가도록 할 수 있다.
본 발명의 다양한 실시예들은 전술한 문제들 중 하나 이상을 다룬다. 먼저 도 1을 참조하여, 본 발명의 일 실시예에 따른 가상 에이전트를 동작시키기 위한 시스템 (100)이 설명될 것이다. 일 실시예에 따른 시스템은 하나 이상의 네트워크들 (108)을 이용하여 서로 통신하는 복수의 가상 에이전트 디바이스들 (104) 및 서버 (110)를 포함할 수 있다. 서버 (110)의 이용은 선택적이고, 일부 실시예에서 서버 (110)를 위한 기능성 및 특징들 중 어떤 것이라도 하나 이상의 가상 에이전트 디바이스들 (104)에서 수정, 제거 및/또는 수행될 수 있다.
임의의 적절한 네트워크 (108)는 디바이스들 (104) 및 서버 (110)를 연결하기 위해 이용될 수 있다. 다양한 실시예에서, 네트워크 (108)는 CDMA, GSM, 인터넷 또는 임의의 다른 적절한 프로토콜에 기초한 무선 통신망 또는 임의의 다른 통신 네트워크를 포함할 수 있으나, 이에 제한되지 않는다.
일 실시예에서, 사용자는 냉장고, 텔레비전, 전화기 및/또는 스마트 워치를 포함하는 디바이스들 (104)과 상호작용할 수 있다. 다른 실시예에서, 사용자는 임의의 많은 다른 디바이스들, 예를 들어, 가상 현실 디바이스, 스마트 글래스, 태블릿, 컴퓨터, 노트북 등과 상호작용할 수 있다.
일 실시예에서, 가상 에이전트는 부분적으로 디바이스들 각각에서 실행되고 있는 소프트웨어 어플리케이션일 수 있다. 각각의 디바이스는 가상 에이전트를 나타내는 시각적인 모델 또는 형태를 디스플레이할 수 있지만, 다른 실시예에서는 하나 이상의 디바이스들이 모델을 디스플레이하지 않고 대신에 가상 에이전트의 다른 측면들(예를 들어, 데이터의 처리, 환경의 감지 등)을 제공할 수 있다. 일 실시예에서, 가상 에이전트는 3차원 형상 또는 얼굴로 나타날 수 있지만, 다른 실시예에서는 2차원 형태로 나타날 수 있다.
디바이스들은 각각 하나 이상의 센서들, 예를 들어, 마이크, 카메라 및/또는 사용자의 주변의 컨텍스트(context)를 결정하기 위해 이용되는 다른 기술들을 포함할 수 있다. 예를 들어, 그들은 사용자가 무엇을 하고 있는지 또는 무엇을 잡고 있는지, 그 또는 그녀가 어떻게 보이는지 및/또는 사용자가 무엇을 말하고 있는지를 감지할 수 있다. 디바이스들에 의해 결정된 컨텍스트에 기초하여, 가상 에이전트는 사용자에 대한 응답들을 만들어낼 수 있다. 예를 들어, 사용자는 질문들을 할 수 있고, 에이전트는 대답을 제공하고 정보를 디스플레이할 수 있으며, 대답을 제공하거나 정보를 디스플레이할 수 있다.
하기에서 더 자세히 설명될 것과 같이, 가상 에이전트는 시뮬레이션된 성격, 감정들 및/또는 기분을 가진다. 일 실시예에서, 가상 에이전트의 응답들은 시뮬레이션된 성격에 의해 영향을 받을 수 있고, 현재의 컨텍스트 또는 사용자가 물어보고 있는 것에만 전적으로 의존하지 않을 수 있다. 결과적으로, 가상 에이전트는 조금 더 인간다워 보일 수 있다, 즉 현재의 컨텍스트를 단순히 반영하는 것이 아닌 독립적인 성향들 및 태도들을 가지는 것처럼 보일 수 있다. 이것은 가상 에이전트와 사용자 간의 더욱 자연스럽고 실제와 같은 대화를 가능하게 한다.
가상 에이전트는 또한 몸짓들 또는 표정들을 만들기 위해 그들의 시각적인 형태를 이용할 수 있다. 그러한 시각적인 효과들은 사용자와 에이전트 간의 상호작용의 컨텍스트 및 내용, 센서 데이터, 감정들 및/또는 시뮬레이션된 가상 에이전트의 성격에 기초할 수 있다. 예를 들어, 가상 에이전트가 얼굴 및 몸체를 가진, 인간과 같은 형태로 나타나는 예를 가정해보자. 사용자가 도발적인 또는 비판적인 지적을 하는 경우, 가상 에이전트는 얼굴을 찌푸릴 수 있다. 가상 에이전트는 그가 할 표현이 사용자와 문제를 일으킬 수 있다고 판단하는 경우, 가상 에이전트는 인간이라면 그랬을 것과 같이 아래를 내려다 보거나 꼼지락거리거나 긴장한 것처럼 보일 수 있다.
가상 에이전트의 표현, 감정들, 기분, 몸짓들 및/또는 반응들은 다양한 디바이스들 간의 센서 데이터 및 정보의 공유에 기초할 수 있다. 예를 들어, 각각의 디바이스는 사용자와의 상호작용들에 대한 히스토리(예를 들어, 냉장고는 최근의 음식 구매 또는 소비 패턴들에 대한 정보를 저장할 수 있고, 스마트 폰은 누가 전화했었는지에 대한 정보를 저장할 수 있으며, 휴대용 컴퓨터는 시청했던 영화들 또는 검색기록들에 대한 정보를 저장할 수 있다)를 공유할 수 있다. 각각의 디바이스는 또한 사용자 주변의 컨텍스트의 다른 측면들을 감지하는 센서, 카메라 및/또는 마이크를 포함할 수 있다. 디바이스들은 네트워크를 이용하여 이러한 정보를 공유할 수 있고, 가상 에이전트는 사용자에 대한 응답을 만들어내기 위해 공유된 모든 정보를 고려할 수 있다. 가상 에이전트의 다양한 실시예에서, 가상 에이전트의 성격 및 감정, 컨텍스트의 감지 및 에이전트 응답들/행동들의 스케줄링은 하기에서 더욱 자세하게 설명될 것이다.
명세서 전체에서 “가상 에이전트”라는 용어는 사람, 성격, 존재 또는 개체의 시뮬레이션을 생성, 동작, 제어 및 디스플레이하기에 적합한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 일 실시예에서 설명된 것과 같이, 가상 에이전트는 가상 에이전트 모델을 포함하고, 가상 에이전트 모델에 의해 표현될 수 있다.
명세서 전체에서 “가상 에이전트 모델”이라는 용어는 가상 에이전트를 나타내는 임의의 가시적인 모델 또는 형태를 포함할 수 있다. 일 실시예에서, 가상 에이전트 모델은 가상 에이전트의 이미지를 생성하기 위해 렌더링된 3차원 모델일 수 있지만, 또한 2차원 모델일 수 있다. 가상 에이전트 모델은 임의의 적절한 형태, 예를 들어, 얼굴, 인간의 신체, 동물 등일 수 있다. 가상 에이전트 모델은 임의의 적절한 디스플레이 또는 투사 기술, 예를 들어, 가상 현실 디바이스, 디스플레이 스크린, 태블릿 또는 스마트 폰의 스크린 등을 이용하여 디스플레이될 수 있다. 일 실시예에서, 가상 에이전트 모델은 물리적이고, 유형의(tangible) 형태, 예를 들어 로봇에 의해 대체되거나 보충될 수 있다. 일반적으로, 가상 에이전트 모델은 몸짓들 또는 움직임들을 수행하기 위해 움직이거나 애니메이팅(animating)할 수 있다.
명세서 전체에서 “에이전트 성격(agent personality)”이라는 용어는 가상 에이전트의 성격을 시뮬레이션하도록 하는 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 임의의 적절한 성격 모델이 이용될 수 있다. 일 실시예에서, 예를 들어, 에이전트 성격은 각각이 다른 성격 특성 또는 특징, 예를 들어, 개방성, 성실성, 외향성, 상냥함, 신경증적 성질 등을 나타내는 하나 이상의 성격 요소들을 포함할 수 있다. 다양한 실시예에서, 각각의 성격 요소는 이러한 특성/특징의 강도를 나타내는 성격 파라미터와 연관될 수 있다. 예를 들어, 에이전트 성격의 예시는 0부터 1의 스케일(scale) 에서 0.8의 파라미터를 가진 외향성 요소 (성격 요소)를 포함할 수 있고, 이는 가상 에이전트가 매우 외향적인 성격을 시뮬레이션한다는 것을 나타낼 수 있다. (일 실시예에서, 0은 성격 특성의 완전한 부재를 나타내는 반면, 1은 성격 특성의 가능한 가장 높은 양을 나타낸다.)
명세서 전체에서 “에이전트 감정(agent emotion)”이라는 용어는 가상 에이전트를 위한 감정적인 상태를 시뮬레이션하도록 하는 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 임의의 적절한 감정 모델은 이용될 수 있다. 일 실시예에서, 예를 들어, 에이전트 감정은 각각이 다른 감정 특성 또는 특징, 예를 들어, 긍정적인 활성화, 부정적인 활성화, 기쁨, 흥분, 우월감, 분노, 혐오감, 공포, 행복, 슬픔, 놀라움 등을 나타내는 하나 이상의 감정 요소들을 포함할 수 있다. 다양한 실시예에서, 각각의 감정 요소는 이러한 특성/특징의 강도를 나타내는 감정 파라미터와 연관될 수 있다. 예를 들어, 에이전트 감정의 예시는 0부터 1의 스케일에서 0.8의 파라미터를 가지는 행복 요소 (감정 요소)를 포함할 수 있고, 이는 가상 에이전트가 매우 행복함을 시뮬레이션해야 한다는 것을 나타낼 수 있다. (0은 감정 특성의 완전한 부재를 나타내는데 반해, 1은 감정 특성의 가능한 가장 높은 양을 나타낸다.)
명세서 전체에서 “에이전트 기분(agent mood)”이라는 용어는 가상 에이전트를 위한 기분을 시뮬레이션하도록 하는 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 임의의 적절한 기분 모델은 이용될 수 있다. 일 실시예에서, 예를 들어, 에이전트 기분은 각각이 다른 기분 특성 또는 특징, 예를 들어, 집중, 기분 좋음, 편안함 등을 나타내는 하나 이상의 기분 요소들을 포함할 수 있다. 다양한 실시예에서, 각각의 기분 요소들은 이러한 특성/특징의 강도를 나타내는 기분 파라미터를 포함할 수 있다. 예를 들어, 에이전트 기분은 0부터 1까지의 스케일에서 0.8의 파라미터를 가지는 기분 좋음 (기분 요소)을 포함할 수 있고, 이는 가상 에이전트가 매우 기분 좋음을 시뮬레이션해야 한다는 것을 나타낼 수 있다. (0의 기분 특성의 완전한 부재를 나타내는 반면, 1은 기분 특성의 가능한 가장 높은 양을 나타낸다.)
에이전트 감정 또는 에이전트 기분은 모든 가상 에이전트에 요구되지 않을 수 있다. 에이전트 성격, 감정 또는 기분은 또한 서로 관련되고 의존적일 수 있고, 서로 관련되거나 의존적일 수 있다. 일 실시예에서, 예를 들어, 에이전트 성격은 변하지 않고 단지 사용자에 의해 구체적이고 직접적으로 조정되었을 때만 변할 수 있으며, 에이전트의 성격은 변하지 않거나 사용자에 의해 구체적이고 직접적으로 조정되었을 때만 변할 수 있다. 다양한 실시예에서, 에이전트 감정은 에이전트 기분보다 더욱 급격하게 변할 수 있다.
이에 더하여, 에이전트 기분의 변화들은 에이전트 감정에 어느 정도 기초할 수 있다. 일 실시예에서는, 예를 들어, 에이전트 기분은 에이전트 감정의 이동 평균에 적어도 일부는 기초할 수 있다. (다르게 말하면, 다양한 실시예에서, 에이전트 기분의 요소 파라미터들의 하나, 일부 또는 전부는 에이전트 감정의 요소 파라미터들의 하나, 일부 또는 전부의 이동 평균에 기초한다는 것을 의미한다.) 이동 평균은 기 설정된 시간의 기간에 걸쳐 계산될 수 있다. 따라서, 특정한 사용자 동작에 대한 응답으로 에이전트 감정이 급격하게 변하더라도, 에이전트 기분은 동일한 동작에 대한 응답으로 덜 급격하게 변하는 경향이 있을 수 있다.
명세서 전체에서 “행동(behavior)”이라는 용어는 가상 에이전트에서 임의의 식별할 수 있는 변화, 즉 가상 에이전트 모델의 시각적인 변화 또는 오디오 변화를 포함할 수 있다. (예를 들어, 시뮬레이션된 대화 또는 소리의 생성) 다양한 실시예에서, 에이전트 행동은 가상 에이전트 모델에 의해 수행되는 몸짓들 및 표정들, 예를 들어, 얼굴 찌푸리기, 눈 깜박이기, 웃기, 말할 때 입술의 움직임 등을 포함할 수 있다. 행동은 또한 말하는 동작, 예를 들어, 가상 에이전트가 음성 녹음 또는 오디오 파일을 재생하여 말해진 단어들을 생성함으로써 대화를 시뮬레이션하는 것을 포함할 수 있다. 일부 행동들은 오디오 및 시각적 요소를 모두 포함할 수 있다. 예를 들어, 모델의 입술의 움직임은 가상 에이전트 디바이스 (104)에서 스피커로부터 나오는 대화소리와 동기화될 수 있다.
다양한 실시예에서, 각각의 행동은 하나 이상의 파라미터들을 포함하거나 하나 이상의 파라미터와 연관될 수 있다 (필요사항은 아니지만). 각각의 파라미터는 행동의 대응하는 특성/특징의 강도, 세기, 정도 또는 양을 나타낼 수 있다. 파라미터들은 다양한 다른 특성들/특징들을 나타낼 수 있다. 예를 들어, 행동이 수행되는 속도, 행동의 지속기간, 행동의 정도 (예를 들어, 행동에 수반되는 움직임의 범위) 등을 포함할 수 있지만 이에 제한되지 않는다. 다양한 실시예에서, 파라미터는 숫자, 값, 레벨, 벡터 또는 스케일(예를 들어, 0은 행동의 특성의 최소한의 구현을 나타내고, 1은 특성의 가장 강한 구현을 나타내는 0부터 1까지의 스케일)에 의해 나타날 수 있다. 간단한 예를 들자면, 행동이 가상 에이전트의 웃음이고 0부터 1까지의 파라미터 범위와 연관되어 있다면, 0.1의 파라미터 값은 행동이 입술의 최소한의 움직임을 수반하는 간단한 웃음이라는 것을 의미할 수 있다. 반면, 1의 파라미터 값은 행동이 입술의 훨씬 더 큰 움직임을 수반하는 오래 지속되는 웃음이라는 것을 의미할 수 있다.
명세서 전체에서 “인터랙션 컨텍스트 (interaction context)”라는 용어는 사용자 주위에 있는 환경, 물체 또는 개체에 대한 임의의 감지되거나 탐지된 특성, 조건 또는 파라미터를 포함할 수 있다. 인터랙션 컨텍스트는 하기에서 정의할 의사소통 컨텍스트, 대상 정보, 상황 정보 및/또는 인물 정보를 포함할 수 있지만 이에 제한되지 않는다. 다양한 실시예에서, 인터랙션 컨텍스트는 센서 데이터, 예를 들어, 사용자, 다른 사람 및/또는 사용자의 환경을 캡처한 비디오 또는 이미지들과 같은 시각적인 데이터, 사용자의 캡처된 대화와 같은 오디오 데이터 등의 분석을 통해 획득될 수 있다.
명세서 전체에서 “의사소통 컨텍스트(communication context)”라는 용어는 들을 수 있는 대화의 임의의 특성, 패턴 또는 특징을 포함할 수 있다. 예를 들어, 그러한 대화는 가상 에이전트의 사용자 또는 주변의 다른 사람들에 의해 말해진 것일 수 있다. 의사소통 컨텍스트는 표면 문자(surface text), 의미(semantics), 일반적인 대화 행동/경향 (예를 들어, 동의, 반대, 질문, 통지, 제안, 경고, 승낙, 비판, 확인 등), 기능적 대화 단위들 (예를 들어, 긍정(affirmation), 대조, 계량화(quantification), 강조 등) 및 행동 암시들 (예를 들어, 단어 강세(word stress), 음소 선택(phoneme timing) 등)을 포함하는 임의의 대화의 특징 또는 특성을 포함할 수 있다.
명세서 전체에서 “대상 정보(target information)”라는 용어는 가상 에이전트, 가상 에이전트 디바이스 (예를 들어, 도 1의 디바이스들 (104)) 및/또는 사용자 주변의 물체의 임의의 특성들을 포함할 수 있다. 사람, 의자, 테이블, 차량, 컴퓨터 등을 포함하는 임의의 적절한 물체가 대상 컨텍스트의 일부가 될 수 있다. 대상 정보는 그것의 위치와 같은 물체의 임의의 특성을 포함할 수 있다.
명세서 전체에서 “인물 정보(people information)”라는 용어는 가상 에이전트 디바이스 주변에서 감지된 하나 이상의 사람들의 임의의 특성들, 특징들 및/또는 버릇들을 포함할 수 있다. 인물 정보는 사람의 신원 (예를 들어, 그들의 이름 및 그들에 관련된 임의의 알려진 히스토리), 사람의 물리적 위치, 응시 정보, 시선위치 추적, 그 사람의 감지된 표정, 그 사람의 감지된 몸짓, 이미지에 기반한 자세 및 몸짓 분석, 목소리 톤/강세, 대화 정보, 그 사람의 감지된 감정 또는 기분 등을 포함할 수 있지만 이에 제한되지 않는다.
명세서 전체에서 “에이전트 상태(agent state)”라는 용어는 에이전트의 (현재의) 활동, 감정, 기분 및/또는 성격을 포함할 수 있다. 에이전트 활동은 가상 에이전트 모델 및/또는 가상 에이전트가 시뮬레이션하거나 수행하고 있는 활동 또는 행동을 의미한다. 예를 들어, 가상 에이전트가 “생각하고” (예를 들어, 센서 데이터 또는 인터랙션 컨텍스트 데이터를 처리하고) 있거나” “말을 하고” (예를 들어, 가상 에이전트에서 대화를 시뮬레이션하는 합성된 음성 표현을 재생하고) 있거나 “듣고” (예를 들어, 에이전트는 말하지 않고 사용자의 음성 데이터를 캡처하고) 있을 수 있다. 다양한 실시예에서, 에이전트 상태는 또한 에이전트 감정, 성격 및/또는 기분의 (현재의) 상태를 포함할 수 있다. 일 실시예에서, 에이전트 상태는 과거 행동들, 활동들 또는 작동들의 히스토리를 포함할 수 있다.
도 2를 참조하여, 일 실시예에 따른 가상 에이전트를 동작시키는 가상 에이전트 시스템 (200)이 설명될 것이다. 시스템 (200)은 가상 에이전트 디바이스 (104) 및 서버 (110)을 포함할 수 있다. 일 실시예에서, 시스템 (200)은 본원에서 간단하게 가상 에이전트로 참조될 수 있다. 가상 에이전트 디바이스 (104) 및 서버 (110)는 도 1에 나타나는 디바이스 및 서버일 수 있다.
가상 에이전트 디바이스 (104)는 가상 에이전트의 하나 이상의 기능들을 제공할 수 있는 임의의 적절한 컴퓨팅 디바이스(computing device)일 수 있다. 예를 들어, 가상 에이전트는 스마트 폰, 스마트 글래스, 가상 현실 디바이스/고글, 냉장고, 가전제품, 휴대용 컴퓨터, 컴퓨터, 태블릿 등을 포함하는 임의의 적절한 컴퓨팅 디바이스일 수 있지만 이에 제한되지 않는다. 디바이스는 도 1 또는 도 7에 나타나는 디바이스 (104)의 특징들 중 어떤 특징이라도 포함할 수 있다. 일 실시예에서, 가상 에이전트 디바이스 (104)는 가상 에이전트의 모델을 디스플레이 및 애니메이트(animate)하기 위한 디스플레이 스크린/기술을 포함할 수 있다.
일 실시예에서, 가상 에이전트 디바이스 (104)는 마이크, 카메라 및 하나 이상의 다른 유형의 센서들을 포함할 수 있다. 임의의 센서 유형은 예를 들어, 광 센서, 모션(motion) 센서, 온도 센서, 습도 센서 등을 이용할 수 있다. 마이크는 오디오 데이터(예를 들어, 사용자의 음성, 음악 또는 배경에서 들리는 소리들)를 감지, 획득 및/또는 캡처하기 위해 이용될 수 있다. 카메라는 임의의 적절한 시각적인 데이터, 다시 말하면, 가상 에이전트 디바이스 주변의 환경(environment), 물체들 또는 사람들의 비디오 및/또는 이미지들을 획득하기 위해 이용될 수 있다. 마이크, 카메라 및 센서들은 오디오, 시각 및 다른 유형의 감지된 데이터(본원에서는 포괄하여 센서 데이터로 칭함)를 수집하고 센서 데이터를 디바이스의 모듈들에 제공할 수 있다.
디바이스 (104)는 센서 분석 모듈 (205), 성격/감정/기분 모듈 (210) (Personality/Emotion/Mood module: PEM 모듈), 행동 플래너(planner) 모듈 (215) 및 렌더링 모듈 (220)을 포함하는 복수의 모듈들을 포함할 수 있다. 다양한 실시예들에서, 각각의 모듈은 아래에서 설명될, 각각의 기능들을 수행하는 데 필요한 임의의 적절한 하드웨어 또는 소프트웨어를 포함할 수 있다.
센서 분석 모듈 (205)는 마이크, 카메라 및/또는 다른 센서들로부터 수신된 센서 데이터를 획득 및 분석하기 위한 임의의 적절한 하드웨어 또는 소프트웨어이다. 다양한 실시예들에서, 모듈 (205)는 일 실시예에서 서버 (110)에 위치한(가상 에이전트 디바이스 (104)와 같은 다른 디바이스에 위치할 수도 있지만), 컨텍스트 분석 모듈 (225)과 데이터를 분석하는 작업을 공유할 수 있다. 일부 조건들 하에서, 서버 (110)로 추가 처리를 위해 전송되기 전에 오디오/시각/센서 데이터의 전 처리가 이루어지는 것이 바람직할 수 있다.
센서 데이터는 다양한 방법들로 분석 및 처리될 수 있다. 예를 들어, 카메라가 가상 에이전트를 보고 웃고 있는 사용자의 이미지들 또는 비디오를 캡처한 예시를 가정해보자. 분석을 위해 서버 (110)로 전체 비디오를 전송하는 것 대신에, 디바이스 (104)는 비디오 데이터를 분석 및 처리할 수 있다. 일 실시예에서는, 예를 들어, 센서 분석 모듈 (205)은 사용자의 얼굴에서 특징 점들, 즉 얼굴의 표정들이 변할 때 다른 방식으로 움직이는 얼굴에 있는 특징 점들을 식별할 수 있다. 이러한 특징 점들의 예시들로는 입가에 있는 특징 점들 또는 눈썹에 있는 특징 점을 포함할 수 있다. 일 실시예에서, 센서 분석 모듈 (205)는 비디오를 분석하여 사용자가 웃을 때 움직이는 하나 이상의 특징 점들이 얼마나 많은지 결정하고, 서버 (110)로 (예를 들어, 컨텍스트 분석 모듈 (225)로) 특징 점 움직임을 나타내는 데이터를 전송할 수 있다. 이러한 접근은 일반적으로 비디오/이미지들이 그대로 전송되는 것보다 적은 대역폭을 소모할 수 있다. 임의의 적절한 유형의 시각/오디오/센서 데이터의 전 처리는 센서 분석 모듈 (205)에서 일어날 수 있다. 선택적으로, 처리의 상당부분 또는 전부는 원격의 서버 (110)에서 (예를 들어, 컨텍스트 분석 모듈 (225)에서) 대신 일어날 수도 있다.
PEM 모듈 (210)은 에이전트 성격, 기분 및 감정을 저장 및 업데이트하기 위한 임의의 하드웨어 또는 소프트웨어일 수 있다. 일 실시예에서는, 예를 들어, 가상 에이전트 시스템 (200)은 센서 분석 모듈 (205), 컨텍스트 분석 모듈 (225), 음성을 텍스트로 변환(speech to text)하는 텍스트 변환 모듈(230), 마이크, 카메라 및/또는 다른 센서들을 이용하여 특정한 사건, 특징, 특성 또는 태도(예를 들어, 사용자의 웃음, 사용자로부터 기분 좋은 대화, 비판, 사용자들 중 일부에 대한 부정적인 태도, 다른 시각적 또는 감지된 사건들 또는 조건들, 인터랙션 컨텍스트 등)를 감지할 수 있다. 이러한 피드백에 기초하여, PEM 모듈 (210)은 기분 및/또는 감정을 업데이트할 수 있다.
다양한 실시예에서, 성격은 인터랙션 컨텍스트 또는 사건들에 기초하여 업데이트되지 않을 수 있지만, 다른 실시예들에서는 반복되는 사건들이 시간에 걸쳐 점진적으로 성격을 조정할 수도 있다. 예를 들면, 일부 응용에서는, 성격은 가상 에이전트/가상 에이전트 모델과 상호작용하는 사용자에 의해 설정될 수 있다. 다른 응용들에서는, 성격은 기본값에 의해 설정 또는 기 설정될 수 있다. 성격은 또한 알려진 캐릭터/사람(예를 들어, 알려진 엔터테인먼트 캐릭터, 유명한 역사적인 캐릭터, 잘 알려진 가상의 캐릭터 등)을 모방하도록 조정될 수 있다. 성격은 또한 가상 에이전트가 제공하는 서비스의 유형 또는 본질에 기초할 수 있다. 다양한 실시예들에서, 성격은 사용자가 가상 에이전트와 상호작용하는 방식에 있어서의 변화에 기초하여 조정될 수 있다. 예를 들어, 성격은 사용자의 선호들에 맞추어 조정될 수 있다. 다른 실시예들에서는, 성격은 특정한 어플리케이션에 의해 프로그래밍적으로(programmatically) 선택될 수 있다. 예를 들어, 특정한 트레이닝/교육 어플리케이션은 다른 사회적인 상호작용 시나리오들을 어떻게 처리할지에 관해 사용자를 교육하기 위해 성격을 조정할 수 있다. 이에 더하여, 다양한 실시예에서는, 성격은 컨텍스트(예를 들어, 인터랙션 컨텍스트)에 기초하여 즉각적으로 조정될 수 있다. PEM 모듈에 의해 수행되는 작동들의 일부 예시는 도 3에 나타나는 방법과 결합하여 아래에 설명될 것이다.
행동 플래너 모듈 (215)는 하나 이상의 행동들을 선택, 스케줄 및 수행하도록 하기 위한 임의의 하드웨어 또는 소프트웨어일 수 있다. 행동들은 가상 에이전트 모델에서 임의의 종류의 시각적인 변화, 표정 또는 몸짓을 포함할 수 있다. 예를 들어, 행동들은 가상 에이전트를 나타내는 얼굴의 모델에서 애니메이트된 어깨 으쓱하기, 웃음, 눈살 찌푸리기 또는 주름이 잡힌 이마를 포함할 수 있다. 행동들은 또한 오디오 정보, 예를 들어, 가상 에이전트에 의해 “말해진” 단어들을 포함할 수 있다. 센서 데이터, 감정, 인터랙션 컨텍스트 및/또는 다른 사건들/조건들에 기초하여 행동 플래너 모듈 (215)는 하나 이상의 행동들을 우선순위를 정하고 선택하며, 우선순위를 정하거나 선택할 수 있다. 선택들은 렌더링 모듈 (220)로 전송되어 가상 에이전트를 이용하여 수행될 수 있다. 행동 플래너 모듈을 위한 예시적인 작동들은 도 4와 결합하여 아래에 설명될 것이다.
렌더링 모듈 (220)은 시각적으로 가상 에이전트를 나타내는 가상 에이전트 모듈을 디스플레이하기 위한 임의의 하드웨어 또는 소프트웨어일 수 있다. 예를 들면, 렌더링 모듈은 가상 에이전트를 나타내는 얼굴, 인간, 아바타(avatar) 또는 다른 캐릭터의 2차원 또는 3차원 모델을 디스플레이할 수 있다. 렌더링 모듈은 또한 가상 에이전트 모델에서 시각적인 변화들 또는 행동들, 예를 들어, 어깨 으쓱하기, 웃음 등을 수행할 수 있다.
렌더링 모듈 (220)은 행동 플래너 모듈로부터 가상 에이전트 모델에서 수행되어야 할 하나 이상의 행동들을 나타내는 행동 데이터를 수신할 수 있다. 행동 데이터는 또한 타이밍 정보, 즉 각각의 행동들이 렌더링되어야 할 시점을 나타내는 정보를 나타낼 수도 있다. 렌더링 모듈은 수신된 행동 데이터에 기초하여 행동들을 렌더링할 수 있다. 가상 에이전트 모델 및 행동들은 임의의 공지된 렌더링 또는 그래픽 기술, 예를 들어, 3D 그래픽 엔진, 비디오 디스플레이 스크린, 가상 현실 디스플레이 기술, 그래픽 처리 유닛(GPU) 등을 이용하여 렌더링될 수 있다.
가상 에이전트 디바이스 (110)는 네트워크 (108)를 통해 서버 (110)와 연결될 수 있다. 위에서 언급한 것과 같이, 센서 데이터는 가상 에이전트 디바이스 (104)에 수신될 수 있다 (예를 들어, 마이크, 카메라, 센서들을 통해). 센서 분석 모듈은 센서 데이터의 일부를 처리할 수 있다 (예를 들어, 센서 분석 모듈 (205)에서). 이 후, 가상 에이전트 디바이스 (104)는 센서 데이터를 네트워크 (108)를 통해 서버 (110)로 전송할 수 있다.
다양한 실시예들에서, 서버 (110)는 가상 에이전트 디바이스에 대한 처리 부담을 감소시키기 위해 다양한 데이터 처리 작업들을 수행할 수 있다. 이에 더하여, 서버 (110)는 가상 에이전트에 저장된 데이터 및/또는 모듈들의 복사본들을 저장하여 다른 디바이스들이 서버 (110)와 연결하여 가상 에이전트 데이터에 접근하도록 할 수 있다. 하지만, 서버 (110)에 의해 수행되는 작동들 중 어떠한 것이라도 가상 에이전트 디바이스 (104)에서 대신 수행될 수 있다 (반대로도 그렇다). 일 실시예에서, 서버 (110)는 컨텍스트 분석 모듈 (225), 텍스트 변환 모듈 (230), 자연 언어 프로세서 (Natural Language Processor: NLP)/대화 생성 모듈 (235) 및 텍스트를 음성으로 변환하는 음성 변환 모듈 (240)을 포함할 수 있다.
컨텍스트 분석 모듈 (225)은 가상 에이전트 디바이스 (104)로부터 (예를 들어, 센서 분석 모듈 (205)로부터) 수신된 센서 데이터를 분석할 수 있다. 분석에 기초하여, 모듈 (225)은 가상 에이전트가 미래에 행동 또는 동작하는 방식에 영향을 미칠 수 있는 특징들, 패턴들, 경향들 또는 특성들을 결정할 수 있다. 다르게 말하면, 컨텍스트 분석 모듈 (225)은 센서 데이터를 이용하여 아래에서 정의할 의사소통 컨텍스트, 상황 정보, 대상 정보 및 인물 정보 중 하나 이상을 포함하는 인터랙션 컨텍스트를 결정할 수 있다.
사용자가 그의 침실에서 가상 에이전트에게 말하고 있는 예시를 가정해보자. 카메라는 사용자가 말하고 있는 동안 사용자의 표정 및 주변환경의 비디오/이미지를 획득할 수 있다. 마이크는 사용자의 단어들 및 대화를 획득할 수 있다. 다양한 다른 센서들은 방 안의 온도 또는 광 레벨, 또는 사용자 주변의 환경에 대한 다른 특징들을 감지할 수 있다. 가상 에이전트 디바이스 (104)는 컨텍스트 분석 모듈 (225)에 의해 처리가 이루어지는 서버 (110)로 이러한 센서 데이터를 전송할 수 있다.
컨텍스트 분석 모듈 (225)은 임의의 적절한 기술 또는 기법을 이용하여 특징들 또는 특성들(예를 들어, 인터랙션 컨텍스트)을 식별할 수 있다. 일 실시예에서는, 예를 들어, 컨텍스트 분석 모듈은 사용자의 얼굴 움직임들, 응시 및 표정들의 변화들을 결정하기 위해 얼굴의 비디오 또는 이미지들을 분석할 수 있다. 감지된 움직임들에 기초하여, 모듈 (225)은 사용자의 기분 또는 감정을 결정할 수 있다. 예를 들어, 컨텍스트 분석 모듈 (225)은 또한 주변 환경의 이미지들, 예를 들어, 침실을 나타내는 침대, 주방을 나타내는 싱크대 또는 냉장고에 기초하여 사용자가 어디에 있는지를 식별할 수 있다. 일 실시예에서는, 컨텍스트 분석 모듈 (225)은 센서 데이터에서 하나 이상의 특징들, 특성들 및 조건들, 예를 들어, 사용자가 슬픔, 사용자가 행복함, 사용자가 있는 곳의 온도가 추움, 사용자는 침실, 학교 또는 주방에 있음, 사용자는 친구들과 있거나 혼자 있음 등을 추출할 수 있다. 이 후, 컨텍스트 분석 모듈 (225)은 결정된 특징들, 특성들 및 조건들(즉, 인터랙션 컨텍스트)을 가상 에이전트 디바이스 (104) (예를 들어, 행동 플래너 모듈 (215) 및 PEM 모듈 (210)), NLP/대화 모듈 (235) 및/또는 다른 모듈들/디바이스들로 적절히 전송할 수 있다.
일 실시예에서, 컨텍스트 분석 모듈 (225)은 임의의 대화 관련 데이터(예를 들어, 마이크에 의해 캡처된 음성 데이터)를 텍스트 변환 모듈 (230)로 전송할 수 있다. 텍스트 변환 모듈 (230)은 음성을 텍스트로 변환하여 손쉽게 분석 및/또는 해석될 수 있도록 할 수 있다. 텍스트 변환 모듈 (230)은 텍스트를 NLP/대화 생성 모듈 (235)로 전송할 수 있다. 일 실시예에서, 텍스트 변환 모듈 (230)은 컨텍스트 분석 모듈 (225)에 포함될 수 있다.
NLP/대화 생성 모듈 (235)은 후에 가상 에이전트에 의해 말해질 스크립트를 생성할 수 있다. 스크립트는 센서 데이터, 인터랙션 컨텍스트(예를 들어, 컨텍스트 분석 모듈 (225)에 의해 결정된) 및/또는 감지된 대화(예를 들어, 텍스트 변환 모듈 (230)에 의해 결정된)에 기초할 수 있다. 다르게 말하면, NLP/대화 생성 모듈 (235)는 가상 에이전트에 의해 감지된 사건들 또는 조건들에 응답하여 가상 에이전트가 무엇을 말할지를 나타내는 스크립트를 생성할 수 있다. 간단한 예를 들면, 가상 에이전트가 시각적인 분석을 통해 사용자가 슬프다는 것을 감지하고, 더 나아가 사용자에 의해 말해진 사용자가 걱정하고 있다는 것을 나타내는 단어들을 “듣는”다면, NLP/대화 생성 모듈 (235)는 “기분 괜찮으신가요? 무슨 일 있으신 것 같아요.”와 같은, 적절한 스크립트를 생성할 수 있다.
NLP/대화 생성 모듈 (235)는 스크립트를 음성 변환 모듈 (240)로 전송할 수 있다. 음성 변환 모듈 (240)은 스크립트를 오디오 메시지/소리들, 예를 들어, 시뮬레이션된 음성 또는 음성 녹음으로 변환할 수 있다. 단어들은 임의의 적절한 오디오 데이터 포맷으로 저장될 수 있다. NLP/대화 생성 모듈 (235)은 대화를 수행하기 위한 임의의 적절한 텍스트를 음성으로 변환하는 기술을 이용할 수 있다. 다양한 실시예들에서, 모듈 (235)은 인터랙션 컨텍스트에 기초하여 대화 특성들 또는 설정들 (예를 들어, 강조, 강세, 대화 속도, 말끝 흐리기, 명료성 등)을 조정할 수 있다.
음성 변환 모듈 (240)은 전술한 오디오 데이터를 행동 플래너 모듈 (215)로 전송할 수 있다. 행동 플래너 모듈은 또한 컨텍스트 분석 모듈 (225)로부터 부가적인 인터랙션 컨텍스트 데이터를 수신할 수 있다. 이에 더하여, 행동 플래너 모듈 (215)은 PEM 모듈 (210)에 저장된 데이터에 접근할 수 있다. 수신된/접근된 데이터에 기초하여, 행동 플래너 모듈 (215)은 가상 에이전트 모델에서 적절한 시각적인 변화들을 렌더링할 수 있다. 예를 들어, 행동 플래너 모듈 (215)이 NLP/대화 생성 모듈 (235)로부터 대화 데이터를 수신하면, 모듈 (215)은 가상 에이전트 모델의 입술이 말해진 대화와 동시에 움직이도록 할 수 있다. 다른 예를 들면, 컨텍스트 분석 모듈 (225)로부터 수신된 인터랙션 컨텍스트 데이터가 사용자가 특정한 기분 또는 감정적인 상태(예를 들어, 긴장, 행복, 슬픔 등)를 가진다는 것을 나타내면, 행동 플래너 모듈 (215)은 그러한 감정들과 연관된 행동들(예를 들어, 눈의 긴장된 깜빡임, 웃음, 눈살 찌푸리기 등)을 스케줄할 수 있다.
다음으로 도 3을 참조하여, 일 실시예에 따른 가상 에이전트를 동작시키는 방법이 설명될 것이다. 방법은 도 2에 나타나는 가상 에이전트 시스템 (200)을 이용하여 수행될 수 있다.
먼저 단계 305에서, 가상 에이전트 디바이스 (104)는 센서 데이터를 획득할 수 있다. 이는 임의의 적절한 방식으로 수행될 수 있다. 일 실시예에서는, 예를 들어, 가상 에이전트 디바이스 (104)는 카메라, 마이크 또는 다른 유형의 센서들과 같은, 다양한 센서들을 포함할 수 있다. 디바이스는 시각적인 데이터(예를 들어, 비디오 또는 이미지들), 오디오 데이터(예를 들어, 음성 녹음들, 녹음된 소리 등) 및 임의의 다른 적절한 센서 데이터(예를 들어, 광 레벨, 움직임, RF 신호 등과 같은, 주변 환경에서 감지된 임의의 파라미터, 조건 또는 특성)를 획득할 수 있다.
일 실시예에서 하나의 가상 에이전트 디바이스를 포함하더라도, 센서 데이터는 복수의 디바이스들에 의해 동시에 수집될 수 있고, 수집된 데이터는 네트워크 (108)를 통해 공유되거나 특정한 디바이스 (104) 및/또는 서버 (110)에게 전송될 수 있다. 사용자가 거실에 있고 스마트 폰을 통해 디스플레이되는 가상 에이전트와 상호작용하고 있는 예시를 가정해보자. 카메라 및 마이크를 포함하는 텔레비전은 또한 거실에 있을 수 있다. 텔레비전과 스마트 폰은 모두 사용자 주변 지역에 있는 센서 데이터를 수집할 수 있다. 예를 들어, 텔레비전은 스마트 폰과 다른 관점 및 시야를 가질 수 있고, 따라서 다른 물체들 및 배경들의 이미지들을 캡처할 수 있다. 디바이스들에 의해 수집된 센서 데이터는 공유되고(예를 들어, 네트워크 (108)를 통해 스마트폰 또는 텔레비전이 될 수 있는, 주된 가상 에이전트 디바이스로 전송되고) 아래에서 설명할 것과 같이 추가적인 처리를 위해 서버 (110)에 전송될 수 있으며, 공유되거나 추가적인 처리를 위해 서버 (110)에 전송될 수 있다.
단계 310에서, 가상 에이전트 디바이스 (104)는 센서 데이터를 서버 (110)로 전송할 수 있다. 더 구체적으로, 일 실시예에서, 가상 에이전트 디바이스 (104)는 센서 데이터를 추가적인 처리를 위해 컨텍스트 분석 모듈 (225)로 전송할 수 있다. (이 단계는 선택적일 수 있다. 예를 들어, 다양한 실시예들에서는 서버가 없고 컨텍스트 분석 모듈 (225)이 가상 에이전트 디바이스 (104)에 있을 수 있으며, 서버가 없거나 컨텍스트 분석 모듈 (225)이 가상 에이전트 디바이스 (104)에 있을 수 있다. 따라서, 센서 데이터는 반드시 전술한 것과 같이 전송될 필요가 없다.) 앞서 언급한 바와 같이, 가상 에이전트 디바이스 (104)는 전송하기 전에 센서 데이터의 일부를 전 처리(예를 들어, 센서 분석 모듈 (205)을 이용하여)할 수 있다.
단계 315에서, 서버 (110) 또는 가상 에이전트 디바이스(104)는 (예를 들어, 컨텍스트 분석 모듈 (225)) 센서 데이터의 분석에 기초하여 인터랙션 컨텍스트를 획득할 수 있다. 본원의 정의 부분에서 언급한 것과 같이, 인터랙션 컨텍스트는 의사소통 컨텍스트, 대상 정보, 상황 정보 및 인물 정보를 포함하는 다양한 유형의 정보를 포함할 수 있지만, 이에 제한되지 않는다. 이러한 유형의 정보들 각각을 획득하기 위한 예시적인 작동들이 아래에서 설명될 것이다.
다양한 실시예들에서, 서버는 대상 정보를 획득할 수 있다. 즉, 컨텍스트 분석 모듈 (225)은 사용자 주위의 물체들을 식별하기 위해 센서 데이터(예를 들어, 카메라에 의해 캡처된 이미지 및 비디오 데이터)를 분석할 수 있다. 모듈 (225)은 물체들의 본질 및 위치를 결정할 수 있다. 가상 에이전트 디바이스 (104)에 있는 카메라가 사용자 및 그의 주변의 비디오 또는 이미지들을 캡처하고 있는 예시를 가정해보자. 이러한 데이터의 분석에 기초하여, 컨텍스트 분석 모듈 (225)은 사용자의 이름이 조셉 스미스이고, 서버 및/또는 가상 디바이스에 접근할 수 있는 연관된 계정 프로파일을 가지고 있다고 판단할 수 있다. 이에 더하여, 사용자는 의자에 앉아 있고, 소파에서 3피트 내에 있으며, 어떤 종류의 액체가 담긴 컵을 잡고 있다고 판단할 수 있다. 또한, 다른 사람이 조셉 주변에 서있다고 판단할 수 있다.
다양한 실시예들에서, 서버 (110)는 또한 인물 정보를 획득할 수 있다. 즉, 컨텍스트 분석 모듈 (225)은 센서 데이터(예를 들어, 카메라에 의해 캡처된 이미지 및 비디오 데이터)를 분석하고 임의의 감지된 인물의 특성들, 예를 들어, 그들의 신원, 위치, 응시 정보, 대화 정보, 감정 또는 기분을 결정할 수 있다. 사용자 조셉 스미스 및 다른 사람의 이미지들/비디오가 캡처된, 전술한 예시를 생각해보자. 이러한 데이터에 기초하여, 컨텍스트 분석 모듈 (225)은 사용자가 가상 에이전트 모델/가상 에이전트 디바이스를 열중해서 바라보고 있고, 가상 에이전트에게 말하고 있다고 판단할 수 있다. 또한, 다른 사람은 먼 곳을 바라보고 있다는 것을 알 수 있다. 이에 더하여, 사용자의 얼굴의 분석은 사용자가 살며시 미소짓고 있다는 것을 나타낼 수 있고, 따라서 컨텍스트 분석 모듈 (225)은 조셉 스미스가 행복하다고 결정할 수 있다. 움직임들, 안구 회전, 눈꺼풀/눈썹 움직임, 응시, 몸짓들 및 얼굴 표정들을 감지/추적하기 위한 임의의 공지의 기술들 또는 알고리즘들이 인물 정보를 결정하기 위해 이용될 수 있다.
다양한 실시예들에서, 서버 (110)는 또한 상황 정보를 획득할 수 있다. 즉, 컨텍스트 분석 모듈 (225)은 센서 데이터(예를 들어, 마이크에 의해 캡처된 오디오 데이터, 카메라에 의해 캡처된 이미지/비디오 데이터 등)를 분석하고 국지 환경(local environment) 또는 상황의 특성들, 예를 들어, 사용자가 실내 또는 실외에 있는지, 그/그녀가 집에 있는지, 거실에 있는지, 쇼핑을 하러 나갔는지, 차에 있는지, 사용자가 현재 무슨 활동을 하고 있는지 등을 결정할 수 있다. 마이크가 주변의 소리들을 수집하고 카메라가 사용자 주변의 환경의 이미지들을 캡처하고 있는 예시를 가정해보자. 소리들의 분석에 기초하여, 컨텍스트 분석 모듈 (225)은 사용자가 정체된 차 안에 있거나 번화가 또는 쇼핑과 같은 실외에 있다고 판단할 수 있다. 이미지들의 분석에 기초하여, 컨텍스트 분석 모듈 (225)은 사용자가 골프를 치고 있거나(이미지들이 사용자가 골프채를 잡고 휘두르고 있다는 것을 나타내기 때문에) 커피를 마시고 있다고(이미지들이 사용자가 알려진 커피 회사의 이름이 표시된 컵으로 마시고 있다는 것을 나타내기 때문에) 판단할 수 있다.
다양한 실시예들에서는, 서버 (110)는 또한 의사소통 컨텍스트를 획득할 수 있다. 즉, 서버 (110)는 (예를 들어, 컨텍스트 분석 모듈 (225), 텍스트 변환 모듈 (230), NLP/대화 생성 모듈 (235)) 센서 데이터(예를 들어, 마이크에 의해 수집된 오디오 데이터)를 분석하여 사용자의 대화 또는 음성의 특성들을 결정할 수 있다. 예를 들면, 사용자의 목소리는 그것이 특정한 태도 또는 기분(예를 들어, 행복, 슬픔, 동의, 질문 등)을 나타내는지를 결정하기 위해 분석될 수 있다. 이에 더하여, 음성은 억양, 악센트, 강세 및 음소 선택과 같은, 다른 경향들 또는 특성들을 결정하기 위해 분석될 수 있다.
단계 320에서, 서버 (110) 또는 가상 에이전트 디바이스(104)는 에이전트 상태를 결정할 수 있다. 즉, 서버 (110)는 가상 에이전트가 현재 수행하고 있는 활동이 어떤 종류의 것인지 결정할 수 있다. 이에 더하여, 일 실시예들에서는, 서버 (110)는 에이전트의 현재의 기분, 감정 또는 성격을 나타내는 데이터를 획득할 수 있다.
일 실시예에서, 가상 에이전트를 위해 기 설정된 활동의 복수의 가능한 카테고리들이 있을 수 있고, 서버 (110)는 단계 320에서 가상 에이전트의 현재 상태에 대응하는 카테고리가 무엇인지 결정할 수 있다. 가능한 카테고리들은 “생각하다”(예를 들어, 가상 에이전트 디바이스 (104) 또는 서버 (110)는 현재 센서 데이터 또는 다른 데이터를 처리하고 있다), “듣다”(예를 들어, 가상 에이전트 디바이스 (104)는 사용자로부터 음성 데이터를 녹음하고 있고 가상 에이전트 모델은 현재 리스닝 모드에 있다는 것을 나타내는 몸짓 또는 표정을 하고 있으며, 음성 데이터를 녹음하고 있거나 가상 에이전트 모델은 현재 리스닝 모드에 있다는 것을 나타내는 몸짓 또는 표정을 하고 있을 수 있다.) 및 “말하다”(예를 들어, 가상 에이전트 디바이스 (104)는 음성 메시지/녹음을 재생하고 가상 에이전트 모델은 입술 움직임 및/또는 다른 대화의 지표를 시뮬레이션할 수 있으며, 음성 메시지/녹음을 재생하거나 가상 에이전트 모델은 입술 움직임 및/또는 다른 대화의 상징을 시뮬레이션할 수 있다.)를 포함할 수 있지만 이에 제한되지 않는다. 다른 가능한 카테고리는 “빈둥거림”(예를 들어, 가상 에이전트 디바이스 (104) 또는 서버 (110)가 응답해야 할 (높은 우선순위의) 사건들 또는 사용자 동작들이 없음)이 있을 수 있다.
단계 325에서, 서버(110) 또는 가상 에이전트 디바이스(104) (예를 들어, PEM 모듈)는 가상 에이전트의 감정 또는 기분을 업데이트할 수 있다. 다양한 실시예들에서, 업데이트는 인터랙션 컨텍스트(예를 들어, 컨텍스트 분석 모듈 (225) 및/또는 서버(110)에 의해 결정된), 에이전트 상태 및/또는 에이전트의 성격에 기초할 수 있다. 서버 (110)는 주변 환경에서 사용자 동작들, 감지된 물체들 또는 조건들, 인터랙션 컨텍스트, 가상 에이전트의 현재의 활동, 사용자의 표정 또는 몸짓들 등을 포함하는 다양한 변수들에 기초하여 이러한 파라미터들을 조정할 수 있지만 이에 제한되지 않는다.
다양한 기술들 및 알고리즘들은 에이전트 감정을 조정하기 위해 이용될 수 있다. 예를 들어, 특정한 가상 에이전트를 위한 감정 요소들이 놀람, 행복 및 슬픔을 포함하는 예시를 가정해보자. 다양한 실시예에서, 컨텍스트 분석 모듈 (225)이 센서 데이터에 기초하여 사용자가 웃고 있거나 가상 에이전트에 대해 다정한 말을 하고 있다고 판단하면, 슬픔 요소를 위한 슬픔 파라미터는 내려가고 행복 요소를 위한 행복 파라미터는 올라갈 수 있다. 마찬가지로, 컨텍스트 분석 모듈 (225)이 갑작스럽고, 놀라운 사건이 발생했다고 판단하면(예를 들어, 카메라가 사용자가 컵을 떨어뜨려서 깨트리거나 다른 사람이 가상 에이전트 디바이스 (104)의 카메라로 갑자기 달려드는 것을 감지하면), 놀라움 요소는 올라가도록 조정될 수 있다. 서버 (110)는 임의의 유형의 인터랙션 컨텍스트, 사건, 현상 또는 특성을 임의의 적절한 감정 요소의 조정과 연관시킬 수 있다.
일 실시예들은 기분과는 다르게 감정을 조정하는 것을 포함할 수 있다. 다양한 설계에 있어서, 가상 에이전트는 실제 인간의 감정적인 변화를 현실적으로 시뮬레이션하고자 할 수 있다. 즉, 인간은 당면한 사건들에 대해 상당히 빠른 감정적인 반응들을 보인다. 이에 더하여, 인간은 또한 최근의 사건들에 의해 단순하게 형성되지 않고 오히려 오랜 시간의 기간 동안 발생해온 사건들에 의해 형성될 수 있는, 기분에 의해 영향을 받는다. 예를 들어, 사람은 슬픈 또는 실망스러운 사건들에 과거의 지속적인 노출의 결과로, 재밌거나 즐거운 사건들이 그 또는 그녀 주변에서 발생하고 있더라도 슬픈 기분일 수 있다.
비슷한 방식으로, 에이전트 기분은 에이전트 감정과 다른 방식 및/또는 속도로 변할 수 있다. 일 실시예에서는, 예를 들어, 에이전트 기분은 일정 기간 동안 에이전트 감정의 변화들에 기초할 수 있다. 예를 들어, 에이전트 기분은 기 설정된 시간의 기간 동안 하나 이상의 감정 요소들을 위한 파라미터 값의 이동 평균에 기초할 수 있다. 간단한 예를 들자면, 동의(agreement)를 나타내는 기분 요소를 가지는 가상 에이전트를 생각해볼 수 있다. 가상 에이전트는 또한 긍정적인 활성화, 기쁨 및 행복을 나타내는 감정 요소들을 가질 수 있다. 일 실시예에서, 동의 기분 요소의 파라미터 값(예를 들어, 0부터 1까지의 값)은 30분의 기간 동안의 긍정적인 활성화, 기쁨 및 행복 요소들의 파라미터 값들(예를 들어, 각각 또한 0부터 1까지의 값을 가지는)의 평균에 기초할 수 있다. 따라서, 감정 요소들이 극도로 높고 낮은 값 사이에서 급격히 변하더라도, 즉 하루 사이에 급격하게 증가하고 감소하더라도(매우 진정시키는 사건들과 매우 동요시키는 사건들이 반복적으로 발생했다는 것을 의미할 수 있다) 기분 요소는 그렇게 많이 변하지 않고 중간 수준의 파라미터 값을 가지며, 그렇게 많이 변하지 않거나 중간 수준의 파라미터 값을 가질 수 있다.
이에 더하여, 다양한 실시예들에서, 감정 및/또는 기분의 조정들은 에이전트 성격에 기초할 수 있다. 일 실시예에서, 에이전트 성격은 일반적으로 변하지 않거나 아주 천천히 변하는 실제 인간의 실제 성격을 시뮬레이션하도록 의도될 수 있다. 다르게 말하면, 이것은 가상 에이전트가 특정한 유형의 반응들 및 응답들을 일정한 방식으로 하는 성향을 갖게 할 수 있다. 이것은 사용자가 무엇을 요청하든지 간에 항상 논리적으로 반응하기보다는 특정한 경향성 또는 성향을 가지는 것처럼 보임으로써 가상 에이전트가 더 인간과 같도록 할 수 있다.
다음의 간단한 예시를 생각해보자. PEM 모듈 (210)은 다양한 요소들을 포함하는 성격을 저장할 수 있다. 요소들은 성실성, 외향성, 상냥함 및 신경증적 성질과 같은, 특성들을 나타낼 수 있다. 각각의 요소는 또한 대응하는 특성의 강도를 나타내는 0부터 1가지의 파라미터 값을 가질 수 있다. 따라서, 외향성 값이 1이라면 가상 에이전트는 매우 외향적인 사람과 같이 행동할 경향이 있고, 가상 에이전트가 0의 외향성 값을 가지면 가상 에이전트는 극도로 소심하고 내향적인 방식으로 행동할 것이다.
성격은 가상 에이전트의 감정 및 기분이 사건들 및 조건들에 의해 얼마나 영향을 받는지에 영향을 미칠 수 있다. 예를 들어, 가상 에이전트가 화남을 나타내는 감정 요소를 가진다고 가정해보자. 현재, 낮은 수준을 가지고 있다(예를 들어, 0부터 1까지의 스케일의 파라미터에서 0.1). 가상 에이전트가 “말하고”(즉, 가상 에이전트가 대화를 모방하고 음성 메시지/녹음을 재생하고 있는 것을 나타내는, 에이전트 상태의 카테고리) 있는데, 사용자가 가상 에이전트의 말을 가로막았다고 해보자. 가상 에이전트 성격이 신경증적 성질에 대해 높은 값을 가진 경우(예를 들어, 신경증적 성질 파라미터=1) 감정 요소 (화남)은 급상승(예를 들어, 0.1부터 0.9까지)할 것이다. 하지만, 에이전트 성격이 신경증적 성질에 대해 낮은 값을 가지는 경우(예를 들어, 신경증적 성질 파라미터=0.5) 감정 요소는 단지 아주 약간만이 증가(예를 들어, 0.1부터 0.5까지)할 것이다. 아래에서 설명할 것과 같이, 에이전트 감정에서의 변화들의 차이는 가상 에이전트에 의해 수행되는 행동에 있어서 대응하는 차이들을 만들 수 있다. 예를 들면, 전자의 경우 가상 에이전트 모델은 화난 표정 또는 자세를 보일 수 있지만, 후자의 경우 가상 에이전트 모델은 단지 어깨를 으쓱하거나 눈을 조금 더 빠르게 깜빡거릴 수 있다.
에이전트 성격은 영구적이거나 반영구적이거나 조정 가능할 수 있다. 일 실시예에서는, 예를 들어, 성격은 영구적으로 고정될 수 있다. 다른 실시예에서는, 사용자는 성격을 조정하기 위한 특정 옵션을 가질 수 있다. 즉, 사용자는 특정한 사용자 인터페이스를 이용하여 성격 요소들에 대한 파라미터 값들을 특정하게 설정할 수 있다. 하지만, 에이전트 성격은 여전히 하루하루의 사건들 또는 조건들, 예를 들어 인터랙션 컨텍스트에 기초하여 조정되지 않을 수 있다. 다른 실시예에서, 에이전트 성격은 인터랙션 컨텍스트, 에이전트 감정의 변화들 및/또는 다른 사건들에 의해 영향받을 수 있지만, 시간에 걸쳐 서서히 영향받을 수 있다. 예를 들어, 감정과 같은 방식으로 영향받을 수 있지만 1달, 6개월 또는 1년과 같은, 훨씬 더 오랜 기간에 걸쳐 영향받을 수 있다.
다른 실시예에서는, 에이전트 성격은 에이전트가 제공하는 서비스의 유형 또는 에이전트가 맡은 역할의 유형에 기초하여 기 설정될 수 있다(예를 들어, 호텔 지원 서비스를 시뮬레이션하기 위해 의도된 에이전트의 성격은 가상의 친구 또는 동료의 역할을 하도록 의도된 에이전트의 성격과는 다를 수 있다). 가상 에이전트 및 그의 성격은 PA, 동료, 유명한 역사적인 또는 허구의 캐릭터, 장애인/노약자를 위한 도우미, 가상 현실 가이드, 홈 매니저, 튜터, 아이들을 위한 가이드, 메디컬 에이전트, 서비스 센터 에이전트 등을 포함하는 다양한 역할들/작업들을 위해 맞춰질 수 있지만 이에 제한되지 않는다.
일 실시예에서, 가상 에이전트의 현재의 활동(즉, 에이전트 상태)은 가상 에이전트의 감정, 기분 또는 성격이 특정한 사건들 또는 사용자 동작들에 의해 어떻게 영향받는지에 대해 영향을 미칠 수 있다. 예를 들어, 가상 에이전트가 한창 “말하고” 있을 때, 즉 음성 메시지/녹음이 가상 에이전트의 음성을 시뮬레이션하기 위해 재생되고, 가상 에이전트 모델이 음성 및 입술의 움직임을 모방하는 방식으로 애니메이트되고 있는 에이전트 상태 카테고리인 예시를 가정해보자. 이 때, 사용자가 말해서 가상 에이전트의 말을 가로막는다면, 가상 에이전트의 응답, 기분 또는 감정에 대한 효과들은 가상 에이전트가 “생각하고" 있거나 “듣고” 있을 때 사용자가 말한 것과는 다를 수 있다. 예를 들어, 에이전트 기분 또는 감정은 다른 경우에서 그럴 것보다 더욱 부정적일 수 있고, 에이전트의 언어 반응은 더 큰 불안 또는 짜증을 나타낼 수 있다.
단계 330에서, 서버 (110) 또는 가상 에이전트 디바이스(104) (예를 들어, 행동 플래너 모듈 (215))는 수행할 하나 이상의 행동들을 선택할 수 있다. 선택은 인터랙션 컨텍스트 및 현재의 에이전트 감정을 포함하는 다양한 팩터들에 기초할 수 있지만 이에 제한되지 않는다. 더욱 상세한 예시들은 도 4와 결합하여 아래에서 설명될 것이다.
가상 에이전트는 다양한 다른 행동들을 수행할 수 있다. 행동들은 가상 에이전트 모델의 애니메이션 및/또는 시각적인 외형에 변화를 일으키는 다양한 유형의 동작들을 포함할 수 있다. 행동 유형들 및 행동들의 가능한 유형들의 예시적인 리스트가 도 5에 도시되어 있다. 행동 유형들은 헤드 제스처(head gestures), 얼굴 포즈들(facial poses), 음성 행동, 얼굴 상단의 포즈(upper face pose), 얼굴 하단의 포즈(lower face pose) 등을 포함할 수 있다. 각각의 행동 유형들은 복수 개의 연관된 행동들을 포함할 수 있다. 헤드 제스처 행동 유형은 예를 들어, 가상 에이전트 모델의 머리를 미세하게 왼쪽 또는 오른쪽으로 기울이는 행동을 포함할 수 있다. 리스트는 또한 음성 반응들 및 음성 제스처를 포함할 수 있다. 이러한 유형의 행동들의 예시들은 각각 언어 또는 단어들을 포함하는 가상 에이전트로부터의 말해진 응답, 및 오디오 요소를 포함하지만 언어 또는 단어들을 포함하지 않는 비음성의 응답(예를 들어, 하품하기, 기침하기 등)을 포함할 수 있다. 도 5에 도시된 예시적인 행동들(예를 들어, 웃기, 눈 깜빡이기, 씹기 등)은 일반적으로 가상 에이전트 모델을 애니메이팅하거나 움직임으로써 시뮬레이션되는 동작들일 수 있다. 도 5의 리스트는 예를 들기 위한 것이고, 제한하고자 하는 것이 아니다. 일 실시예에서는, 예를 들어, 리스트에 많은 다양한 행동들, 예를 들어, 가상 에이전트 모델이 머리 모델이 아닌 전신 모델인 경우 걷기, 가리키기, 흔들기, 앉기, 서기 등과 같은 몸체의 움직임들을 포함하는 많은 행동들이 포함될 수 있다.
적절한 행동들은 다양한 방식으로 선택될 수 있다. 일 실시예에서는, 예를 들어, 각각의 행동은 하나 이상의 태그들과 연관될 수 있다. 태그는 행동과 연관되고 행동이 수행되어야 하는지를 결정하기 위한 특성, 용어 또는 개념일 수 있다. 태그 유형들 및 태그들의 예시적인 표가 도 6에 도시되어 있다. 태그 유형들의 일부 예시들은 활동(예를 들어, 에이전트 상태), 환경(예를 들어, 인터랙션 컨텍스트의 특정 특성들), 에이전트 감정(예를 들어, 아마도 연관된 파라미터 요건/임계값을 가지는, 감정 요소), 에이전트 기분(예를 들어, 아마도 연관된 파라미터 요건/임계값을 가지는, 기분 요소) 및 성격(예를 들어, 아마도 연관된 파라미터 요건/임계값을 가지는, 성격 요소)을 포함할 수 있다.
태그들은 어떤 행동들을 수행할지 결정하기 위해 이용될 수 있다. 다양한 실시예들에서, 행동 플래너 모듈은 인터랙션 컨텍스트, 에이전트 상태, 에이전트 감정, 에이전트 기분 및 에이전트 성격을 나타내는 가상 에이전트 데이터(예를 들어, 단계 305-320에서 결정된)를 획득할 수 있다. 이 후, 행동 플래너 모듈은 다양한 행동들의 태그들과 획득된 가상 에이전트 데이터를 매칭시킬 수 있다. 예를 들어, “사용자가 가상 에이전트 디바이스 앞에 위치” (대상 정보), “사용자가 가상 에이전트를 응시”(인물 정보), “가상 에이전트는 듣는 중”(에이전트 상태) 및 “행복을 나타내는 에이전트 감정 요소가 0.5보다 높음”(감정 파라미터 요건을 가지는 에이전트 감정)이라는 태그들과 연관된 “웃다”라는 행동을 가정해보자. 전술한 모든 조건들이 현재의 인터랙션 컨텍스트, 에이전트 상태 및 감정/기분/성격(예를 들어, 도 3의 단계 315-325에서 결정된)에 의해 충족되면, 행동 플래너 모듈 (215)은 매칭되었다고 판단하고, 가상 에이전트 모델에서의 수행을 위해 “웃다”라는 행동을 선택할 것이다.
행동 플래너 모듈 (215)에 의해 수행된 행동들의 선택들은 가상 에이전트 시스템 (200)에 있는 임의의 다른 적절한 모듈로부터의 입력에 기초할 수 있다. 예를 들어, 인터랙션 컨텍스트 데이터는 컨텍스트 분석 모듈 (225)로부터 수신될 수 있고 적절한 행동들을 선택하기 위해 이용될 수 있다. NLP/대화 생성 모듈 (235) 및 음성 변환 모듈 (240)은 말해진 응답이 필요하다는 것을 나타내는 입력을 행동 플래너 모듈에게 제공할 수 있다. 대화의 내용들은 행동의 수행 및 종류에 영향을 미칠 수 있다(예를 들어, 입술은 단어들과 일치하도록 움직여야 하고, 말해진 응답은 가상 에이전트 모델에서의 웃기, 눈의 깜빡임, 머리의 기울임 등과 같은 다른 유형의 몸짓 또는 애니메이션을 트리거하는 특정한 내용을 포함할 수 있다).
행동 플래너 모듈 (215)은 행동이 어떻게 수행되고 행동이 가상 에이전트 모델에서 어떻게 나타날지에 영향을 미치는, 각각의 행동을 위한 하나 이상의 파라미터들을 정의할 수 있다. 예를 들어, 가상 에이전트 모델에서 웃음을 생성하는 것을 포함하는 예시적인 행동을 생각해보자. 이러한 웃기 행동은 차례로 정도 파라미터 및 지속기간 파라미터와 연관될 수 있다. 일 실시예에서, 각각의 파라미터는 0과 1 사이의 값을 가진다. 정도 파라미터는 웃음의 넓이(예를 들어, 0은 무표정, 0.1은 아주 제한되거나 최소의 입술 움직임을 가지는 웃음, 1은 가능한 한 가장 큰 입술/입 움직임을 가지는 함박웃음을 의미함)를 정의할 수 있다. 지속기간 파라미터는 얼마나 오래 웃음을 지속하는지(예를 들어, 0.1은 극도로 짧은 웃음, 1은 아주 오래 지속되는 웃음을 을 의미함)를 나타낼 수 있다. 행동 플래너 모듈은 인터랙션 컨텍스트, 에이전트 상태 또는 감정(예를 들어, 단계 315-325에서 결정된)에 기초하여 특정한 행동의 파라미터들을 결정할 수 있다.
일단 적절한 행동들의 집합이 수행을 위해 선택되면, 서버 (110) 또는 가상 에이전트 디바이스(104)는 선택된 행동들(및 만약에 있다면, 그들의 연관된 파라미터)을 가상 에이전트 디바이스에 있는 렌더링 모듈 (220)로 전송할 수 있다. 단계 335에서, 렌더링 모듈 (220)은 선택된 행동들을 렌더링할 수 있다. 즉, 선택된 행동들이 나타내는 임의의 몸짓, 애니메이션, 움직임 또는 표정은 가상 에이전트 모델에서 수행될 수 있고, 이것은 가상 에이전트 모델을 보고 있는 사용자 또는 누구든지 다른 사람에게 보여질 수 있다. 이에 더하여, 가상 에이전트 디바이스 (104)는 선택된 행동들 중 어느 것(예를 들어, 언어 반응, 기침, 웃음소리, 콧방귀 등)과 연관된 음성 메시지 또는 다른 가청음을 생성할 수 있다. 이러한 소리들은 가상 에이전트 디바이스 (104)에 있는 스피커를 통해 재생될 수 있다.
다음으로 도 4를 참조하여, 일 실시예에 따른 행동들을 선택하고 스케줄링하기 위한 방법(400)이 설명될 것이다. 방법 (400)은 행동 플래너 모듈 (215), 서버 (110) 및/또는 가상 에이전트 디바이스 (104)에 의해 수행될 수 있다. 일 실시예에서, 방법 (400)은 도 3의 단계 330의 일부로서 수행될 수 있다.
단계 405에서, 행동 플래너 모듈 (215)은 존재하는 행동 스케줄을 업데이트 및/또는 현재의/다가오는 프레임을 위한 새로운 행동 스케줄을 생성하기 위한 처리를 할 수 있다. 행동 스케줄은 하나 이상의 프레임들을 위해 하나 이상의 행동들을 수행하기 위한 스케줄로 이해될 수 있다. 행동 스케줄은 각각의 행동이 수행되는 순서 및/또는 각각의 행동들이 얼마나 지속되는지를 나타낼 수 있다.
일 실시예에서, 행동 스케줄은 프레임 단위로 업데이트될 수 있다. 다시 말하면, 방법 (400)은 프레임 단위로 반복될 수 있다. (일 실시예에서, 가상 에이전트 모델은 초당 30, 60 또는 더 많은 프레임들로 디스플레이되고 애니메이트될 수 있다.) 다른 실시예에서, 행동들의 선택 및 스케줄링은 또한 덜 자주 발생할 수 있다(예를 들어, 2, 4 또는 6 프레임마다).
단계 410에서, 행동 플래너 모듈 (215)은 새로운 스케줄이 요구되는지를 결정할 수 있다. 이 결정은 다양한 팩터들에 기초할 수 있다. 예를 들어, 특정한 행동 스케줄이 이미 실행되고 있고, 따라서 다가오는 프레임에 수행될 필요가 있는 행동들이 없는 경우가 있을 수 있다. 한편, 새로운 사건이 발생한 경우, 가상 에이전트가 새로운 사건에 응답할 수 있도록 스케줄이 즉시 업데이트될 필요가 있을 수 있다. 행동 스케줄의 업데이트를 야기시키는 트리거는 예를 들어, 인터랙션 컨텍스트에서 임의의 변화일 수 있다. 새로운 행동 스케줄이 필요하지 않은 경우, 단계 475이 수행될 수 있다. 즉, 존재하는 스케줄은 계속해서 뒤따를 것이다. 행동 스케줄이 업데이트될 필요가 있는 경우, 단계 415이 수행될 수 있다.
단계 415에서, 행동 플래너 모듈 (215)은 행동 스케줄링(scheduling) 및 플래닝(planning)이 이미 진행 중인지를 결정할 수 있다. 즉, 서버 (110) 및/또는 가상 에이전트 디바이스 (104)의 프로세싱 리소스들(processing resources)이 이미 사용되고 있는지를 결정할 수 있다. 이러한 경우, 행동 스케줄의 업데이트는 지연되고 단계 470은 수행될 수 있다. 즉, 행동 플래너 모듈 (215)은 진행중인 처리 작업들 및 행동 스케줄을 종료하고 방법 (400)을 반복할 수 있다. 시스템 리소스들이 스케줄의 업데이트를 위해 이용가능 상태라면, 단계 420은 수행될 수 있다.
단계 420에서, 행동 플래너 모듈 (215)은 기 설정된 행동들의 집합인, 행동 코퍼스(corpus)를 획득하거나 이용할 수 있다. 각각의 행동들은 가상 에이전트/모델에 의해 수행되는 특정한 동작, 예를 들어, 시각적인 변화, 가상 에이전트 모델의 몸짓 또는 표정 및/또는 음성 메시지 또는 응답을 나타낼 수 있다. 도 5에 도시된 것과 같이, 행동 플래너 모듈 (215)은 복수의 가능한 행동들을 별개의 유형들로 배열할 수 있다.
단계 425에서, 행동 플래너 모듈 (215)은 하나 이상의 규칙들을 획득하거나 하나 이상의 규칙들에 접근할 수 있다. 각각의 규칙은 행동들이 언제, 그리고 어떤 조건하에서 수행되어야 하는지를 나타낼 수 있다. 다양한 실시예들에서, 규칙은 트리거, 셀렉터 및/또는 우선순위 지표를 포함하는 임의의 적절한 데이터 또는 데이터 구조일 수 있다. 다양한 실시예들에서, 가상 에이전트가 많은 다른 유형의 상황들에 어떻게 반응하고 응답할지를 기 설정하고 있는, 임의의 수, 예를 들어 수십, 수백 또는 더 많은 수를 가지는 규칙들이 있을 수 있다.
트리거(trigger)는 규칙이 적용되기 위하여 충족되어야 하는 조건을 나타낼 수 있다. 조건은 임의의 적절한 조건들, 사건들 또는 특성들, 예를 들어, 도 3의 단계 315-325에서 결정된 에이전트 감정, 에이전트 기분, 에이전트 성격, 에이전트 상태, 인터랙션 컨텍스트 등을 포함할 수 있다. 예를 들어, 트리거의 예시는 1)가상 에이전트가 “듣는 중” 모드이고(에이전트 상태), 2)가상 에이전트의 행복 요소가 0부터 1까지의 스케일에서 0.5보다 큰 연관된 파라미터 값을 가지며(감정 요소), 3)사용자가 가상 에이전트/가상 에이전트 모델을 직접 응시하며 말하고 있어야 한다(인터랙션 컨텍스트)는 것일 수 있다.
셀렉터(selector)는 트리거 조건들이 충족되면 어떤 행동들 또는 행동들의 유형들이 수행을 위해 선택되어야 하는지를 나타낼 수 있다. 다르게 말하면, 셀렉터는 행동 코퍼스에서 이용되는 선택 또는 검색 기준을 정의할 수 있다. 일 실시예에서, 셀렉터는 적절한 행동들을 식별하기 위해 이용되는, 태그들(예를 들어, 도 3의 단계 330과 결합하여 위에서 설명한 것과 같은)을 명시할 수 있다. 예를 들어, 예시적인 셀렉터는 트리거 조건이 충족되는 경우, “강한 행복감”을 나타내는 태그들을 가지는 모든 행동들이 수행/수행을 위해 고려되어야 한다는 것을 나타낼 수 있다(일 실시예에서, “강한 행복감”은 0부터 1까지의 스케일에서 0.8보다 큰 연관된 강도 파라미터를 가지는 행복을 나타내는 감정 요소일 수 있다).
우선순위 지표(priority indicator)는 규칙을 이용하여 선택된 행동들의 중요성을 나타낼 수 있다. 예를 들어, 두 개의 다른 규칙들에 기초하여 선택된 2개의 행동들(예를 들어, 웃음 및 대화 관련 입술 움직임과 같은, 입술 움직임을 요구하는 2개의 행동들)이 충돌하는 경우, 규칙들에 대한 우선순위 지표들은 어떤 행동들이 가상 에이전트/모델에 의해 실제로 수행되어야 하는 지를 결정하기 위해 이용될 수 있다.
단계 430에서, 행동 플래너 모듈 (215)은 현재의 인터랙션 컨텍스트 또는 다른 진행중인 사건들/조건들과 일치하는 행동 트리거들과 함께 규칙들을 선택할 수 있다. 즉, 규칙들의 선택은 인터랙션 컨텍스트(예를 들어, 도 3의 단계 315에서 획득된), 에이전트 상태(예를 들어, 도 3의 단계 320에서 결정된), 성격/기분/감정(예를 들어, 도 3의 단계 325에서 업데이트된) 및/또는 다른 파라미터들/조건들에 기초할 수 있다.
단계 435에서, 선택된 규칙들과 연관되는 셀렉터들에 기초하여, 행동 플래너 모듈 (215)은 하나 이상의 후보 행동들을 선택할 수 있다. 후보 행동은 가상 에이전트 모델/가상 에이전트에 의해 수행될 것으로 고려되는 행동일 수 있지만, 아래에서 설명할 것과 같이 다른 행동들과의 충돌 또는 다른 이유들로 인해 수행되지 않을 수 있다.
단계 440에서, 행동 플래너 모듈 (215)은 후보 행동들과 관련된 타이밍 및 우선순위 문제들을 결정할 수 있다. 즉, 행동 플래너 모듈 (215)은 다른 후보 행동들이 수행되는 순서 및/또는 특정한 프레임들을 결정할 수 있다. 이 단계에서, 행동 플래너 모듈 (215)은 또한 다른 행동들의 우선순위를 결정할 수 있다(예를 들어, 그들의 연관된 우선순위 지표들에 기초하여).
전술한 단계의 결과로서, 행동 플래너 모듈 (215)은 둘 이상의 후보 행동들이 충돌하는지를 결정할 수 있다. 예를 들면, 두 개의 다른 규칙들은 동시에 가상 에이전트 모델의 동일한 몸체 부분의 애니메이션 또는 제어를 요구하는 두 개의 다른 후보 행동들의 선택들로 이어질 수 있다. 행동 플래너 모듈 (215)은 우선순위 지표 또는 다른 팩터들에 기초하여, 하나의 행동이 다른 것보다 우선순위가 있고 다른 충돌하는 후보 행동은 수행될 수 없거나 포기된다는 것을 결정할 수 있다. 전술한 예시에서, 하나의 행동이 사용자로부터의 질문에 대한 응답을 시뮬레이션하기 위해 입술을 애니메이팅하는 것을 포함하고, 다른 하나의 충돌하는 행동이 웃음을 시뮬레이션하는 것을 포함하는 경우, 행동 플래너 모듈 (215)은 사용자의 질문에 대한 즉각적인 언어 반응이 웃음의 생성보다 더 중요하게 고려될 수 있으므로, 후자가 아닌 전자를 우선순위로 정하고 수행할 수 있다. 선택적으로, 행동 플래너 모듈 (215)은 웃음이 대화 애니메이션 바로 전 또는 후에 나와야 한다고 결정할 수 있다.
단계 450에서, 충돌들이 해결되면, 행동 플래너 모듈 (215)은 새로운 행동 스케줄을 형성하기 위해 충돌하지 않는 후보 행동들을 병합할 수 있다. 다르게 말하면, 행동 플래너 모듈 (215)은 우선순위 및 타이밍 고려에 기초하여 후보 행동들 사이에서 동작 가능한 행동들(다시 말하면, 실제로 수행될 행동들)을 선택할 수 있다. 다양한 실시예들에서, 새로운 행동 스케줄은 하나 이상의 프레임들을 위해, 각각의 동작 가능한 행동들이 가상 에이전트 모델/가상 에이전트에 의해 수행될 시점을 나타낼 수 있다.
단계 460에서, 행동 플래너 모듈 (215)은 스케줄이 현재 실행 중인지를 결정할 수 있다. 예를 들어, 사전의 스케줄에 기초하여, 가상 에이전트 모델은 하나 이상의 다가오는 프레임들을 위해 웃거나 미소짓거나 말하거나 다른 몸짓들을 수행하도록 애니메이트되고 있을 수 있다. 현재 실행 중인 스케줄이 없는 경우, 단계 470은 수행되고 새로운 스케줄이 시작될 수 있다.
이전에 생성된 행동 스케줄이 현재 실행 중인 경우, 행동 플래너 모듈 (215)이 선택적으로 과도기적 행동들을 새로운 행동 스케줄에 추가하는, 단계 465가 수행될 수 있다. 과도기적 행동들은 이전의 행동 스케줄에서 새로운 행동 스케줄로 더 자연스러운 전환이 가능하도록 하는 임의의 행동들일 수 있다. 예를 들어, 이전의 행동 스케줄이 가상 에이전트가 웃음을 시뮬레이션하도록 수행되는 예시를 가정해보자. 그리고 나서, 가상 에이전트가 사건에 대해 구두로 응답해야 하는 것을 나타내는, 새로운 행동 스케줄을 요구하는 사건이 발생할 수 있다. 가상 에이전트 모델이 즉각적이고 갑작스럽게 웃는 상태에서 말하는 상태로 전환되면 이상하게 보일 수 있다. 따라서, 행동 플래너 모듈은 전환을 용이하게 만들기 위해 새로운 행동 스케줄에 어떤 과도기적 행동들, 즉 웃는 애니메이션의 점진적인 감소, 말을 시작하기 전에 웃는 애니메이션을 중단시키는 놀란 표정 등을 나타내는 애니메이션들을 포함시킬 수 있다. 과도기적 행동들이 새로운 행동 스케줄에 추가되면, 단계 470은 수행될 수 있다.
단계 470에서, 행동 플래너 모듈 (215)은 새로운 행동 스케줄을 시작할 수 있다. 다양한 실시예들에서, 행동 플래너 모듈 (215)은 행동 스케줄을 가상 에이전트 디바이스 (104)로 전송하여 가상 에이전트에서 수행될 수 있도록 할 수 있다. 단계 475에서, 렌더링 모듈/가상 에이전트 디바이스는 행동 스케줄(예를 들어, 도 3의 단계 330과 결합하여 설명된)에 기초하여 하나 이상의 새로운 프레임들을 생성할 수 있다. 새로운 프레임들은 가상 에이전트 모델이 행동 스케줄에서 식별된 행동들을 수행하도록 가상 에이전트 모델을 애니메이트할 수 있다. 이 후, 새로운 프레임들은 가상 에이전트 디바이스 (104)에서 디스플레이될 수 있다.
다양한 행동들은 다양한 유형의 조건들 및 사건들에 대한 응답으로 전술한 방법들을 이용하여 생성될 수 있다. 미세한 표정들(micro-expressions)을 포함하는, 다음의 예시들을 생각해보자. 미세한 표정들은 아주 짧은 지속기간을 가지는, 가상 에이전트/모델에 의해 수행되는 행동들 또는 표정들의 유형들일 수 있다. 예를 들어, 그들은 긴장, 불안 또는 긍정적이든지 부정적이든지, 다른 유형들의 감정적인 반응들의 조짐들을 시뮬레이션할 수 있다.
연관된 트리거 및 셀렉터(예를 들어, 단계 420 및 425)를 가지는 미세한 표정 규칙의 예시를 생각해보자. 일 실시예에서, 가상 에이전트는 또한 가상 에이전트의 시뮬레이션된 긴장 또는 흥분 수준을 나타내는, 감정 요소 “흥분”을 포함할 수 있다. 이것은 0부터 1까지 범위의 값을 가지는 파라미터에 의해 표현될 수 있다(예를 들어, 0은 긴장/흥분의 완전한 부재이고, 1은 긴장/흥분의 최대치). 규칙의 트리거는 흥분 요소가 특정한 시간의 기간(예를 들어, 3 프레임, 10초 등) 내에 0.5보다 커지도록 변하면 충족될 수 있다. 일 실시예에서, 앞서 설명한 것과 같이, 흥분과 같은 감정들의 변화 정도가 성격에 기초할 수 있기 때문에, 트리거는 또한 가상 에이전트의 성격에 기초하여 더 쉽게 또는 덜 쉽게 충족될 수 있다. 예를 들어, 낮은 신경증적 성질의 성격 요소를 가지는 가상 에이전트는 더 높은 신경증적 성질의 성격 요소를 가지는 가상 에이전트보다 덜 “긴장”할 수 있다(다시 말하면, 흥분 요소/파라미터가 특정한 사건들에 의해 덜 영향 받을 수 있다).
미세한 표정 규칙의 셀렉터는 전술한 트리거가 충족되는 경우, 특정한 유형의 행동 (예를 들어, 얼굴 포즈)이 수행을 위해 고려되어야 한다는 것을 나타낼 수 있다. 즉, 행동 플래너 모듈은 얼굴 포즈 유형의 행동들(예를 들어, 표 5에 도시된 것과 같은)만을 검색할 수 있다. 예시적인 얼굴 포즈 행동들은 놀란 표정, 눈썹 올리기, 입술 오므리기 등을 포함할 수 있다. 각각의 행동은 하나 이상의 태그들과 연관되거나 하나 이상의 태그들을 포함할 수 있다(예를 들어, 단계 420과 결합하여 설명한 것과 같이). 각각의 태그는 특정한 조건 또는 조건들, 예를 들어, 사건, 동작, 인터랙션 컨텍스트, 에이전트 상태 및/또는 감정/기분/성격 등과 매칭될 수 있다. 셀렉터는 트리거가 충족되는 경우, 행동 플래너 모듈은 얼굴 포즈 유형 및 현재의 인터랙션 컨텍스트, 에이전트 상태/PEM 및/또는 현재의 조건들(예를 들어, 도 4의 단계 435 및 도 3의 단계 315-325)과 매칭되는 후보 행동들을 선택해야 한다는 것을 더 나타낼 수 있다.
미세한 표정 규칙의 전술한 특징들은 다수의 다른 조건들에 대한 여러 가지의 융통성 있는 가상 에이전트의 응답들을 가능하게 할 수 있다. 예를 들어, 가상 에이전트가 사용자에 의해 비난을 받고 방해를 받았기 때문에(인터랙션 컨텍스트) 행복(감정) 급감하고 흥분(감정)이 증가하게 된 상황을 생각해보자(이러한 동작들 및 반응들은 도 3의 단계 315-325에서 결정된 것일 수 있다). 따라서, 트리거는 충족되고(예를 들어, 단계 430), 행동 플래너 모듈은 모든 얼굴 포즈 행동들에서 전술한 인터랙션 컨텍스트 및 감정들과 일치하는 태그들을 검색할 수 있다(예를 들어, 단계 435). 적절히 일치하는 행동이 검색될 수 있고, 화남 또는 불만을 나타내는, 눈 찌푸리기로 결정될 수 있다. 한편, 미세한 표정 규칙은 또한 사용자가 유리잔을 떨어뜨려서 깨뜨리는 것(인터랙션 컨텍스트)에 의해 트리거될 수 있고, 가상 에이전트를 “놀라게 하거나” “깜짝 놀라게 할” 수 있으며, 그 결과 흥분(감정)의 급증이 있을 수 있다. 하지만, 그렇지 않다면, 사용자와 가상 에이전트 간의 이전의 대화가 예의바르고 즐거웠기 때문에, 가상 에이전트는 일반적으로 행복할 수 있다, 즉 가상 에이전트의 행복 감정 요소가 높을 수 있다. 이 경우 트리거가 충족되기 때문에, 행동 플래너 모듈은 현재의 인터랙션 컨텍스트 및 감정과 일치하는 태그들을 가지는 행동들을 검색할 수 있다. 결론적으로, 가상 에이전트가 놀라서 눈을 크게 뜨게 뜨는 행동이 선택될 수 있다. 하지만, 가상 에이전트의 현재의 감정과 일치하지 않기 때문에, 부정적인 태도(예를 들어, 눈 찌푸리기)를 나타내는 행동은 선택되지 않거나 수행되지 않을 수 있다.
전술한 미세한 표정 규칙의 예시는 또한 다양한 규칙들 및 파라미터들이 연관된 행동들의 수행과 어떻게 연관될 수 있는지를 나타낼 수 있다. 전술한 예시에서, 미세한 표정 규칙은 또한 (1) 임의의 선택된 행동이 수행될 때 그 지속기간이 아주 짧고(예를 들어, 50-100 msec), (2) 선택된 행동은 연관된 파라미터에 의해 나타나는 대로, 강도가 달라질 것을 요구할 수 있다(예를 들어, 0부터 1까지의 벡터 또는 스케일에서, 0은 표정의 가장 약한 형태를 나타내고, 1은 표정의 가장 강한 형태를 나타낼 수 있다). 강도/세기 파라미터는 임의의 적절한 사건, 조건 또는 특징(예를 들어, 인터랙션 컨텍스트, 에이전트 상태, 성격/감정/기분 등)에 기초할 수 있다.
규칙들은 특정한 행동이 수행되는 동안 미세하게 조정된 제어를 가능하게 할 수 있다. 예를 들어, 각각의 행동(예를 들어, 웃음)은 그 행동의 강도 또는 정도(예를 들어, 더 큰 입술의 움직임을 수반하는 큰 웃음이 아닌 작고, 짧은 웃음)를 나타내는 파라미터(예를 들어, 0부터 1까지의 스케일)와 연관될 수 있다. 각각 다른 규칙들에 대한 셀렉터들은 동일한 행동들을 작동시키는 것을 포함할 수 있지만, 하나의 규칙에 대한 셀렉터는 낮은 강도의 행동(예를 들어, 낮은 값의 연관된 파라미터를 가지는 행동)을 트리거하거나 요구할 수 있는 반면에, 또 다른 규칙에 대한 셀렉터는 높은 강도의 행동(예를 들어, 높은 레벨의 연관된 파라미터를 가지는 동일한 행동)을 트리거할 수 있다.
다음으로 도 7을 참조하여, 일 실시예에 따른 가상 에이전트 디바이스 (700)가 설명될 것이다. 가상 에이전트 디바이스 (700)는, 예를 들어, 도 1 및 2의 디바이스 (104) 또는 임의의 적절한 컴퓨팅 디바이스일 수 있다. 일 실시예에서, 가상 에이전트 디바이스는 스마트 폰, 가상 현실 디바이스, 스마트 글래스(smart glasses), 스마트 워치(smart watch), 컴퓨터, 휴대용 컴퓨터(laptop), 주방용품, 냉장고, 텔레비전, 게임 콘솔 등일 수 있다. 가상 에이전트 디바이스 (700)는 하나 이상의 프로세서를 갖는 프로세서부 (705), 센서부 (735), 저장부(710), 네트워크 인터페이스 부(715), 디스플레이부 (720) 및 오디오 시스템(730)을 포함할 수 있다.
저장부 (710)는 데이터 또는 실행 가능한 컴퓨터 코드를 저장하기에 적합한 임의의 하드웨어 또는 소프트웨어일 수 있다. 저장부 (710)는 하드 드라이브, 플래시 드라이브, 비휘발성 메모리, 휘발성 메모리 또는 임의의 다른 유형의 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있지만 이에 제한되지 않는다. 본원에서 설명된 가상 에이전트 디바이스 (700)를 위한 임의의 동작, 방법 및/또는 모듈/요소(예를 들어, 도 3에 도시된 것과 같이)는 저장부 (710)에 실행 가능한 코드 또는 명령어들의 형태로 저장될 수 있다. 프로세서부 (705)에 의한 컴퓨터 코드 또는 명령어들의 실행은 가상 에이전트 디바이스 (700) 또는 디바이스 (700)와 연결된 임의의 디바이스가 전술한 동작들 또는 방법들 중 어떤 것이라도 수행하도록 할 수 있다.
네트워크 인터페이스 부 (715)는 가상 에이전트 디바이스 (700)가 외부의 디바이스들과 연결될 수 있도록 하기에 적합한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 다양한 실시예들에서, 예를 들어, 가상 에이전트 디바이스는 네트워크 인터페이스 부 (715)를 이용하여 센서 데이터를 서버 (110)로 전송할 수 있다(예를 도 2와 결합하여 설명한 것과 같이). 가상 에이전트 디바이스 (700)는 또한 네트워크에서 다른 디바이스들과 센서 데이터를 공유하고 다른 디바이스들로부터 센서 데이터를 획득할 수 있으며, 다른 디바이스들과 센서 데이터를 공유하거나 다른 디바이스들로부터 센서 데이터를 획득할 수 있다. 이에 더하여, 가상 에이전트 디바이스 (700)는 명령어들, 행동 스케줄 또는 다른 데이터를 서버 (110)로부터 수신할 수 있다(예를 들어, 도 3의 단계 330과 결합하여 설명된 것과 같이). 네트워크 인터페이스 부 (715)는 임의의 적절한 네트워크(예를 들어, LAN, 인터넷 등) 또는 통신 프로토콜(예를 들어, 블루투스, 와이파이(WiFi), NFC, IEEE 802.15.4, IEEE 802.11 등)을 이용하여 데이터를 전송하고 데이터를 수신할 수 있다.
센서부 (735)는 디바이스 주변의 환경을 감지하기에 적합한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 센서부는 마이크, 카메라 또는 임의의 적절한 유형의 센서(예를 들어, 움직임 센서, 광 센서, 깊이 센서, 온도 센서, RF 신호를 감지하는 센서 등)을 포함할 수 있지만 이에 제한되지 않는다. 센서부는 추가적인 처리를 위해 센서 분석 모듈 (205) 및/또는 서버 (100)로 전송될 수 있는, 센서 데이터를 수집하기 위해 이용될 수 있다(예를 들어, 도 3의 단계 305 및 310과 결합하여 설명된 것과 같이).
디스플레이부 (720)는 가상 에이전트 모델을 디스플레이하기에 적합한 임의의 하드웨어 또는 소프트웨어일 수 있다. 일 실시예에서, 디스플레이부 (720)는 그래픽 처리 유닛(GPU), 비디오 디스플레이 스크린, 3D 그래픽 엔진 등을 포함할 수 있지만 이에 제한되지 않는다. 디스플레이부는 가상 에이전트를 나타내는 가상 에이전트 모델을 디스플레이할 수 있다(예를 들어, 도 3의 단계 335와 결합하여 설명된 것과 같이). 디스플레이부 (720)는 또한 행동 스케줄에 기초하여 가상 에이전트 모델의 특징들을 애니메이트할 수 있다(예를 들어, 도 4의 단계 470 및 475와 결합되어 설명된 것과 같이). 디스플레이부 (720)는 임의의 디스플레이 기술, 예를 들어, 터치 감지 (정전식) 스크린, 전자잉크 디스플레이(e-ink display), LCD 또는 OLED 디스플레이 또는 임의의 다른 적절한 디스플레이 기술을 포함할 수 있다.
일 실시예에서, 가상 에이전트 모델은 유형의, 물리적인 형태를 가질 수 있고 스크린 상에 디스플레이되는 것에만 제한되지 않는다. 예를 들면, 다양한 실시예들에서, 가상 에이전트는 로봇으로 표현될 수 있다. 로봇은 인간, 동물 또는 다른 생물/캐릭터/개체의 것을 모방하는 얼굴, 팔다리, 몸체 또는 임의의 다른 몸체 부분을 포함할 수 있다. 명세서 전체에서 설명된 임의의 행동들은 로봇에서 수행될 수 있고, 따라서 시각적인 변화 및/또는 로봇의 팔다리, 얼굴 표정들 또는 다른 요소들의 움직임을 요구할 수 있다. 예를 들어, 웃는 행동은 인간의 웃음을 시뮬레이션하기 위해 로봇의 얼굴에 있는 입술을 기계적으로 및/또는 물리적으로 움직이도록 할 수 있다.
오디오 시스템 (730)은 임의의 유형의 오디오, 예를 들어, 오디오 메시지, 음성 녹음, 말해진 단어들 또는 언어, 음악, 톤, 소리 등을 생성하기에 적합한 임의의 하드웨어 또는 소프트웨어일 수 있다. 다양한 실시예들에서, 오디오 시스템은 스피커, 텍스트를 음성으로 변환하는 소프트웨어 등을 포함할 수 있다. 오디오 시스템 (730)은 가상 에이전트에서 수행되는 행동의 일부인 임의의 오디오를 생성할 수 있다(예를 들어, 도 2 및 3과 결합하여 설명된 것과 같이).
다음으로 도 8을 참조하여, 일 실시예에 따른 서버 (800)가 설명될 것이다. 서버 (800)는, 예를 들어, 도 1및 2의 서버 (110)일 수 있다. 도 1, 2 및 8의 서버는 하나의 서버 또는 둘 이상의 서버들의 네트워크를 나타낼 수 있다. 서버 (800)는 하나 이상의 프로세서들을 갖는 프로세서부 (805), 저장부 (810) 및 네트워크 인터페이스 부 (815)를 포함할 수 있다.
저장부 (810)는 데이터 또는 실행가능한 코드를 저장하기에 적합한 임의의 하드웨어 또는 소프트웨어일 수 있다. 저장부 (810)는 하드 드라이브, 플래시 드라이브, 비휘발성 메모리, 휘발성 메모리 또는 임의의 다른 유형의 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있지만 이에 제한되지 않는다. 본원에서 설명된 서버 (800)를 위한 임의의 동작, 방법 및/또는 모듈/요소(예를 들어, 도 1-3)는 저장부 (810)에 실행 가능한 코드 또는 명령어들의 형태로 저장될 수 있다. 프로세서부 (805)에 의한 컴퓨터 코드 또는 명령어들의 실행은 서버 (800) 또는 서버 (800)와 연결된 임의의 디바이스가 전술한 동작들 또는 방법들 중 어떤 것이라도 수행하도록 할 수 있다.
네트워크 인터페이스 부 (815)는 서버 (800)가 외부의 디바이스들과 연결될 수 있도록 하기에 적합한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 다양한 실시예들에서, 예를 들어, 서버 (800)는 네트워크 인터페이스 부 (815)를 이용하여 가상 에이전트 디바이스 (104)로부터 센서 데이터를 수신할 수 있다(예를 도 2와 결합하여 설명한 것과 같이). 서버 (800)는 또한 네트워크 인터페이스 부 (815)를 이용하여 가상 에이전트 디바이스 (104)에게 행동 스케줄 또는 다른 데이터를 전송할 수 있다(예를 들어, 도 3의 단계 330과 결합하여 설명된 것과 같이). 네트워크 인터페이스 부 (815)는 임의의 적절한 네트워크(예를 들어, LAN, 인터넷 등) 또는 통신 프로토콜(예를 들어, 블루투스, 와이파이(WiFi), NFC, IEEE 802.15.4, IEEE 802.11 등)을 이용하여 데이터를 전송하고 데이터를 수신할 수 있다.
전술한 예시들의 일부에서, 특정한 하나의 서버 또는 하나의 가상 에이전트 디바이스가 언급된다. 하지만, 서버의 동작들은 하나의 서버 또는 가상 에이전트 디바이스보다 더 많은 디바이스들에서 수행될 수 있다. 또한, 서버를 위한 동작들/특징들은 가상 에이전트에 의해 수행될 수 있고, 그 반대 또한 가능하다.
본 발명의 몇몇 실시예들만이 자세하게 설명되었지만, 본 발명은 발명의 본질 또는 범위를 벗어나지 않는 많은 다른 형태들로 수행될 수 있다. 예를 들어, 본원 및 도면들은 특정한 동작들을 수행하는 다양한 방법들을 설명한다. 일 실시예에서, 하나 이상의 동작들/단계들은 수정, 재배열 및/또는 삭제될 수 있다. 이에 더하여, 도 2, 7 및 8과 같은, 일부 도면들은 다양한 요소들/모듈들을 포함하는 디바이스들/시스템들을 설명한다. 일 실시예에서, 이러한 요소들 중 하나 이상은 병합될 수 있다. 다른 실시예에서, 하나 이상의 요소들은 더 큰 수의 요소들로 분리될 수 있다. 하나의 요소의 특징들은 다른 요소로 이전되고 적절하게 수정될 수 있으며, 다른 요소로 이전되거나 적절하게 수정될 수 있다. 각각의 디바이스는 대응하는 도면에서 도시된 것 이외의 부가적인 요소들을 포함할 수 있다. 특정한 물체의 일부로서 도시된 특정한 모듈들 또는 디바이스들은 대신에 물체와 예를 들어, 무선 또는 유선으로 연결될 수 있다. 따라서, 본 실시예들은 예시적인 것으로 고려되어야 하며 제한적인 것이 아니고, 본 발명은 본 상세한 설명에 의해 제한되지 않는다.

Claims (20)

  1. 가상 에이전트(virtual agent)를 동작시키는 방법에 있어서,
    의사소통 컨텍스트(communication context), 대상 정보, 상황 정보 및 인물 정보 중 적어도 하나를 포함하는 인터랙션 컨텍스트(interaction context)를 획득하는 단계;
    상기 획득된 인터랙션 컨텍스트에 기초하여 상기 에이전트의 활동(activity)을 나타내는 에이전트 상태를 결정하는 단계;
    상기 획득된 인터랙션 컨텍스트, 상기 결정된 에이전트 상태 및 상기 가상 에이전트의 성격에 기초하여 상기 가상 에이전트의 감정을 업데이트하는 단계; 및
    상기 획득된 인터랙션 컨텍스트 및 상기 가상 에이전트의 상기 업데이트된 감정에 기초하여 하나 이상의 행동들을 선택하는 단계를 포함하고,
    각각의 행동은 상기 가상 에이전트의 외형의 조정 또는 오디오의 생성을 포함하는 방법.
  2. 제 1항에 있어서,
    디바이스 주변의 환경을 감지함으로써 상기 인터랙션 컨텍스트를 결정하는 단계를 더 포함하는 방법.
  3. 제 1항에 있어서,
    상기 가상 에이전트를 시각적으로 나타내는 가상 에이전트 모델을 디스플레이하는 단계; 및
    상기 가상 에이전트 모델에 상기 하나 이상의 행동들을 렌더링하여 상기 가상 에이전트 모델의 상기 외형을 변화시키는 단계를 더 포함하는 방법.
  4. 제 1항에 있어서,
    제 2 가상 에이전트의 성격이 다른 경우, 상기 동일한 인터랙션 컨텍스트는 상기 제 2 가상 에이전트의 감정에 다른 영향을 주는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 각각의 행동은 하나 이상의 태그들과 연관되고, 각각의 태그는 활동, 감정, 기분 및 성격 중 적어도 하나와 연관되는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 성격은 상기 인터랙션 컨텍스트에 기초하여 조정되지 않는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 성격은 사용자에 의해 조정 가능한 것을 특징으로 하는 방법.
  8. 제 1항에 있어서,
    상기 인터랙션 컨텍스트, 상기 에이전트 상태 및 상기 가상 에이전트의 상기 성격에 기초하여 상기 가상 에이전트의 기분을 업데이트 하는 단계를 더 포함하고,
    상기 기분은 상기 인터랙션 컨텍스트에 응답하여 상기 감정보다 더 느리게 변화하는 것을 특징으로 하는 방법.
  9. 제 8항에 있어서,
    상기 감정은 하나 이상의 감정 파라미터들을 포함하고, 상기 기분은 기 설정된 시간의 기간 동안 상기 감정 파라미터들의 이동 평균(moving average)에 기초하는 것을 특징으로 하는 방법.
  10. 제 1항에 있어서,
    복수의 기 설정된 행동들을 포함하는 행동 코퍼스(corpus)를 획득하는 단계;
    복수의 기 설정된 규칙들을 포함하는 규칙 집합을 획득하고, 각각의 규칙은 셀렉터(selector) 및 트리거(trigger)와 연관되고, 상기 트리거는 하나 이상의 특정한 인터랙션 컨텍스트, 감정 및 에이전트 상태와 일치하는 조건이며, 상기 셀렉터는 상기 행동 코퍼스를 검색하기 위해 이용되는 검색 기준인 단계; 및
    상기 획득된 인터랙션 컨텍스트, 업데이트된 감정 및 결정된 에이전트 상태 중 적어도 하나 이상이 상기 규칙 집합에서 하나의 규칙의 트리거와 일치하는 경우, 상기 일치된 트리거 및 규칙과 연관된 상기 셀렉터에 기초하여 상기 하나 이상의 행동들을 선택하는 단계를 더 포함하는 방법.
  11. 제 10항에 있어서,
    상기 셀렉터 및 상기 업데이트된 감정에 기초하여 하나 이상의 후보 행동들을 결정하는 단계;
    상기 후보 행동들 중 둘 이상이 충돌하는지 결정하는 단계; 및
    우선순위 지표(priority indicator)에 기초하여 실행될, 충돌하고 있는 후보 행동들 중 하나를 선택하는 단계를 더 포함하는 방법.
  12. 제 11항에 있어서,
    상기 후보 행동들은 상기 충돌하고 있는 후보 행동들이 상기 가상 에이전트에 의해 시뮬레이션되는 몸체(body)의 동일한 부분을 조정하는 것을 포함하는 경우 충돌하는 것을 특징으로 하는 방법.
  13. 제 1항에 있어서,
    상기 가상 에이전트를 초당 복수의 프레임으로 렌더링하는 단계; 및
    프레임 단위로 상기 방법을 수행하는 단계를 더 포함하는 방법.
  14. 제 1항에 있어서,
    상기 인터랙션 컨텍스트는 둘 이상의 센서 디바이스들의 네트워크를 이용하여 획득되는 것을 특징으로 하는 방법.
  15. 제 1항에 있어서,
    상기 가상 에이전트는 3 차원인 그래픽 모델에 의해 표현되는 것을 특징으로 하는 방법.
  16. 가상 에이전트를 동작시키는 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 저장 매체에 있어서,
    상기 방법은,
    의사소통 컨텍스트, 대상 정보, 상황 정보 및 인물 정보 중 적어도 하나 이상을 포함하는 인터랙션 컨텍스트를 획득하는 단계;
    상기 획득된 인터랙션 컨텍스트에 기초하여 상기 에이전트의 활동을 나타내는 에이전트 상태를 결정하는 단계;
    상기 획득된 인터랙션 컨텍스트, 상기 결정된 에이전트 상태 및 상기 가상 에이전트의 성격에 기초하여 상기 가상 에이전트의 감정을 업데이트하는 단계; 및
    상기 획득된 인터랙션 컨텍스트 및 상기 업데이트된 감정에 기초하여 하나 이상의 행동들을 선택하는 단계를 포함하고,
    각각의 행동은 상기 가상 에이전트의 외형의 조정 또는 오디오의 생성을 포함하는 것을 특징으로 하는 저장 매체.
  17. 장치에 있어서,
    적어도 하나의 프로세서; 및
    컴퓨터 코드가 저장되는 컴퓨터로 읽을 수 있는 저장 매체를 포함하는 메모리 회로를 포함하고, 상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때,
    의사소통 컨텍스트, 대상 정보, 상황 정보 및 인물 정보 중 적어도 하나를 포함하는 인터랙션 컨텍스트를 획득하는 단계;
    상기 획득된 인터랙션 컨텍스트에 기초하여 상기 에이전트의 활동을 나타내는 에이전트 상태를 결정하는 단계;
    상기 획득된 인터랙션 컨텍스트, 상기 결정된 에이전트 상태 및 상기 가상 에이전트의 성격에 기초하여 상기 가상 에이전트의 감정을 업데이트하는 단계; 및
    상기 획득된 인터랙션 컨텍스트 및 상기 가상 에이전트의 상기 업데이트된 감정에 기초하여 하나 이상의 행동들을 선택하는 단계를 포함하는 방법을 수행하고,
    각각의 행동은 상기 가상 에이전트의 외형의 조정 또는 오디오의 생성을 포함하는 것인 장치.
  18. 제 17항에 있어서,
    하나 이상의 센서들을 포함하는 센서부를 더 포함하고,
    상기 인터랙션 컨텍스트는 상기 센서부로부터 수신된 센서 데이터의 적어도 일부에 기초하는 것을 특징으로 하는 장치.
  19. 제 17항에 있어서,
    오디오 정보를 수신하는 마이크를 더 포함하고,
    상기 인터랙션 컨텍스트는 상기 마이크를 이용하여 수신된 상기 오디오 정보의 적어도 일부에 기초하는 것을 특징으로 하는 장치.
  20. 제 17항에 있어서,
    상기 장치는 냉장고, 휴대용 컴퓨터, 컴퓨터, 태블릿, 전화기, 시계, 안경 및 가상 현실 디바이스 중 하나인 것을 특징으로 하는 장치.
KR1020160115711A 2016-01-14 2016-09-08 가상 에이전트 동작 방법 및 장치 KR20170085422A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/996,030 2016-01-14
US14/996,030 US10664741B2 (en) 2016-01-14 2016-01-14 Selecting a behavior of a virtual agent

Publications (1)

Publication Number Publication Date
KR20170085422A true KR20170085422A (ko) 2017-07-24

Family

ID=59311345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160115711A KR20170085422A (ko) 2016-01-14 2016-09-08 가상 에이전트 동작 방법 및 장치

Country Status (5)

Country Link
US (1) US10664741B2 (ko)
EP (1) EP3381175B1 (ko)
KR (1) KR20170085422A (ko)
CN (1) CN108886532B (ko)
WO (1) WO2017122900A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020198617A1 (en) * 2019-03-28 2020-10-01 Wormhole Labs, Inc. Context linked messaging system

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US20170221125A1 (en) * 2016-02-03 2017-08-03 International Business Machines Corporation Matching customer and product behavioral traits
US10359988B2 (en) * 2016-04-06 2019-07-23 Tmrwland Hongkong Limited Shared experience of virtual environments
US10474946B2 (en) * 2016-06-24 2019-11-12 Microsoft Technology Licensing, Llc Situation aware personal assistant
US10291691B2 (en) * 2016-08-17 2019-05-14 International Business Machines Corporation System, method and recording medium for creating a social media sensing post
DK179978B1 (en) 2016-09-23 2019-11-27 Apple Inc. IMAGE DATA FOR ENHANCED USER INTERACTIONS
KR102596477B1 (ko) 2016-09-23 2023-11-02 애플 인크. 아바타 생성 및 편집
CN106598215B (zh) * 2016-11-02 2019-11-08 Tcl移动通信科技(宁波)有限公司 虚拟现实系统的实现方法及虚拟现实装置
US9812151B1 (en) * 2016-11-18 2017-11-07 IPsoft Incorporated Generating communicative behaviors for anthropomorphic virtual agents based on user's affect
US10963774B2 (en) * 2017-01-09 2021-03-30 Microsoft Technology Licensing, Llc Systems and methods for artificial intelligence interface generation, evolution, and/or adjustment
EP4095720A1 (en) * 2017-02-03 2022-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Access category handling for wireless communication systems
EP3358462A1 (en) * 2017-02-06 2018-08-08 Tata Consultancy Services Limited Context based adaptive virtual reality (vr) assistant in vr environments
US10572720B2 (en) * 2017-03-01 2020-02-25 Sony Corporation Virtual reality-based apparatus and method to generate a three dimensional (3D) human face model using image and depth data
JP6967610B2 (ja) 2017-05-16 2021-11-17 アップル インコーポレイテッドApple Inc. 絵文字の記録及び送信
DK179948B1 (en) 2017-05-16 2019-10-22 Apple Inc. Recording and sending Emoji
US10614794B2 (en) * 2017-06-15 2020-04-07 Lenovo (Singapore) Pte. Ltd. Adjust output characteristic
US11188809B2 (en) * 2017-06-27 2021-11-30 International Business Machines Corporation Optimizing personality traits of virtual agents
WO2019040436A1 (en) * 2017-08-21 2019-02-28 Facet Labs, Llc COMPUTER ARCHITECTURE FOR MULTIPLE SEARCH ROBOTS AND BEHAVIOR ROBOTS AND ASSOCIATED DEVICES AND METHODS
US10574598B2 (en) 2017-10-18 2020-02-25 International Business Machines Corporation Cognitive virtual detector
US10901430B2 (en) * 2017-11-30 2021-01-26 International Business Machines Corporation Autonomous robotic avatars
AU2017442559B2 (en) * 2017-12-15 2021-05-06 Motorola Solutions, Inc Device, system and method for crowd control
CN112204564A (zh) 2018-02-15 2021-01-08 得麦股份有限公司 经由基于集成音频和视觉的语音识别进行语音理解的系统和方法
US11017551B2 (en) 2018-02-15 2021-05-25 DMAI, Inc. System and method for identifying a point of interest based on intersecting visual trajectories
DK201870378A1 (en) 2018-05-07 2020-01-13 Apple Inc. DISPLAYING USER INTERFACES ASSOCIATED WITH PHYSICAL ACTIVITIES
DK180078B1 (en) 2018-05-07 2020-03-31 Apple Inc. USER INTERFACE FOR AVATAR CREATION
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
US11132681B2 (en) 2018-07-06 2021-09-28 At&T Intellectual Property I, L.P. Services for entity trust conveyances
US11134308B2 (en) * 2018-08-06 2021-09-28 Sony Corporation Adapting interactions with a television user
US10802872B2 (en) 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
US11766224B2 (en) * 2018-09-27 2023-09-26 Mymeleon Ag Visualized virtual agent
US11481186B2 (en) 2018-10-25 2022-10-25 At&T Intellectual Property I, L.P. Automated assistant context and protocol
US11416732B2 (en) 2018-12-05 2022-08-16 Disney Enterprises, Inc. Simulated human-like affect-driven behavior by a virtual agent
US11417236B2 (en) * 2018-12-28 2022-08-16 Intel Corporation Real-time language learning within a smart space
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
US11222642B2 (en) * 2019-01-25 2022-01-11 Avaya Inc. Audio recording optimization for calls serviced by an artificial intelligence agent
CN114341922A (zh) * 2019-04-16 2022-04-12 索尼集团公司 信息处理系统、信息处理方法和程序
DK201970531A1 (en) 2019-05-06 2021-07-09 Apple Inc Avatar integration with multiple applications
US10628133B1 (en) * 2019-05-09 2020-04-21 Rulai, Inc. Console and method for developing a virtual agent
CA3045132C (en) * 2019-06-03 2023-07-25 Eidos Interactive Corp. Communication with augmented reality virtual agents
CN113646733A (zh) * 2019-06-27 2021-11-12 苹果公司 辅助表情
US11182595B2 (en) * 2019-08-08 2021-11-23 Avaya Inc. Optimizing interaction results using AI-guided manipulated video
CN110569352B (zh) * 2019-09-17 2022-03-04 尹浩 一种可定制外观和性格的虚拟助手的设计系统及方法
EP3809236A1 (en) * 2019-10-17 2021-04-21 XRSpace CO., LTD. Avatar facial expression generating system and method of avatar facial expression generation
US11645479B1 (en) 2019-11-07 2023-05-09 Kino High Coursey Method for AI language self-improvement agent using language modeling and tree search techniques
US11948560B1 (en) 2019-11-07 2024-04-02 Kino High Coursey Method for AI language self-improvement agent using language modeling and tree search techniques
CN111443852A (zh) * 2020-03-25 2020-07-24 北京百度网讯科技有限公司 一种数字人动作的控制方法、装置、电子设备及存储介质
DK202070624A1 (en) 2020-05-11 2022-01-04 Apple Inc User interfaces related to time
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
DE112021001301T5 (de) * 2020-05-13 2023-04-06 Nvidia Corporation Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
US11468713B2 (en) 2021-03-02 2022-10-11 Bank Of America Corporation System and method for leveraging a time-series of microexpressions of users in customizing media presentation based on users# sentiments
US11714536B2 (en) 2021-05-21 2023-08-01 Apple Inc. Avatar sticker editor user interfaces
US11776190B2 (en) 2021-06-04 2023-10-03 Apple Inc. Techniques for managing an avatar on a lock screen
US11822716B2 (en) 2021-07-26 2023-11-21 Apple Inc. Directing a virtual agent based on eye behavior of a user
CN113760100B (zh) * 2021-09-22 2024-02-02 入微智能科技(南京)有限公司 一种带有虚拟形象生成、显示和控制功能的人机交互设备
US11861776B2 (en) * 2021-11-19 2024-01-02 Chegg, Inc. System and method for provision of personalized multimedia avatars that provide studying companionship
US11824819B2 (en) 2022-01-26 2023-11-21 International Business Machines Corporation Assertiveness module for developing mental model
CN114974312B (zh) * 2022-07-29 2022-10-21 环球数科集团有限公司 一种虚拟人情绪生成方法与系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031549A (en) * 1995-07-19 2000-02-29 Extempo Systems, Inc. System and method for directed improvisation by computer controlled characters
US6185534B1 (en) 1998-03-23 2001-02-06 Microsoft Corporation Modeling emotion and personality in a computer user interface
AU2002232928A1 (en) * 2000-11-03 2002-05-15 Zoesis, Inc. Interactive character system
KR101006191B1 (ko) * 2002-08-06 2011-01-07 윤재민 가상인격체의 감정표현과 동작구현방법
US7908554B1 (en) 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
AU2003901669A0 (en) * 2003-04-01 2003-05-01 Colin Richard Carbis Hypnosis in a virtual environment
US7113848B2 (en) 2003-06-09 2006-09-26 Hanson David F Human emulation robot system
US20050021372A1 (en) * 2003-07-25 2005-01-27 Dimagi, Inc. Interactive motivation systems and methods for self-care compliance
US20060248461A1 (en) 2005-04-29 2006-11-02 Omron Corporation Socially intelligent agent software
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US7836437B2 (en) * 2006-02-10 2010-11-16 Microsoft Corporation Semantic annotations for virtual objects
US20080096533A1 (en) 2006-10-24 2008-04-24 Kallideas Spa Virtual Assistant With Real-Time Emotions
KR101028814B1 (ko) * 2007-02-08 2011-04-12 삼성전자주식회사 소프트웨어 로봇 장치와 그 장치에서 소프트웨어 로봇의행동 발현 방법
WO2008134625A1 (en) 2007-04-26 2008-11-06 Ford Global Technologies, Llc Emotive advisory system and method
US8909370B2 (en) 2007-05-08 2014-12-09 Massachusetts Institute Of Technology Interactive systems employing robotic companions
US20090128567A1 (en) * 2007-11-15 2009-05-21 Brian Mark Shuster Multi-instance, multi-user animation with coordinated chat
CN101188025B (zh) * 2007-11-30 2010-08-11 电子科技大学 一种高效实时的群体动画系统
US8149241B2 (en) * 2007-12-10 2012-04-03 International Business Machines Corporation Arrangements for controlling activities of an avatar
US9741147B2 (en) * 2008-12-12 2017-08-22 International Business Machines Corporation System and method to modify avatar characteristics based on inferred conditions
KR101671900B1 (ko) * 2009-05-08 2016-11-03 삼성전자주식회사 가상 세계에서의 객체를 제어하는 시스템, 방법 및 기록 매체
US8390680B2 (en) 2009-07-09 2013-03-05 Microsoft Corporation Visual representation expression based on player expression
US9159151B2 (en) 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US8284157B2 (en) 2010-01-15 2012-10-09 Microsoft Corporation Directed performance in motion capture system
CN101887489A (zh) * 2010-05-24 2010-11-17 陈益强 一种使现实和虚拟世界中人物交互影响的方法
KR101153316B1 (ko) 2010-06-21 2012-06-07 한국과학기술원 플러그인 기반 계층적 지능형 가상 에이전트 프레임워크
US9007362B2 (en) * 2011-01-14 2015-04-14 Brian Mark Shuster Adaptable generation of virtual environment frames
US8941666B1 (en) * 2011-03-24 2015-01-27 Lucasfilm Entertainment Company Ltd. Character animation recorder
US9082400B2 (en) 2011-05-06 2015-07-14 Seyyer, Inc. Video generation based on text
US20130031476A1 (en) 2011-07-25 2013-01-31 Coin Emmett Voice activated virtual assistant
US20130257877A1 (en) 2012-03-30 2013-10-03 Videx, Inc. Systems and Methods for Generating an Interactive Avatar Model
US9304652B1 (en) * 2012-12-21 2016-04-05 Intellifect Incorporated Enhanced system and method for providing a virtual space
CN105409197A (zh) 2013-03-15 2016-03-16 趣普科技公司 用于提供持久伙伴装置的设备和方法
CN103823551B (zh) * 2013-03-17 2017-07-21 浙江大学 一种实现多维度感知虚拟交互的系统和方法
US9965553B2 (en) * 2013-05-29 2018-05-08 Philip Scott Lyren User agent with personality
CN104769645A (zh) * 2013-07-10 2015-07-08 哲睿有限公司 虚拟伴侣
US20160189220A1 (en) * 2014-12-30 2016-06-30 Audience, Inc. Context-Based Services Based on Keyword Monitoring
CN105141587B (zh) * 2015-08-04 2019-01-01 广东小天才科技有限公司 一种虚拟玩偶互动方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020198617A1 (en) * 2019-03-28 2020-10-01 Wormhole Labs, Inc. Context linked messaging system

Also Published As

Publication number Publication date
CN108886532A (zh) 2018-11-23
WO2017122900A1 (en) 2017-07-20
US20170206095A1 (en) 2017-07-20
EP3381175A1 (en) 2018-10-03
CN108886532B (zh) 2021-12-17
EP3381175A4 (en) 2019-01-09
US10664741B2 (en) 2020-05-26
EP3381175B1 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
CN108886532B (zh) 用于操作个人代理的装置和方法
US11398067B2 (en) Virtual reality presentation of body postures of avatars
US11222632B2 (en) System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
US11468894B2 (en) System and method for personalizing dialogue based on user's appearances
US20190206402A1 (en) System and Method for Artificial Intelligence Driven Automated Companion
US11017551B2 (en) System and method for identifying a point of interest based on intersecting visual trajectories
US11003860B2 (en) System and method for learning preferences in dialogue personalization
CN106663219A (zh) 处理与机器人的对话的方法和系统
US20220215678A1 (en) System and method for reconstructing unoccupied 3d space
JP2001216530A (ja) アニメーション・キャラクターの社会的プリミティブの指定、制御、及び変更のための方法及び装置
US20190251350A1 (en) System and method for inferring scenes based on visual context-free grammar model
CN112204563A (zh) 用于基于用户通信的视觉场景构建的系统和方法
CN114787759A (zh) 交流支持程序、交流支持方法、交流支持系统、终端装置以及非语言表达程序
JP2023103335A (ja) コンピュータプログラム、サーバ装置、端末装置及び表示方法
JP2021068404A (ja) アバターの顔の表情生成システムおよびアバターの顔の表情生成方法
WO2021030449A1 (en) System and method for adaptive dialogue via scene modeling using combinational neural networks
Babu et al. Marve: a prototype virtual human interface framework for studying human-virtual human interaction
JP6935531B1 (ja) 情報処理プログラムおよび情報処理システム
EP4385592A1 (en) Computer-implemented method for controlling a virtual avatar
EP4382182A1 (en) Device and method for controlling a virtual avatar on an electronic device
GB2606173A (en) Computer-implemented method for controlling a virtual avatar

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination