KR20210095446A - 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템 - Google Patents

인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템 Download PDF

Info

Publication number
KR20210095446A
KR20210095446A KR1020200009352A KR20200009352A KR20210095446A KR 20210095446 A KR20210095446 A KR 20210095446A KR 1020200009352 A KR1020200009352 A KR 1020200009352A KR 20200009352 A KR20200009352 A KR 20200009352A KR 20210095446 A KR20210095446 A KR 20210095446A
Authority
KR
South Korea
Prior art keywords
pose
content
human
processor
reaction
Prior art date
Application number
KR1020200009352A
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 라인 가부시키가이샤
Priority to KR1020200009352A priority Critical patent/KR20210095446A/ko
Priority to CN202110081199.5A priority patent/CN113191929A/zh
Priority to TW110102496A priority patent/TWI826767B/zh
Publication of KR20210095446A publication Critical patent/KR20210095446A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Multimedia (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Operations Research (AREA)

Abstract

인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템을 개시한다. 일실시예에 따른 컨텐츠 기반 대화 방법은 소스 컨텐츠를 수신하는 단계, 상기 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정하는 단계, 상기 결정된 인간 포즈에 대응하는 반응 포즈를 결정하는 단계, 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정하는 단계 및 상기 소스 컨텐츠에 대한 응답으로 상기 결정된 반응 컨텐츠를 제공하는 단계를 포함할 수 있다.

Description

인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템{METHOD AND SYSTEM FOR CONTENTS BASED CONVERSATION ACCORDING TO HUMAN POSTURE}
아래의 설명은 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템에 관한 것이다.
인스턴트 메시징(instant messaging)은 네트워크 상에서 간단한 메시지나 파일의 송수신이 가능한 소프트웨어의 총칭이다. 이러한 인스턴트 메시징을 통해 송수신되는 인스턴트 메시지는 일반적으로 텍스트를 포함한다. 한편, 인스턴트 메시지는 이미지, 사운드, 동영상 및/또는 애니메이션이 매핑되어 있는 스티커(또는 이모티콘)를 포함할 수도 있다. 예를 들어, 한국등록특허 제10-1434227호는 이모티콘 채팅을 위한 모바일 단말기 및 이를 이용한 모바일 채팅 방법을 개시하고 있다. 때때로, 인스턴트 메시징의 사용자들은 채팅을 위해 타이핑 없이 스티커를 사용하며, 상황에 따라 스티커에 매핑된 이미지, 사운드 및/또는 애니메이션은 텍스트로 이루어진 다수의 단어나 문장들보다 사용자의 느낌이나 감정을 더 잘 표현할 수 있다. 이때, 스티커들은 인스턴트 메시징을 이용하여 인스턴트 메시지의 형태로 송수신 가능한 이미지, 사운드, 동영상 및/또는 애니메이션으로 구성된 컨텐츠로 확장될 수 있다.
한편, 챗봇(chatbot) 혹은 채터봇(chatterbot)은 음성이나 문자를 통한 인간과의 대화를 통해서 특정한 작업을 수행하도록 제작된 컴퓨터 프로그램이다. 토크봇(talkbot), 채터박스(chatterbox) 혹은 그냥 봇(bot)이라고도 한다. 이러한 봇을 이용하여 인간과 봇 사이에 대화를 진행할 수 있다. 이때, 인간이 앞서 설명한 스티커와 같은 컨텐츠가 포함된 인스턴트 메시지를 봇에게 전달하는 경우, 봇은 해당 인스턴트 메시지가 포함하는 컨텐츠에 대응하기가 어렵다는 문제점이 있다.
컨텐츠에 포함된 인간의 포즈에 따라 컨텐츠들을 인덱싱하여, 입력되는 컨텐츠가 포함하는 인간의 포즈에 따라 대응하는 포즈를 포함하는 반응 컨텐츠를 제공할 수 있는 컨텐츠 기반 대화 방법 및 시스템을 제공한다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 컨텐츠 기반 대화 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 소스 컨텐츠를 수신하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 결정된 인간 포즈에 대응하는 반응 포즈를 결정하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 소스 컨텐츠에 대한 응답으로 상기 결정된 반응 컨텐츠를 제공하는 단계를 포함하는 컨텐츠 기반 대화 방법을 제공한다.
일측에 따르면, 상기 소스 컨텐츠를 수신하는 단계는, 인스턴트 메시징 서비스에서 사용자의 계정과 봇의 인공지능 계정간에 설정된 대화 세션을 통해 상기 사용자가 상기 봇에게 전송한 컨텐츠를, 상기 봇을 통해 상기 소스 컨텐츠로서 수신하고, 상기 결정된 반응 컨텐츠를 제공하는 단계는, 상기 반응 컨텐츠가 상기 소스 컨텐츠에 대한 응답으로서 상기 봇을 통해 상기 사용자에게 제공될 수 있도록 상기 반응 컨텐츠를 상기 봇으로 전송하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 컨텐츠 기반 대화 방법은 상기 적어도 하나의 프로세서에 의해, 컨텐츠들 각각에 포함된 인간을 인식하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 인간 포즈를 결정하는 단계는, 상기 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터와 상기 전환된 차원 벡터간의 유사도를 통해 상기 소스 컨텐츠를 인덱싱하여 상기 인간 포즈를 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 반응 컨텐츠를 결정하는 단계는, 상기 인덱싱된 컨텐츠들 중에서 상기 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 상기 반응 컨텐츠로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 인간 포즈를 결정하는 단계는, 인간의 포즈에 따라 컨텐츠들을 인덱싱하는 인덱싱 서버를 통해 상기 소스 컨텐츠가 포함하는 인간 포즈를 결정하고, 상기 인덱싱 서버는, 컨텐츠들 각각에 포함된 인간을 인식하고, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하고, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하고, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 반응 컨텐츠를 결정하는 단계는, 상기 결정된 반응 포즈를 상기 인덱싱 서버로 전송하여 상기 인덱싱 서버로부터 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 수신하고, 상기 인덱싱 서버는, 상기 인덱싱된 컨텐츠들 중에서 상기 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 상기 반응 컨텐츠로서 결정하여 제공하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 컨텐츠 기반 대화 방법은 상기 적어도 하나의 프로세서에 의해, 반응 시나리오에 따라 소스 컨텐츠를 위한 제1 포즈와 반응 컨텐츠를 위한 제2 포즈를 연계하여 저장하는 반응 맵핑 테이블을 저장하는 단계를 더 포함하고, 상기 반응 포즈를 결정하는 단계는, 상기 반응 맵핑 테이블에서 상기 인간 포즈에 대응하는 제2 포즈를 추출하여 상기 반응 포즈로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 반응 시나리오는 상기 제1 포즈와 상기 제2 포즈를 유사한 포즈로서 연계시키기 위한 제1 반응 시나리오, 상기 제1 포즈와 상기 제2 포즈를 연속적인 포즈로서 연계시키기 위한 제2 반응 시나리오 및 상기 제1 포즈와 상기 제2 포즈를 반대 포즈로서 연계시키기 위한 제3 반응 시나리오를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 적어도 하나의 프로세서에 의해, 비디오 클립들로부터 추출되는 인간 포즈들을 학습 데이터로 이용하여 학습 모델이 제1 포즈에 대응하는 제2 포즈를 출력하도록 상기 학습 모델을 학습시키는 단계를 더 포함하고, 상기 반응 포즈를 결정하는 단계는, 상기 결정된 인간 포즈를 상기 제1 포즈로서 상기 학습 모델에 입력하여 상기 학습 모델로부터 출력되는 상기 제2 포즈를 상기 반응 포즈로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 학습시키는 단계는, 연속된 시간 스탬프들에서 동일한 인간에 대해 얻어지는 포즈들을 연속적인 포즈들을 위한 학습 데이터로 이용하고, 동일한 화면에서 서로 다른 인간들에 대해 얻어지는 포즈들을 반대 포즈들을 위한 학습 데이터로 이용하여 상기 학습 모델을 학습시키는 것을 특징으로 할 수 있다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 컨텐츠 기반 대화 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 컨텐츠들 각각에 포함된 인간을 인식하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 단계를 포함하는 컨텐츠 기반 대화 방법을 제공한다.
일측에 따르면, 상기 컨텐츠 기반 대화 방법은 상기 적어도 하나의 프로세서에 의해, 소스 컨텐츠를 수신하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터를 통해 상기 소스 컨텐츠를 인덱싱하여 상기 소스 컨텐츠가 포함하는 인간 포즈를 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 결정된 인간 포즈를 제공하는 단계를 더 포함할 수 있다.
다른 측면에 따르면, 상기 컨텐츠 기반 대화 방법은 상기 적어도 하나의 프로세서에 의해, 상기 제공된 인간 포즈에 대응하여 결정된 반응 포즈를 수신하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 인덱싱된 컨텐츠들 중 상기 수신된 반응 포즈를 포함하는 반응 컨텐츠를 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 반응 컨텐츠를 제공하는 단계를 더 포함할 수 있다.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 소스 컨텐츠를 수신하고, 상기 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정하고, 상기 결정된 인간 포즈에 대응하는 반응 포즈를 결정하고, 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정하고, 상기 소스 컨텐츠에 대한 응답으로 상기 결정된 반응 컨텐츠를 제공하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 컨텐츠들 각각에 포함된 인간을 인식하고, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하고, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하고, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
컨텐츠에 포함된 인간의 포즈에 따라 컨텐츠들을 인덱싱하여 포즈 연관 컨텐츠 데이터베이스를 구축함으로써, 입력되는 컨텐츠가 포함하는 인간의 포즈에 따라 대응하는 포즈를 포함하는 반응 컨텐츠를 효율적, 즉각적으로 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 컨텐츠 기반 대화 시스템의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 컨텐츠 기반 대화 방법의 예를 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 컨텐츠 기반 대화 방법의 다른 예를 도시한 흐름도이다.
도 6은 본 발명의 일실시예에 있어서, 포즈에 따라 인덱스를 구축하는 과정의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 연속적인 포즈의 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, 반대 포즈의 예들을 도시한 도면이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 컨텐츠 기반 대화 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 컨텐츠 기반 대화 방법은 사용자 컨텐츠 기반 대화 시스템에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 컨텐츠 기반 대화 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 컨텐츠 기반 대화 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)은 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 인스턴트 메시징 서비스, 게임 서비스, 그룹 통화 서비스(또는 음성 컨퍼런스 서비스), 메시징 서비스, 메일 서비스, 소셜 네트워크 서비스, 지도 서비스, 번역 서비스, 금융 서비스, 결제 서비스, 검색 서비스, 컨텐츠 제공 서비스 등)를 제공하는 시스템일 수 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.
이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250) 중 적어도 하나는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다. 예를 들어, 스마트폰과 같이 터치스크린, 마이크, 스피커 등이 컴퓨터 장치(200)에 포함된 형태로 구현될 수 있다.
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
본 명세서에서 "인간"은 인간뿐만 아니라 의인화된 사물 또는 동식물 등을 포함하는 개념일 수 있으며, 인간의 "포즈"는 인간이 몸을 움직이거나 가누는 모양뿐만 아니라 인간의 얼굴 표정을 포함할 수 있다. 또한, "컨텐츠"는 이러한 인간의 포즈가 나타난 이미지, 동영상 및/또는 애니메이션을 포함하는 컨텐츠일 수 있다.
도 3은 본 발명의 일실시예에 따른 컨텐츠 기반 대화 시스템의 예를 도시한 도면이다. 본 실시예에 따른 컨텐츠 기반 대화 시스템(300)은 인덱싱 서버(310), API 서버(320) 및 봇(330)을 포함할 수 있다. 이때, 인덱싱 서버(310), API 서버(320) 및 봇(330)은 하나의 물리적인 장치에 의해 구현될 수도 있고, 하나 이상이 서로 다른 물리적인 장치에 구현될 수도 있다. 또한, 도 3에 도시된 사용자(340) 역시 실질적으로는 인스턴트 메시징 서비스를 이용하기 위해 사람이 이용하는 물리적인 장치에 대응될 수 있다. 여기서 물리적인 장치는 앞서 설명한 컴퓨터 장치(200)에 대응될 수 있다.
제1 과정(351)은 인덱싱 서버(310)가 인간의 포즈에 따라 컨텐츠들을 인덱싱하는 과정의 예일 수 있다. 이때, 인덱싱 서버(310)는 컨텐츠에 포함된 인간을 인식할 수 있으며, 인간의 포즈를 고차원 벡터로 전환할 수 있다. 이때, 고차원 벡터는 3 이상의 차원을 갖는 벡터를 의미할 수 있다. 인덱싱 서버(310)는 벡터를 정규화하여 정규화 벡터를 이용하여 각 컨텐츠를 인덱싱할 수 있다. 또한, 인덱싱 서버(310)는 인간의 포즈에 대한 벡터들간의 유사도를 계산하고, 계산된 유사도에 기반하여 인간의 포즈를 포함하는 다양한 컨텐츠들을 복수의 포즈 그룹으로 분류할 수 있다. 이때, 고차원 벡터로 인덱싱된 컨텐츠들은 추후 사용자(340)의 컨텐츠에 대한 반응으로서 사용자(340)에게 제공될 반응 컨텐츠 후보들이 될 수 있다.
제2 과정(352)은 사용자(340)가 봇(330)에게 컨텐츠를 전송하는 과정의 예일 수 있다. 봇(330)은 사용자(340)와 인스턴트 메시징 서비스를 통해 대화하는 인공지능 시스템일 수 있다. 예를 들어, 인스턴트 메시지 서비스에서 봇(330)의 인공지능 계정과 사용자(340)의 계정 사이에 연결된 대화 세션을 통해 송수신되는 인스턴트 메시지들을 통해 봇(330)과 사용자(340)간에 대화가 진행될 수 있다. 이때, 사용자(340)는 봇(330)과 연결된 대화 세션에 대응하는 대화방을 통해 인간의 포즈를 포함하는 컨텐츠가 포함된 인스턴트 메시지를 전송할 수 있다. 이러한 컨텐츠는 사용자(340)가 봇(330)에게 전달하는 대화의 일환일 수 있으며, 사용자(340)는 봇(330)이 이러한 대화에 반응(reaction)을 보일 것을 기대할 수 있다.
제3 과정(353)은 봇(330)이 API 호출을 통해 API 서버(320)로 제1 컨텐츠에 대한 처리를 요청하는 과정의 예일 수 있다. 제1 컨텐츠에 대한 처리는 제1 컨텐츠에 대해 봇(330)이 사용자(340)에게 보여야 할 반응으로서 반응 컨텐츠를 획득하기 위한 과정일 수 있다. 다시 말해, 봇(330)은 API 호출을 통해 API 서버(320)로 컨텐츠에 대한 어떠한 반응을 사용자(340)에게 제공해야 할 것인지를 문의할 수 있다.
제4 과정(354)은 API 서버(320)가 인덱싱 서버(310)로 포즈 분석을 요청하는 과정의 예일 수 있다. 예를 들어, API 서버(320)는 인덱싱 서버(310)로 컨텐츠를 전달하면서 컨텐츠가 포함하는 인간의 포즈에 대한 정보를 제공해줄 것을 요청할 수 있다.
제5 과정(355)은 인덱싱 서버(310)가 API 서버(320)로 포즈를 전달하는 과정의 예일 수 있다. 예를 들어, 인덱싱 서버(310)는 API 서버(320)로부터 전달된 제1 컨텐츠를 분석하여 제1 컨텐츠가 포함하는 인간을 인식할 수 있으며, 인식된 인간의 포즈를 추출할 수 있다. 이때, 인덱싱 서버(310)는 제1 과정(351)에서 인간의 포즈를 포함하는 다양한 컨텐츠들을 인덱싱한 결과를 포함하고 있으며, 제1 컨텐츠가 어떠한 인덱스에 포함되는 인간의 포즈를 포함하고 있는지 결정할 수 있다. 제1 컨텐츠가 포함하는 인간의 포즈가 결정되면, 인덱싱 서버(310)는 결정된 인간의 포즈를 API 서버(320)로 전달할 수 있다.
제6 과정(356)은 API 서버(320)가 포즈에 대한 반응을 검색하는 과정의 예일 수 있다. 예를 들어, API 서버(320)는 인덱싱 서버(310)로부터 포즈 A를 전달받은 경우, 포즈 A에 대한 반응으로서 포즈 B를 검색할 수 있다. API 서버(320)가 포즈 A에 대한 반응으로서 포즈 B를 검색하기 위한 보다 구체적인 방식에 대해서는 이후 더욱 자세히 설명한다.
제7 과정(357)은 API 서버(320)가 인덱싱 서버(310)로 반응 컨텐츠를 요청하는 과정의 예일 수 있다. 예를 들어, API 서버(320)는 인덱싱 서버(310)로 포즈 B를 전달하여 포즈 B에 대응하는 컨텐츠를 반응 컨텐츠로서 제공해줄 것을 요청할 수 있다.
제8 과정(358)은 인덱싱 서버(310)가 API 서버(320)로 반응 컨텐츠를 전달하는 과정의 예일 수 있다. 예를 들어, 인덱싱 서버(310)는 API 서버(320)로부터 전달된 포즈 B에 대응하는 컨텐츠들 중에서 임의의 컨텐츠를 반응 컨텐츠로서 선정할 수 있다. 이후, 인덱싱 서버(310)는 선정된 반응 컨텐츠를 API 서버(320)로 전달할 수 있다.
제9 과정(359)은 API 서버(320)가 봇(330)에게 반응 컨텐츠를 전달하는 과정의 예일 수 있다. 이러한 반응 컨텐츠의 전달은 제3 과정(353)에서의 컨텐츠에 대한 처리의 요청에 대한 응답일 수 있다.
제10 과정(360)은 봇(330)이 사용자(340)에게 반응 컨텐츠를 전달하는 과정의 예일 수 있다. 이러한 반응 컨텐츠의 전달은 제2 과정(352)에서 사용자(340)가 전송한 컨텐츠에 대한 봇(330)의 응답일 수 있다.
이처럼, 사용자(340)가 인간의 포즈를 포함하는 컨텐츠를 봇(330)에게 전달하는 경우, 봇(330) 역시 해당 포즈에 대응하는 포즈를 포함하는 반응 컨텐츠를 사용자(340)에게 제공함으로써, 사용자(340)와 봇(330)간의 컨텐츠 기반 대화가 가능해질 수 있다.
한편, 인간의 포즈에 대해 대응하는 포즈를 찾는 것은 매우 어려운 작업이 될 수 있다. 이하에서는 하나의 인간 포즈에 대해 대응하는 인간 포즈를 찾는 방법에 대해 설명한다. 이때, 이하에서는 발명의 이해를 돕기 위해 인간 포즈를 포함하는 컨텐츠를 이미지로 한정하여 설명하나, 인간 포즈를 포함하는 컨텐츠는 이미지뿐만 아니라, 동영상이나 애니메이션 등을 포함할 수도 있음을 이하의 설명을 통해 쉽게 이해할 수 있을 것이다.
일실시예에서, API 서버(320)는 룰(rule) 기반으로 대응하는 인간 포즈를 찾을 수 있다. 이를 위해, 모든 이미지들에 명확한 포즈 의미로서 라벨(label)이 부여될 수 있으며, 이러한 라벨이 이미지를 검색하기 위해 사용될 수 있다. 예를 들어, #sleep, #running, #fallingdown, #scold, #tobescold와 같은 몇 가지 라벨들이 정의될 수 있으며, 아래 표 1에 나타난 반응 맵핑 테이블(reacting mapping table)과 같이 반응 시나리오별로 소스 이미지를 위한 라벨과 대응 이미지를 위한 라벨이 연계될 수 있다. 실질적으로 소스 이미지를 위한 라벨은 소스 컨텐츠를 위한 제1 포즈를 식별하기 위한 정보일 수 있으며, 대응 이미지를 위한 라벨은 반응 컨텐츠를 위한 제2 포즈를 식별하기 위한 정보일 수 있다.
반응 시나리오 소스 이미지 대응 이미지 사용 케이스
흉내/유사 포즈 #sleep #sleep 채팅, 이미지 검색
연속적인 포즈 #running #fallingdown 채팅
반대 포즈 #scold #tobescold 채팅
예를 들어, 사용자(340)가 봇(310)에게 전송한 컨텐츠가 인간이 달리는 포즈를 포함한다고 가정한다. 이 경우, API 서버(320)는 제5 과정(355)을 통해 인덱싱 서버(310)로부터 컨텐츠가 포함하는 포즈에 대한 정보로서 달리는 포즈에 대한 고차원 벡터를 수신할 수 있다. 이때, API 서버(320)는 벡터 대 라벨 매핑 테이블을 이용하여 달리는 포즈에 대한 고차원 벡터를 라벨 #running과 대응시킬 수 있다. API 서버(320)는 라벨 #running로 반응 맵핑 테이블을 검색하여 반응 포즈에 대한 라벨 #fallingdown을 추출할 수 있다. 이 경우, API 서버(320)는 벡터 대 라벨 매핑 테이블을 이용하여 라벨 #fallingdown에 해당하는 고차원 벡터를 획득할 수 있다. API 서버(320)는 제7 과정(357)을 통해 반응 컨텐츠를 인덱싱 서버(310)로 요청할 수 있다. 인덱싱 서버(310)는 라벨 #fallingdown에 대응하여 획득된 고차원 벡터에 기반하여 인간이 넘어진 포즈를 포함하는 반응 컨텐츠를 API 서버(320)로 전달할 수 있다. API 서버(320)로 전달된 반응 컨텐츠를 봇(330)을 통해 사용자(340)에게 전달될 수 있다. 보다 구체적인 예로, 사용자(340)가 인간이 달리는 포즈의 스티커를 봇(330)에게 전달한 것에 대한 반응으로, 봇(330)은 인간이 넘어진 포즈(일례로, 인간이 달리다가 넘어졌다는 반응의 제공을 위한 포즈)의 스티커를 사용자(340)에게 응답할 수 있게 된다. 다시 말해, 사용자(340)와 봇(330)간의 컨텐츠 기반의 대화가 가능해진다.다른 실시예에서, API 서버(320)는 소스 이미지의 인간 포즈에 대해 대응 이미지를 위한 인간 포즈를 출력하도록 학습될 수 있다. 이때, 학습을 위해 기존의 비디오 클립들이 사용될 수 있다. 비디오 자료에서 인간의 포즈는 두 가지 타입을 갖는다. 첫 번째 타입은 연속된 시간 스탬프들에서의 동일한 인간의 포즈들이고, 두 번째 타입은 동일한 화면에서의 서로 다른 인간들간의 포즈들이다. 이때, 첫 번째 타입의 포즈들은 연속적인 포즈들을 결정하기 위한 학습 데이터로서 활용될 수 있으며, 두 번째 타입의 포즈들은 반대 포즈들을 결정하기 위한 학습 데이터로서 활용될 수 있다.
도 4는 본 발명의 일실시예에 따른 컨텐츠 기반 대화 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 컨텐츠 기반 대화 방법은 앞서 설명한 API 서버(320)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 4의 방법이 포함하는 단계들(410 내지 450)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.
단계(410)에서 컴퓨터 장치(200)는 소스 컨텐츠를 수신할 수 있다. 일실시예에서 컴퓨터 장치(200)는 입력되는 소스 컨텐츠에 따라 반응 컨텐츠를 제공하도록 구현될 수도 있다. 다른 실시예에서 컴퓨터 장치(200)는 앞서 도 3의 실시예에서 설명한 바와 같이, 봇(330)으로부터 소스 컨텐츠를 수신하여 봇(330)에게 소스 컨텐츠에 따른 반응 컨텐츠를 제공하도록 구현될 수도 있다. 이 경우, 컴퓨터 장치(200)는 인스턴트 메시징 서비스에서 사용자(340)의 계정과 봇(330)의 인공지능 계정간에 설정된 대화 세션을 통해 사용자(340)가 봇(330)에게 전송한 컨텐츠를, 봇(330)을 통해 소스 컨텐츠로서 수신할 수 있다.
단계(420)에서 컴퓨터 장치(200)는 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정할 수 있다. 일례로, 앞서 도 3의 실시예에서는 API 서버(320)가 인덱스 서버(310)를 통해 소스 컨텐츠가 포함하는 인간 포즈에 대한 고차원 벡터를 제공받는 과정을 설명한 바 있다. 이 경우, 인덱스 서버(310)는 이후 설명될 도 5의 단계들(510 내지 560)을 수행하도록 구현될 수 있으며, 컴퓨터 장치(200)는 단계(420)에서 인간의 포즈에 따라 컨텐츠들을 인덱싱하는 인덱싱 서버(310)를 통해 소스 컨텐츠가 포함하는 인간 포즈를 결정할 수 있다.
한편, 다른 실시예에서 컴퓨터 장치(200)가 API 서버(320)와 인덱스 서버(310)를 모두 포함하도록 구현되는 경우, 컴퓨터 장치(200)는 도 5의 단계들(510 내지 560) 중 단계들(510 내지 540)을 수행하도록 구현될 수 있다. 이때, 단계(420)는 도 5의 단계(550)에 단계(450)는 도 5의 단계(560)에 각각 대응될 수 있다. 이 경우, 컴퓨터 장치(200)는 단계(420)에서 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터와 도 5의 단계(520)에서 전환된 차원 벡터간의 유사도를 통해 소스 컨텐츠를 인덱싱하여 인간 포즈를 결정할 수 있다.
단계(430)에서 컴퓨터 장치(200)는 결정된 인간 포즈에 대응하는 반응 포즈를 결정할 수 있다. 컴퓨터 장치(200)는 인간 포즈에 대응하는 반응 포즈를 결정하기 위해 반응 맵핑 테이블을 이용하는 실시예 및/또는 학습 모델을 이용하는 실시예를 활용할 수 있다.
일실시예에서 컴퓨터 장치(200)는 반응 시나리오에 따라 소스 컨텐츠를 위한 제1 포즈와 반응 컨텐츠를 위한 제2 포즈를 연계하여 저장하는 반응 맵핑 테이블을 저장할 수 있다. 이 경우, 컴퓨터 장치(200)는 단계(430)에서 반응 맵핑 테이블에서 인간 포즈에 대응하는 제2 포즈를 추출하여 반응 포즈로서 결정할 수 있다. 여기서 반응 맵핑 테이블은 앞서 표 1을 통해 자세히 설명한 바 있다. 이때, 반응 시나리오는 제1 포즈와 제2 포즈를 유사한 포즈로서 연계시키기 위한 제1 반응 시나리오, 제1 포즈와 제2 포즈를 연속적인 포즈로서 연계시키기 위한 제2 반응 시나리오 및 제1 포즈와 제2 포즈를 반대 포즈로서 연계시키기 위한 제3 반응 시나리오를 포함할 수 있다. 반응 맵핑 테이블은 사용자 프로필 항목(사용자 성별, 나이 등)을 더 포함할 수 있고, 소스 컨텐츠를 위한 제1 포즈와 반응 컨텐츠를 위한 제2 포즈를 사용자 프로필 항목 별로 더 매핑시킬 수 있다.
다른 실시예에서 컴퓨터 장치(200)는 비디오 클립들로부터 추출되는 인간 포즈들을 학습 데이터로 이용하여 학습 모델이 제1 포즈에 대응하는 제2 포즈를 출력하도록 학습 모델을 학습시킬 수 있다. 이때, 컴퓨터 장치(200)는 연속된 시간 스탬프들에서 동일한 인간에 대해 얻어지는 포즈들을 연속적인 포즈들을 위한 학습 데이터로 이용하고, 동일한 화면에서 서로 다른 인간들에 대해 얻어지는 포즈들을 반대 포즈들을 위한 학습 데이터로 이용하여 학습 모델을 학습시킬 수 있다. 이 경우, 단계(430)에서 컴퓨터 장치(200)는 결정된 인간 포즈를 제1 포즈로서 학습 모델에 입력하여 학습 모델로부터 출력되는 제2 포즈를 반응 포즈로서 결정할 수 있다.
단계(440)에서 컴퓨터 장치(200)는 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정할 수 있다. 이미 설명한 바와 같이, 일실시예에서 컴퓨터 장치(200)는 별도의 인덱싱 서버(310)를 통해 반응 포즈를 포함하는 반응 컨텐츠를 결정할 수 있다. 예를 들어, 컴퓨터 장치(200)는 결정된 반응 포즈를 인덱싱 서버(310)로 전송하여 인덱싱 서버(310)로부터 결정된 반응 포즈를 포함하는 반응 컨텐츠를 수신할 수 있다. 일례로, 인덱싱 서버(310)는 인덱싱 서버(310)에서 도 5의 단계(540)를 통해 인덱싱된 컨텐츠들 중에서 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 반응 컨텐츠로서 결정하여 제공할 수 있다.
다른 실시예에서 컴퓨터 장치(200)는 도 5의 단계들(510 내지 560)을 직접 수행할 수 있으며, 역시 도 5의 단계(540)를 통해 인덱싱된 컨텐츠들 중에서 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 반응 컨텐츠로서 결정할 수 있다.
단계(450)에서 컴퓨터 장치(200)는 소스 컨텐츠에 대한 응답으로 결정된 반응 컨텐츠를 제공할 수 있다. 이미 설명한 바와 같이, 컴퓨터 장치(200)는 단순히 입력되는 소스 컨텐츠에 따라 반응 컨텐츠를 제공하도록 구현될 수도 있다. 그러나, 다른 실시예에서 컴퓨터 장치(200)는 반응 컨텐츠가 소스 컨텐츠에 대한 응답으로서 봇(330)을 통해 사용자(340)에게 제공될 수 있도록 반응 컨텐츠를 봇(330)으로 전송할 수 있다. 이 경우, 컴퓨터 장치(200)는 봇(330)이 사용자(340)로부터 입력되는 소스 컨텐츠에 대한 응답으로 반응 컨텐츠를 제공함으로써, 컨텐츠 기반의 대화를 진행하도록 할 수 있다.
도 5는 본 발명의 일실시예에 따른 컨텐츠 기반 대화 방법의 다른 예를 도시한 흐름도이다. 본 실시예에 따른 컨텐츠 기반 대화 방법은 앞서 설명한 인덱싱 서버(310)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 5의 방법이 포함하는 단계들(510 내지 560)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.
단계(510)에서 컴퓨터 장치(200)는 컨텐츠들 각각에 포함된 인간을 인식할 수 있다. 예를 들어, 컴퓨터 장치(200)는 컨텐츠로서 포함되는 이미지, 동영상 및/또는 애니메이션에서 인간이 포함된 영역을 인식할 수 있다. 인간을 인식하는 방법은 이미지에서 특정 객체를 탐지하기 위해 이미 잘 알려진 기술들을 활용할 수 있다.
단계(520)에서 컴퓨터 장치(200)는 인식된 인간의 포즈를 고차원 벡터로 전환할 수 있다. 이때, 컴퓨터 장치(200)는 인간의 포즈를 추정하기 위한 이미 알려진 기술들을 이용하여 고차원 벡터를 생성할 수 있다. 예를 들어, 컴퓨터 장치(200)는 인식된 인간의 신체 부위와 연관하여 주요 관절(key body joints)에 대한 벡터를 포함하는 고차원 벡터를 생성할 수 있다. 일례로, 얼굴, 오른쪽 어깨, 왼쪽 어깨, 오른쪽 팔꿈치, 왼쪽 팔꿈치, 오른쪽 골반, 왼쪽 골반, 오른쪽 무릎, 왼쪽 무릎 등 관절 각각에 대한 벡터들을 포함하는 고차원 벡터를 생성할 수 있다.
단계(530)에서 컴퓨터 장치(200)는 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산할 수 있다. 일례로, 고차원 벡터들은 각각 주요 관절에 대한 벡터들을 포함할 수 있기 때문에 고차원 벡터들의 비교는 인간의 포즈에 대한 비교에 대응할 수 있다.
단계(540)에서 컴퓨터 장치(200)는 계산된 유사도에 기반하여 컨텐츠들을 인덱싱할 수 있다. 일례로, 미리 정의된 인간 포즈들을 대표할 수 있는 고차원 벡터들이 미리 제시될 수 있다. 이때, 컴퓨터 장치(200)는 미리 정의된 인간 포즈별 고차원 벡터와 컨텐츠들에서 추출된 인간 포즈의 고차원 벡터들을 비교하여 그 유사도에 따라 컨텐츠들을 인덱싱할 수 있다. 이때, 인간 포즈에 대한 키워드를 이용하여 포즈 유형 별로 인덱싱된 컨텐츠들을 추가적으로 분류하는 것이 가능하다.
단계(550)에서 컴퓨터 장치(200)는 소스 컨텐츠가 포함하는 인간 포즈를 결정할 수 있다. 일실시예에서 컴퓨터 장치(200)가 API 서버(320)와 인덱싱 서버(310)를 모두 포함하도록 구현된 경우, 단계(550)는 도 4의 단계(420)에 대응될 수 있다. 다른 실시예에서 컴퓨터 장치(200)가 인덱싱 서버(310)를 구현하고, API 서버(320)가 별도의 물리적인 장치에 구현된 경우, 컴퓨터 장치(200)는 API 서버(320)로부터 소스 컨텐츠를 수신하고, 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터 또는 해당 고차원 벡터에 대한 인덱스를 이용하여 소스 컨텐츠가 포함하는 인간 포즈를 결정할 수 있다. 이 경우, 컴퓨터 장치(200)는 결정된 인간 포즈를 API 서버(320)로 제공할 수 있다.
단계(560)에서 컴퓨터 장치(200)는 반응 포즈를 포함하는 반응 컨텐츠를 결정할 수 있다. 일실시예에서, 컴퓨터 장치(200)가 API 서버(320)와 인덱싱 서버(310)를 모두 포함하도록 구현된 경우, 단계(560)는 도 4의 단계(440)에 대응될 수 있다. 다른 실시예에서 컴퓨터 장치(200)가 인덱싱 서버(310)를 구현하고, API 서버(320)가 별도의 물리적인 장치에 구현된 경우, 컴퓨터 장치(200)는 API 서버(320)로 제공된 인간 포즈에 대응하여 API 서버(320)에서 결정된 반응 포즈를 수신하고, 인덱싱된 컨텐츠들 중 수신된 반응 포즈를 포함하는 반응 컨텐츠를 결정할 수 있다. 이 경우, 컴퓨터 장치(200)는 결정된 반응 컨텐츠를 API 서버(320)로 제공할 수 있다.
이미 설명한 바와 같이, API 서버(320)는 반응 컨텐츠를 소스 컨텐츠에 대한 응답으로 제공함으로써, 사용자(340)와 봇(330)간에 컨텐츠에 기반한 대화가 가능해질 수 있다.
도 6은 본 발명의 일실시예에 있어서, 포즈에 따라 인덱스를 구축하는 과정의 예를 도시한 도면이다. 도 6은 소스 이미지(610)가 포함하는 인간의 포즈를 제1 점선박스(620)와 같이 고차원 벡터로 전환하는 예를 나타내고 있다. 소스 이미지(610)에 다수의 인간이 인식된 경우, 인식된 인간 이미지의 크기, 이미지 내에서의 위치, 또는 인식 신뢰도를 기초로 다수의 인간 중 적어도 일부에 대해서만 고차원 벡터로 전환할 수 있다. 일례로, 소스 이미지(610)에서는 인식 신뢰도가 각각 0.830, 0.971 및 0.997인 세 인간이 나타나 있다. 이때, 인식된 세 인간 중 이미지의 크기가 가장 크고, 인식 신뢰도가 가장 높은(0.997) 인간에 대해서만 고차원 벡터로의 전환이 이루어질 수 있다. 이 경우, 제1 점선박스(620)에 나타난 고차원 벡터는 소스 이미지(610)에서 인식 신뢰도가 가장 높은 인간의 포즈에 대한 고차원 벡터의 예일 수 있다. 고차원 벡터로의 전환을 위해 컴퓨터 장치(200)는 일례로, 이미지 내에서 인식된 주요 관절 각각에 해당하는 x좌표와 y좌표로부터 고차원 벡터를 생성하거나 관절 각각에 대해 정규화된 벡터(normalized vector)를 생성한 후 주요 관절 각각의 정규화된 벡터들로부터 고차원 벡터를 생성할 수 있다. 이어서, 제2 점선박스(630)와 같이 고차원 벡터로 구성된 벡터공간 내에서 소스 이미지(610)의 고차원 벡터로부터의 거리를 기초로 유사도가 결정될 수 있다. 이러한 유사도에 기초하여 이미지들이 인덱싱될 수 있으며, 특정 이미지와 유사한 이미지들을 제공할 수 있게 된다. 제2 점선박스(630)와 같은 벡터공간 내에서 소스 이미지(610)의 고차원 벡터로부터의 거리 순으로 미리 정해진 개수의 이미지가 반응 이미지로 결정될 수 있다. 도 6에서 제3 점선박스(640)와 같이 소스 이미지(610)로부터의 고차원 벡터를 기초로 결정된 세 개의 서로 다른 이미지가 도출될 수 있다. 일례로, 도 3의 실시예에서 봇(330)과 사용자(340)간의 대화 중 사용자(340)로부터 소스 이미지(610)가 수신된 상황을 가정할 수 있다. 이때, 봇(330)은 소스 이미지(610)로부터의 고차원 벡터를 기초로 결정된 세 개의 이미지를 반응 이미지(650)로서 사용자(340)에게 전달할 수 있다. 즉, 봇(330)은 사용자(340)가 전달한 소스 이미지(610)에 대한 반응으로서 반응 이미지(650)를 사용자(340)에게 전달할 수 있다. 이때, 반응 이미지(650)는 사용자에 의해 선택 가능한 후보로서 컴퓨터 장치(200)에서의 입력창의 적어도 일부에 표시될 수 있다. 도 6의 실시예에서는 세 개의 서로 다른 이미지들이 반응 이미지로서 도출된 예를 설명하고 있으나, 도출 가능한 반응 이미지들의 수는 소스 이미지(610)에 따라 및/또는 설정에 따라 다양하게 조절될 수 있다.
이때, 반응 이미지들은 기 구축된 데이터베이스를 이용하여 제공될 수 있다. 예를 들어, 인간의 포즈를 포함하는 컨텐츠들이 수집될 수 있으며, 수집된 컨텐츠들 각각에서 인간의 포즈가 고차원 벡터로 전환될 수 있다. 이 경우, 고차원 벡터와 해당 컨텐츠가 서로 연계되어 데이터베이스에 저장될 수 있다. 만약, 하나의 컨텐츠가 다수의 인간들을 포함하는 경우, 하나의 컨텐츠에 대해 다수의 고차원 벡터들이 연계될 수도 있다. 또한, 실시예에 따라 데이터베이스에는 컨텐츠가 포함하는 인간에 대한 인식 신뢰도가 해당 컨텐츠와 연계하여 더 저장될 수도 있다. 이 경우에도 하나의 컨텐츠가 다수의 인간들을 포함하는 경우, 하나의 컨텐츠에 대해 다수의 인식 신뢰도가 연계하여 저장될 수도 있다. 데이터베이스가 구축되고 나면, 컴퓨터 장치(200)는 입력되는 소스 이미지(610)로부터 얻어지는 고차원 벡터에 기반하여 데이터베이스로부터 적어도 하나의 반응 이미지를 추출할 수 있다.
도 7은 본 발명의 일실시예에 있어서, 연속적인 포즈의 예를 도시한 도면이다. 도 7은 비디오 클립에서 연속된 시간 스탬프들에서 동일한 인간에 의해 얻어지는 포즈들의 예를 나타내고 있다. 이미 설명한 바와 같이 이러한 포즈들은 연속적인 포즈들을 위한 학습 데이터로 활용될 수 있다. 이때, 각각의 포즈에 대한 고차원 벡터는 인식 신뢰도와 함께 저장될 수 있다.
도 8은 본 발명의 일실시예에 있어서, 반대 포즈의 예들을 도시한 도면이다. 도 8은 동일한 화면에서 서로 다른 인간들에 얻어지는 포즈들의 예를 나타내고 있다. 이미 설명한 바와 같이, 이러한 포즈들은 반대 포즈들을 위한 학습 데이터로 활용될 수 있다. 다시 말해, 둘 중 하나의 포즈와 일정 이상의 인식 신뢰도로 유사한 포즈가 소스 컨텐츠로 입력된 경우, 다른 하나의 포즈와 일정 이상의 인식 신뢰도로 유사한 포즈가 반응 컨텐츠로 제공될 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 컨텐츠에 포함된 인간의 포즈에 따라 컨텐츠들을 인덱싱하여, 입력되는 컨텐츠가 포함하는 인간의 포즈에 따라 대응하는 포즈를 포함하는 반응 컨텐츠를 제공할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 컨텐츠 기반 대화 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 소스 컨텐츠를 수신하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 인간 포즈에 대응하는 반응 포즈를 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 소스 컨텐츠에 대한 응답으로 상기 결정된 반응 컨텐츠를 제공하는 단계
    를 포함하는 컨텐츠 기반 대화 방법.
  2. 제1항에 있어서,
    상기 소스 컨텐츠를 수신하는 단계는,
    인스턴트 메시징 서비스에서 사용자의 계정과 봇의 인공지능 계정간에 설정된 대화 세션을 통해 상기 사용자가 상기 봇에게 전송한 컨텐츠를, 상기 봇을 통해 상기 소스 컨텐츠로서 수신하고,
    상기 결정된 반응 컨텐츠를 제공하는 단계는,
    상기 반응 컨텐츠가 상기 소스 컨텐츠에 대한 응답으로서 상기 봇을 통해 상기 사용자에게 제공될 수 있도록 상기 반응 컨텐츠를 상기 봇으로 전송하는 것
    을 특징으로 하는 컨텐츠 기반 대화 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 컨텐츠들 각각에 포함된 인간을 인식하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 단계
    를 더 포함하는 컨텐츠 기반 대화 방법.
  4. 제3항에 있어서,
    상기 인간 포즈를 결정하는 단계는,
    상기 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터와 상기 전환된 차원 벡터간의 유사도를 통해 상기 소스 컨텐츠를 인덱싱하여 상기 인간 포즈를 결정하는 것을 특징으로 하는 컨텐츠 기반 대화 방법.
  5. 제3항에 있어서,
    상기 반응 컨텐츠를 결정하는 단계는,
    상기 인덱싱된 컨텐츠들 중에서 상기 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 상기 반응 컨텐츠로서 결정하는 것을 특징으로 하는 컨텐츠 기반 대화 방법.
  6. 제1항에 있어서,
    상기 인간 포즈를 결정하는 단계는,
    인간의 포즈에 따라 컨텐츠들을 인덱싱하는 인덱싱 서버를 통해 상기 소스 컨텐츠가 포함하는 인간 포즈를 결정하고,
    상기 인덱싱 서버는,
    컨텐츠들 각각에 포함된 인간을 인식하고,
    상기 인식된 인간의 포즈를 고차원 벡터로 전환하고,
    상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하고,
    상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 것
    을 특징으로 하는 컨텐츠 기반 대화 방법.
  7. 제6항에 있어서,
    상기 반응 컨텐츠를 결정하는 단계는,
    상기 결정된 반응 포즈를 상기 인덱싱 서버로 전송하여 상기 인덱싱 서버로부터 상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 수신하고,
    상기 인덱싱 서버는, 상기 인덱싱된 컨텐츠들 중에서 상기 결정된 반응 포즈를 포함하는 임의의 컨텐츠를 상기 반응 컨텐츠로서 결정하여 제공하는 것
    을 특징으로 하는 컨텐츠 기반 대화 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 반응 시나리오에 따라 소스 컨텐츠를 위한 제1 포즈와 반응 컨텐츠를 위한 제2 포즈를 연계하여 저장하는 반응 맵핑 테이블을 저장하는 단계
    를 더 포함하고,
    상기 반응 포즈를 결정하는 단계는,
    상기 반응 맵핑 테이블에서 상기 인간 포즈에 대응하는 제2 포즈를 추출하여 상기 반응 포즈로서 결정하는 것
    을 특징으로 하는 컨텐츠 기반 대화 방법.
  9. 제8항에 있어서,
    상기 반응 시나리오는 상기 제1 포즈와 상기 제2 포즈를 유사한 포즈로서 연계시키기 위한 제1 반응 시나리오, 상기 제1 포즈와 상기 제2 포즈를 연속적인 포즈로서 연계시키기 위한 제2 반응 시나리오 및 상기 제1 포즈와 상기 제2 포즈를 반대 포즈로서 연계시키기 위한 제3 반응 시나리오를 포함하는 것을 특징으로 하는 컨텐츠 기반 대화 방법.
  10. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 비디오 클립들로부터 추출되는 인간 포즈들을 학습 데이터로 이용하여 학습 모델이 제1 포즈에 대응하는 제2 포즈를 출력하도록 상기 학습 모델을 학습시키는 단계
    를 더 포함하고,
    상기 반응 포즈를 결정하는 단계는,
    상기 결정된 인간 포즈를 상기 제1 포즈로서 상기 학습 모델에 입력하여 상기 학습 모델로부터 출력되는 상기 제2 포즈를 상기 반응 포즈로서 결정하는 것
    을 특징으로 하는 컨텐츠 기반 대화 방법.
  11. 제10항에 있어서,
    상기 학습시키는 단계는,
    연속된 시간 스탬프들에서 동일한 인간에 대해 얻어지는 포즈들을 연속적인 포즈들을 위한 학습 데이터로 이용하고, 동일한 화면에서 서로 다른 인간들에 대해 얻어지는 포즈들을 반대 포즈들을 위한 학습 데이터로 이용하여 상기 학습 모델을 학습시키는 것을 특징으로 하는 컨텐츠 기반 대화 방법.
  12. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 컨텐츠 기반 대화 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 컨텐츠들 각각에 포함된 인간을 인식하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 인식된 인간의 포즈를 고차원 벡터로 전환하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 컨텐츠들에 대한 고차원 벡터들간의 유사도를 계산하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 계산된 유사도에 기반하여 상기 컨텐츠들을 인덱싱하는 단계
    를 포함하는 컨텐츠 기반 대화 방법.
  13. 제12항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 소스 컨텐츠를 수신하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 소스 컨텐츠에서 인식된 인간의 포즈에 대한 고차원 벡터를 통해 상기 소스 컨텐츠를 인덱싱하여 상기 소스 컨텐츠가 포함하는 인간 포즈를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 인간 포즈를 제공하는 단계
    를 더 포함하는 컨텐츠 기반 대화 방법.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 제공된 인간 포즈에 대응하여 결정된 반응 포즈를 수신하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 인덱싱된 컨텐츠들 중 상기 수신된 반응 포즈를 포함하는 반응 컨텐츠를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 반응 컨텐츠를 제공하는 단계
    를 더 포함하는 컨텐츠 기반 대화 방법.
  15. 컴퓨터 장치와 결합되어 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  16. 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    소스 컨텐츠를 수신하고,
    상기 입력된 소스 컨텐츠가 포함하는 인간 포즈를 결정하고,
    상기 결정된 인간 포즈에 대응하는 반응 포즈를 결정하고,
    상기 결정된 반응 포즈를 포함하는 반응 컨텐츠를 결정하고,
    상기 소스 컨텐츠에 대한 응답으로 상기 결정된 반응 컨텐츠를 제공하는 것
    을 특징으로 하는 컴퓨터 장치.
  17. 제16항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 소스 컨텐츠를 입력받기 위해, 인스턴트 메시징 서비스에서 사용자의 계정과 봇의 인공지능 계정간에 설정된 대화 세션을 통해 상기 사용자가 상기 봇에게 전송한 컨텐츠를, 상기 봇을 통해 상기 소스 컨텐츠로서 수신하고,
    상기 반응 컨텐츠를 제공하기 위해, 상기 반응 컨텐츠가 상기 소스 컨텐츠에 대한 응답으로서 상기 봇을 통해 상기 사용자에게 제공될 수 있도록 상기 반응 컨텐츠를 상기 봇으로 전송하는 것
    을 특징으로 하는 컴퓨터 장치.
  18. 제16항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    반응 시나리오에 따라 소스 컨텐츠를 위한 제1 포즈와 반응 컨텐츠를 위한 제2 포즈를 연계하여 저장하는 반응 맵핑 테이블을 저장하고,
    상기 반응 포즈를 결정하기 위해, 상기 반응 맵핑 테이블에서 상기 인간 포즈에 대응하는 제2 포즈를 추출하여 상기 반응 포즈로서 결정하는 것
    을 특징으로 하는 컴퓨터 장치.
  19. 제16항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    비디오 클립들로부터 추출되는 인간 포즈들을 학습 데이터로 이용하여 학습 모델이 제1 포즈에 대응하는 제2 포즈를 출력하도록 상기 학습 모델을 학습시키고,
    상기 반응 포즈를 결정하기 위해, 상기 결정된 인간 포즈를 상기 제1 포즈로서 상기 학습 모델에 입력하여 상기 학습 모델로부터 출력되는 상기 제2 포즈를 상기 반응 포즈로서 결정하는 것
    을 특징으로 하는 컴퓨터 장치.
  20. 제19항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    연속된 시간 스탬프들에서 동일한 인간에 대해 얻어지는 포즈들을 연속적인 포즈들을 위한 학습 데이터로 이용하고, 동일한 화면에서 서로 다른 인간들에 대해 얻어지는 포즈들을 반대 포즈들을 위한 학습 데이터로 이용하여 상기 학습 모델을 학습시키는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020200009352A 2020-01-23 2020-01-23 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템 KR20210095446A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200009352A KR20210095446A (ko) 2020-01-23 2020-01-23 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템
CN202110081199.5A CN113191929A (zh) 2020-01-23 2021-01-21 基于内容的对话方法、计算机可读记录介质及计算机装置
TW110102496A TWI826767B (zh) 2020-01-23 2021-01-22 基於內容的對話方法、電腦可讀取記錄媒體及電腦裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200009352A KR20210095446A (ko) 2020-01-23 2020-01-23 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20210095446A true KR20210095446A (ko) 2021-08-02

Family

ID=76972617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200009352A KR20210095446A (ko) 2020-01-23 2020-01-23 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템

Country Status (3)

Country Link
KR (1) KR20210095446A (ko)
CN (1) CN113191929A (ko)
TW (1) TWI826767B (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
JP2018126810A (ja) * 2017-02-06 2018-08-16 川崎重工業株式会社 ロボットシステム及びロボット対話方法
WO2018209094A1 (en) * 2017-05-11 2018-11-15 Kodak Alaris Inc. Method for identifying, ordering, and presenting images according to expressions
CN107340859B (zh) * 2017-06-14 2021-04-06 北京光年无限科技有限公司 多模态虚拟机器人的多模态交互方法和系统
CN108415561A (zh) * 2018-02-11 2018-08-17 北京光年无限科技有限公司 基于虚拟人的手势交互方法及系统

Also Published As

Publication number Publication date
TWI826767B (zh) 2023-12-21
TW202129467A (zh) 2021-08-01
CN113191929A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US11443120B2 (en) Multimodal entity and coreference resolution for assistant systems
US11302337B2 (en) Voiceprint recognition method and apparatus
US10586369B1 (en) Using dialog and contextual data of a virtual reality environment to create metadata to drive avatar animation
WO2019128552A1 (zh) 信息推送方法、装置、终端及存储介质
US11100934B2 (en) Method and apparatus for voiceprint creation and registration
US10909386B2 (en) Information push method, information push device and information push system
CN107632706B (zh) 多模态虚拟人的应用数据处理方法和系统
CN111417028A (zh) 信息处理方法、装置、存储介质及电子设备
CN107977928B (zh) 表情生成方法、装置、终端及存储介质
CN113094550A (zh) 视频检索方法、装置、设备和介质
CN112221139B (zh) 一种游戏的信息交互方法、装置和计算机可读存储介质
CN107832720B (zh) 基于人工智能的信息处理方法和装置
EP3869393B1 (en) Image recognition method and apparatus, electronic device, and medium
JP2021034003A (ja) 人物識別方法、装置、電子デバイス、記憶媒体、及びプログラム
KR20210050166A (ko) 그룹 앨범을 이용하는 대화방에서 프로필 사진 기반 사용자 얼굴 인식과 활용 방법
WO2021195404A1 (en) Speech-based selection of augmented reality content for detected objects
CN114357278A (zh) 一种话题推荐方法、装置及设备
CN111523053A (zh) 信息流处理方法、装置、计算机设备和存储介质
CN111444321B (zh) 问答方法、装置、电子设备和存储介质
Wang et al. A gesture-based method for natural interaction in smart spaces
Tejero-de-Pablos et al. Flexible human action recognition in depth video sequences using masked joint trajectories
KR20210095446A (ko) 인간의 포즈에 따른 컨텐츠 기반 대화 방법 및 시스템
Kim et al. Dynamic arm gesture recognition using spherical angle features and hidden markov models
CN110263743B (zh) 用于识别图像的方法和装置
CN113542257A (zh) 视频处理方法、视频处理装置、电子设备和存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal