KR20210029080A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20210029080A
KR20210029080A KR1020200086048A KR20200086048A KR20210029080A KR 20210029080 A KR20210029080 A KR 20210029080A KR 1020200086048 A KR1020200086048 A KR 1020200086048A KR 20200086048 A KR20200086048 A KR 20200086048A KR 20210029080 A KR20210029080 A KR 20210029080A
Authority
KR
South Korea
Prior art keywords
question
feature data
text
model
answer
Prior art date
Application number
KR1020200086048A
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 PCT/KR2020/011387 priority Critical patent/WO2021045434A1/ko
Publication of KR20210029080A publication Critical patent/KR20210029080A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치 및 이의 제어 방법이 개시된다. 본 개시의 전자 장치는 적어도 하나의 인스트럭션을 저장하는 메모리 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하고, 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 영상 및 상기 영상에 대한 질문을 제1 모델에 입력하여 영상에 포함된 복수의 키 프레임에 대한 제1 특징 데이터 및 복수의 키 프레임과 관련된 제1 가중치를 획득하고, 영상에 대한 텍스트 및 영상에 대한 질문을 제2 모델에 입력하여 텍스트에 대한 제2 특징 데이터 및 텍스트와 관련된 제2 가중치를 획득하고, 제1 가중치와 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 제2 가중치와 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하며, 키 프레임 특징 데이터 및 텍스트 특징 데이터를 바탕으로 질문에 대한 답변을 획득할 수 있다.

Description

전자 장치 및 이의 제어 방법{Electronic device and Method for controlling the electronic device}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 영상 및 영상에 대한 텍스트를 바탕으로 영상과 관련된 질문에 대한 답변을 획득하는 전자 장치 및 이의 제어 방법에 관한 것이다.
인공 지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습시키는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다. 특히, 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다.
한편, 최근에는 시각적 이해와 언어적 이해 기술을 통합하여 이미지와 관련된 질문에 대한 답변을 출력하는 기술에 대한 연구가 활발히 진행되고 있다. 다만, 기존 기술의 경우, 영상에 포함된 복수의 이미지 및 복수의 이미지에 대한 텍스트를 모두 활용하여 영상에 대한 답변을 효율적으로 획득하지 못한다는 한계가 존재하였다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 개시의 목적은 영상 및 영상에 대한 텍스트 각각에 대한 특징 데이터에 가중치를 반영함으로써 영상에 대한 답변을 효율적으로 획득하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시예에 따른, 전자 장치는 적어도 하나의 인스트럭션(instruction)을 저장하는 메모리 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 영상 및 상기 영상에 대한 질문을 제1 모델에 입력하여 상기 영상에 포함된 복수의 키 프레임(key frame)에 대한 제1 특징 데이터 및 상기 복수의 키 프레임과 관련된 제1 가중치를 획득하고, 상기 영상에 대한 텍스트 및 상기 영상에 대한 질문을 제2 모델에 입력하여 상기 텍스트에 대한 제2 특징 데이터 및 상기 텍스트와 관련된 제2 가중치를 획득하고, 상기 제1 가중치와 상기 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 상기 제2 가중치와 상기 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하며, 상기 키 프레임 특징 데이터 및 상기 텍스트 특징 데이터를 바탕으로 상기 질문에 대한 답변을 획득할 수 있다.
본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은, 영상 및 상기 영상에 대한 질문을 제1 모델에 입력하여 상기 영상에 포함된 복수의 키 프레임에 대한 제1 특징 데이터 및 상기 복수의 키 프레임과 관련된 제1 가중치를 획득하는 단계; 상기 영상에 대한 텍스트 및 상기 영상에 대한 질문을 제2 모델에 입력하여 상기 텍스트에 대한 제2 특징 데이터 및 상기 텍스트와 관련된 제2 가중치를 획득하는 단계; 상기 제1 가중치와 상기 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 상기 제2 가중치와 상기 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하는 단계; 및 상기 키 프레임 특징 데이터 및 상기 텍스트 특징 데이터를 바탕으로 상기 질문에 대한 답변을 획득하는 단계;를 포함할 수 있다.
상술된 본 개시의 다양한 실시예를 통해, 전자 장치는 질문에 대한 답변을 획득하기 위하여 영상 및 영상에 대한 텍스트 중 필요한 데이터에 가중치를 적용하고, 가중치가 적용된 특징 데이터를 바탕으로 질문에 대한 답변을 획득함으로써, 사용자는 더욱 정확한 영상과 관련된 질문에 대한 답변을 획득할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 2a는 본 개시의 일 실시예에 따른, 전자 장치가 영상 및 영상에 대한 텍스트 각각의 특징 데이터를 획득하는 과정을 설명하기 위한 도면,
도 2b 및 도 2c는 본 개시의 일 실시예에 따른, 전자 장치가 영상에 대한 답변을 획득하는 과정을 설명하기 위한 도면,
도 3은 본 개시의 일 실시예에 따른, 전자 장치가 컨텍스트 투 쿼리 모듈을 학습시키는 과정을 설명하기 위한 도면,
도 4는 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 도면이다.
본 개시는 영상과 관련된 질문에 대한 답변을 획득하기 위하여, 영상 및 영상에 대한 텍스트 각각에 대한 특징 데이터에 가중치를 적용하고, 가중치가 적용된 특징 데이터를 바탕으로 질문에 대한 답변을 획득하는 전자 장치 및 이의 제어 방법에 관한 것이다. 구체적으로, 전자 장치는 영상에 포함된 복수의 키 프레임과 영상에 대한 질문 간에 매핑되는 정도를 나타내는 제1 가중치를 획득하고, 영상에 대한 텍스트와 영상에 대한 질문간에 매핑되는 정도는 나타내는 제2 가중치를 획득함으로써, 영상 및 영상에 대한 텍스트 중 질문에 대한 답변을 획득하기 위해 더 필요한 데이터가 어떤 데이터인지 여부를 파악할 수 있다. 따라서, 전자 장치는 가중치가 적용된 특징 데이터를 바탕으로 질문에 대한 답변을 효율적으로 그리고 정확하게 획득할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 구체적으로 설명하도록 한다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 설명하기 위한 블록도이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 통신부(120), 디스플레이(130), 프로세서(140), 스피커(150) 및 입력부(160)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 그리고, 메모리(110)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 그리고, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
메모리(110)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(140) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(110)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
특히, 메모리(110)는 프로세서(140)가 실행할 수 있는 적어도 하나의 프로그램에 대응되는 인스트럭션 집합(instruction set)을 저장할 수 있다. 인스트럭션은 프로그래밍 작성 언어에서 프로세서(140)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다.
그리고, 메모리(110)는 영상에 대한 텍스트 및 영상에 대한 질문을 바탕으로 영상에 포함된 복수의 키 프레임(key frame)에 대한 제1 특징 데이터 및 복수의 키 프레임과 관련된 제1 가중치를 출력할 수 있는 인공 지능 모델인 제1 모델을 저장할 수 있다. 구체적으로, 제1 모델에는 영상에 포함된 복수의 키 프레임의 특징 데이터를 추출할 수 있는 인공 신경망(예를 들어, CNN(Convolutional Neural Network) 및 LSTM(Long Short-Term Memory Network) 등), 질문을 나타내는 텍스트에 대해 워드 임베딩(word embedding)을 수행하여 질문을 나타내는 텍스트에 대응되는 벡터 또는 행렬 데이터를 출력하는 워드 임베딩 모듈, 복수의 키 프레임과 관련된 제1 가중치를 츨력할 수 있는 제1 컨텍스트 투 쿼리(context-to-query) 모듈을 포함할 수 있다.
그리고, 메모리(110)는 영상에 대한 텍스트 및 영상에 대한 질문을 바탕으로 텍스트에 대한 제2 특징 데이터 및 텍스트와 관련된 제2 가중치를 출력할 수 있는 인공 지능 모델인 제2 모델을 저장할 수 있다. 구체적으로, 제2 모델에는 영상에 대한 텍스트 및 질문을 나타내는 텍스트 각각에 대해 워드 임베딩을 수행할 수 있는 워드 임베딩 모듈, 워드 임베딩이 수행된 데이터에 대한 특징 데이터를 추출할 수 있는 인공 신경망(예를 들어, LSTM 등) 및 영상에 대한 텍스트와 관련된 제2 가중치를 출력할 수 있는 제2 컨텍스트 투 쿼리 모듈을 포함할 수 있다.
그리고, 메모리(110)는 키 프레임 특징 데이터 및 텍스트 특징 데이터를 바탕으로 영상에 대한 답변을 획득하는 인공 지능 모델인 제3 모델을 저장할 수 있다. 그리고, 메모리(110)는 가중치와 특징 데이터 간에 곱 연산을 수행할 수 있는 연산 수행 모듈을 저장할 수 있다. 메모리(110)에 저장되어 있는 각 모델은 프로세서(140)에 의해 제어될 수 있다. 한편, 제1 모델, 제2 모델, 제3 모델 및 연산 수행 모듈과 관련된 특징 및 실시예는 후술하는 부분에서 설명하도록 한다.
그리고, 메모리(110)는 영상의 질문에 대한 복수의 답변 후보를 저장할 수 있다. 구체적으로, 메모리(110)에는 사용자로부터 입력된 영상에 대한 질문 및 질문에 대한 복수의 답변 후보를 저장할 수 있다.
통신부(120)는 각종 외부 장치와 통신을 수행할 수 있다. 이때, 통신부(120)가 각종 외부 장치와 통신을 수행하는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신 연결을 수행하는 것을 포함할 수 있다.
한편, 통신부(120)는 각종 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(120)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF) 중 적어도 하나를 포함할 수 있다.
특히, 통신부(120)는 서버로부터 영상 컨텐츠를 수신할 수 있다. 그리고, 통신부(120)는 서버 또는 외부 장치로부터 복수의 모델을 학습시키기 위한 학습 데이터를 수신할 수 있다. 각 모델이 통신부(120)로부터 수신된 학습 데이터를 바탕으로 학습하는 과정은 후술하는 부분에서 설명하도록 한다.
디스플레이(130)는 프로세서(140)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(130)는 영상 컨텐츠의 재생 화면을 표시할 수 있다. 또한, 디스플레이(130)는, 프로세서(140) 제어에 의해, 영상 컨텐츠의 재생 화면을 표시하는 동안 영상 컨텐츠와 관련된 질문 및 이에 대한 답변을 표시할 수 있다. 한편, 디스플레이(140)는 터치 패널과 함께 터치 스크린으로 구현될 수 있을 뿐만 아니라 플렉서블 디스플레이 등으로 구현될 수 있다.
프로세서(140)는 메모리(110)와 전기적으로 연결되어 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(140)는 영상 및 영상에 대한 질문을 제1 모델에 입력하여 영상에 포함된 복수의 키 프레임의 제1 특징 데이터 및 복수의 키 프레임과 관련된 제1 가중치를 획득할 수 있다.
구체적으로, 프로세서(140)는 제1 모델에 영상을 입력하여 복수의 키 프레임에 대한 제1 특징 데이터를 획득할 수 있다. 그리고, 프로세서(140)는 제1 모델에 질문을 입력하여 질문에 대응되는 데이터를 획득할 수 있다. 질문에 대응되는 데이터는 질문을 나타내는 텍스트에 워드 임베딩 동작이 수행되어 벡터 또는 행렬 형태로 구현된 데이터를 의미할 수 있다. 즉, 제1 모델은 질문을 나타내는 텍스트를 워드 임베딩 모듈에 입력하여 질문에 대응되는 데이터를 획득할 수 있다.
그리고, 프로세서(140)는 제1 특징 데이터와 질문에 대응되는 데이터를 제1 모델에 포함된 제1 컨텍스트 투 쿼리 모듈에 입력하여 질문에 대응되는 데이터와 제1 특징 데이터 간에 매핑(mapping)되는 정도를 나타내는 제1 가중치를 획득할 수 있다. 이 때, 제1 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도는 제1 특징 데이터와 질문에 대응되는 데이터간에 관련있는 정도를 의미할 수 있다. 따라서, 제1 가중치는 질문에 대한 답변을 획득하기 위하여 키 프레임에 포함된 시각적 요소가 어느 정도 필요한지 여부를 수치화된 것으로 볼 수 있다.
한편, 키 프레임은 영상에서 개체의 단일 동작의 시작 및 끝을 나타내는 이미지로 영상의 중요한 특징을 나타낼 수 있는 이미지이다. 즉, 키 프레임은 영상에 포함된 복수의 이미지 중 개체의 움직임 또는 개체가 위치하는 장소의 변화를 시작하거나 끝날 때를 나타내는 이미지를 포함할 수 있다.
프로세서(140)는 영상에 대한 텍스트(예를 들어, 영상의 자막(subtitle) 등) 및 영상에 대한 질문을 제2 모델에 입력하여 텍스트에 대한 제2 특징 데이터 및 텍스트와 관련된 제2 가중치를 획득할 수 있다.
구체적으로, 프로세서(140)는 제2 모델에 영상에 대한 텍스트를 입력하여 영상에 대한 텍스트에 대응되는 데이터를 획득할 수 있다. 구체적으로, 프로세서(140)는 영상에 대한 텍스트 및 영상의 질문을 제2 모델의 워드 임베딩 모듈에 입력하여 영상에 대한 텍스트에 대응되는 데이터 및 영상의 질문에 대응되는 데이터를 획득할 수 있다. 이 때, 제2 모델이 획득한 워드 임베딩 동작이 수행된 데이터는 행렬 또는 벡터 형태로 구현된 데이터일 수 있다.
그리고, 프로세서(140)는, 획득된 영상에 대한 텍스트에 대응되는 데이터를 바탕으로, 제2 모델을 이용하여 영상에 대한 텍스트의 제2 특징 데이터를 획득할 수 있다. 그리고, 프로세서(140)는 제2 특징 데이터와 질문에 대응되는 데이터를 제2 모델에 포함된 제2 컨텍스트 투 쿼리 모듈에 입력하여 제2 가중치를 획득할 수 있다. 제2 가중치는 질문에 대응되는 데이터와 제2 특징 데이터 간에 매핑(mapping)되는 정도를 의미할 수 있다. 그리고, 제2 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도는 제2 특징 데이터와 질문에 대응되는 데이터간에 유사한 정도 또는 관련있는 정도를 의미할 수 있다. 따라서, 제2 가중치는 질문에 대한 답변을 획득하기 위하여 영상에 대한 텍스트에 포함된 단어 또는 문장이 어느 정도 필요한지 여부를 수치화된 것으로 볼 수 있다.
한편, 영상의 자막은 영상이 재생되는 타이밍에 재생되는 오디오 데이터에 대응되는 텍스트를 의미할 수 있다. 따라서, 제1 모델에 입력되는 영상의 재생 시점과 제2 모델에 입력되는 영상의 자막의 시점은 서로 동일할 수 있다.
그리고, 동일한 질문을 제1 모델 및 제2 모델 각각에 입력하였을 때 출력되는 제1 가중치와 제2 가중치 각각의 크기는 서로 반비례할 수 있다. 즉, 동일한 질문에 대응되는 제1 가중치의 크기가 클수록 동일한 질문에 대응되는 제2 가중치의 크기가 작아질 수 있다. 그리고, 제1 가중치의 크기가 제2 가중치의 크기보다 크다는 것은 질문에 대한 답변을 획득하기 위해서는 키 프레임에 포함된 시각적 요소가 영상에 대한 텍스트에 포함된 단어 또는 문장보다 더 필요하다는 것을 의미할 수 있다. 또한, 제2 가중치의 크기가 제1 가중치의 크기보다 크다는 것은 질문에 대한 답변을 획득하기 위해서는 영상에 대한 텍스트에 포함된 단어 또는 문장이 키 프레임에 포함된 시각적 요소보다 더 필요하다는 것을 의미할 수 있다.
한편, 프로세서(140)는 제1 가중치와 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 제2 가중치와 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득할 수 있다. 구체적으로, 프로세서(140)는 제1 가중치와 제1 특징 데이터간에 곱 연산을 수행하여 키 프레임 특징 데이터를 획득하고, 제2 가중치와 제2 특징 데이터간에 곱 연산을 수행하여 텍스트 특징 데이터를 획득할 수 있다.
그리고, 프로세서(140)는 키 프레임 특징 데이터 및 텍스트 특징 데이터를 바탕으로 질문에 대한 답변을 획득할 수 있다. 구체적으로, 프로세서(140)는 키 프레임 특징 데이터, 텍스트 특징 데이터 및 질문에 대응되는 텍스트를 제3 모델에 입력하여 질문에 대한 답변을 획득할 수 있다. 동일한 질문에 대응되는 제1 가중치가 동일한 질문에 대응되는 제2 가중치에 비해 클 경우, 키 프레임 특징 데이터의 크기가 텍스트 특징 데이터의 크기보다 클 수 있다. 따라서, 프로세서(140)는 제3 모델에 크기가 비교적 큰 키 프레임 특징 데이터와 크기가 비교적 작은 텍스트 특징 데이터를 입력하여 질문에 대한 답변을 획득할 수 있다. 즉, 제3 모델은 키 프레임에 포함된 시각적 요소들에 비중을 텍스트 요소들보다 더 부가하여 질문에 대한 답변을 출력할 수 있다.
본 개시의 일 실시예로, 프로세서(140)는 메모리(110)로부터 영상과 관련된 질문에 대한 복수의 답변 후보를 로딩할 수 있다. 그리고, 프로세서(140)는 키 프레임 특징 데이터, 텍스트 특징 데이터, 질문에 대응되는 텍스트 및 복수의 답변 후보를 제3 모델에 입력할 수 있다. 그리고, 프로세서(140)는 제3 모델을 통해 복수의 답변 후보 각각에 대한 신뢰도 값(confidence score)을 획득할 수 있다. 신뢰도 값은 답변 후보가 질문에 대한 답변일 확률에 대응되는 수치일 수 있다. 따라서, 프로세서(140)는 신뢰도 값이 가장 높은 답변 후보를 질문에 대한 답변으로 식별할 수 있다.
또 다른 실시예로, 프로세서(140)는 NLG(Natural Language Generator) 모델을 포함하는 제3 모델에 키 프레임 특징 데이터, 텍스트 특징 데이터 및 질문에 대응되는 데이터를 입력하여 질문에 대한 답변을 나타내는 텍스트를 출력할 수 있다. 구체적으로, 프로세서(140)는 제3 모델을 통해 키 프레임 특징 데이터 및 텍스트 특징 데이터를 이용하여 질문에 대한 답변을 획득할 수 있다. 그리고, 프로세서(140)는 획득된 답변을 NLG 모델에 입력하여 답변을 나타내는 텍스트를 획득할 수 있다.
한편, 프로세서(140)는 제1 가중치 또는 제2 가중치 중 하나의 크기가 임계값 미만인지 여부를 식별할 수 있다. 제1 가중치 또는 제2 가중치의 크기 중 하나가 임계값 미만이라고 식별되면, 프로세서(140)는 임계값 미만인 가중치를 제외한 나머지 가중치에 대응되는 특징 데이터 만을 이용하여 질문에 대한 답변을 획득할 수 있다. 예를 들어, 제1 가중치의 크기가 임계값 미만인 경우, 프로세서(140)는 제2 가중치와 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하고, 제1 가중치는 제외할 수 있다. 그리고, 프로세서(140)는 텍스트 특징 데이터만을 이용하여 질문에 대한 답변을 획득할 수 있다. 또 다른 예로, 제2 가중치의 크기가 임계값 미만인 경우, 프로세서(140)는 제1 가중치와 제1 특징 데이터를 이용하여 키 프레임 특징 데이터만을 획득하고, 제2 가중치는 제외할 수 있다. 그리고, 프로세서(140)는 키 프레임 특징 데이터만을 이용하여 질문에 대한 답변을 획득할 수 있다.
한편, 제1 가중치의 크기가 임계값 미만이라는 것은 질문에 대한 답변을 획득하기 위하여 키 프레임에 포함된 시각적 요소는 거의 필요 없음을 의미할 수 있다. 그리고, 제2 가중치의 크기가 임계값 미만이라는 것은 질문에 대한 답변을 획득하기 위하여 영상에 대한 텍스트에 포함된 단어 또는 문장 등은 거의 필요 없음을 의미할 수 있다.
그리고, 프로세서(140)는 서버로부터 영상에 대한 텍스트를 통신부(120)를 통해 수신하거나 사용자로부터 입력부(160)를 통해 입력받을 수 있다. 또 다른 예로, 프로세서(140)는 외부에서 영상에 대한 텍스트를 입력받지 않더라도 영상에서 포함된 오디오 데이터를 ASR(Auto Speech Recognition) 모델에 입력하여 영상에 포함된 오디오 데이터에 대응되는 텍스트 즉, 영상에 대한 텍스트를 획득할 수 있다.
또한, 프로세서(140)는 학습 데이터를 이용하여 메모리(110)에 저장되어 있는 복수의 모델을 학습시킬 수 있다. 예를 들어, 프로세서(140)는 질문에 대한 답변을 획득하기 위하여 필요한 데이터의 종류에 대한 정보를 바탕으로 제1 컨텍스트 투 쿼리 모듈 및 제2 컨텍스트 투 쿼리 모듈을 학습시킬 수 있다. 이와 관련된 실시예는 도 3을 참조하여 설명하도록 한다.
또 다른 예로, 프로세서(140)는 영상에 대한 질문, 질문에 대한 답변, 영상 및 영상에 대한 텍스트가 포함된 학습 데이터를 바탕으로 제3 모델을 학습시킬 수 있다. 제3 모델에 NLG 모델이 포함되어 있는 경우, 프로세서(140)는 실제 질문에 대한 답변을 나타내는 텍스트를 출력하도록 학습 데이터를 바탕으로 제3 모델을 학습시킬 수 있다. 또 다른 예로, 프로세서(140)는 질문에 대한 복수의 답변 후보 중 실제 답변에 대해 가장 높은 신뢰도 값을 출력할 수 있도록 학습 데이터 및 복수의 답변 후보 리스트를 바탕으로 제3 모델을 학습시킬 수 있다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(140)와 메모리(110)를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN, DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
그리고, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식(Object Recognition), 객체 추적(Object Tracking), 영상 검색(Image Retrieval), 사람 인식(Human Reconnition), 장면 이해(Scene Recognition), 공간 이해(3D Reconstruction/Localization), 영상 개선(Image Enhancement) 등을 포함한다. 그리고, 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론(Knowledge based Reasoning), 최적화 예측(Optimization Prediction), 선호 기반 계획(Preference-based Planning), 추천(Recommendation) 등을 포함한다
스피커(150)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 일 실시 예로, 스피커(150)는 영상 컨텐츠에 포함된 오디오 데이터를 출력할 수 있다. 또한, 스피커(150)는 프로세서(140) 제어에 의해 영상에 대한 질문 및 답변에 대해 음성 형태로 출력할 수 있다.
오디오 출력부(160)는 스피커로 구현될 수 있으나 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 다른 출력 단자로 구현될 수도 있다. 입력부(160)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력부(160)는 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널, 사용자 조작을 입력받기 위한 버튼 등이 포함될 수 있다. 그 밖에, 입력부(160)는 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다.
도 2a는 본 개시의 일 실시예에 따른, 프로세서(140)가 영상 및 영상에 대한 텍스트 각각의 특징 데이터를 획득하는 과정을 설명하기 위한 도면이다. 도 2a에 도시된 제1 모델(30) 및 제2 모델(50)은 프로세서(140)에 의해 제어 될 수 있다. 그리고, 도 2a는 제1 모델(30) 및 제2 모델(50)이 별개의 모델로 구현된 것으로 도시되어 있으나, 이는 일 실시예에 불과하며 하나의 모델로 구현될 수 있음은 물론이다.
프로세서(140)는 영상에 대한 질문(10)과 복수의 키 프레임(20-1, 20-2, … 20-N)을 포함하는 영상을 제1 모델(30)에 입력할 수 있다. 제1 모델(30)은 CNN, LSTM 등의 인공 신경망을 이용하여 영상에 포함된 복수의 키 프레임에 대한 제1 특징 데이터를 출력할 수 있다. 그리고, 제1 모델(30)은 질문(10)을 나타내는 텍스트에 대해 워드 임베딩을 수행하여 질문에 대응되는 데이터를 획득할 수 있다. 이 때, 질문에 대응되는 텍스트는 벡터 또는 행렬 형태로 구현되는 데이터일 수 있다. 그리고, 제1 모델(30)은 제1 특징 데이터와 질문에 대응되는 데이터를 제1 컨텍스트 투 쿼리 모듈에 입력하여 복수의 키 프레임과 관련된 제1 가중치를 획득할 수 있다.
제1 가중치는 제1 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치일 수 있다. 이 때, 제1 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도는 제1 특징 데이터와 질문에 대응되는 데이터간에 유사한 정도 또는 관련있는 정도를 의미할 수 있다. 즉, 제1 가중치는 질문에 대한 답변을 획득하기 위하여 키 프레임에 포함된 시각적 요소가 어느 정도 필요한지 여부를 수치화된 것으로 볼 수 있다. 예를 들어, 도 2a에 도시된 질문(10)(What sign did Beckett and Castle walk by when Beckett was talking about the passageway?)에 대한 답변을 획득하는 과정에서,'What sign did Beckett and Castle walk by'부분에 대해 식별 또는 파악하기 위해서는 키 프레임에 포함된 시각적 요소가 영상에 대한 텍스트보다 더 필요하고,'when Beckett was talking about the passageway?'부분에 대해 식별 또는 파악하기 위해서는 시각적 요소보다 영상에 대한 텍스트가 더 필요할 수 있다. 따라서, 벡터 형태로 구현된 제1 가중치의 원소(element) 중'What sign did Beckett and Castle walk by'부분에 대응되는 원소의 크기는 큰 값으로 설정될 수 있고, when Beckett was talking about the passageway?'에 대응되는 원소의 크기는 작은 값으로 설정될 수 있다.
그리고, 프로세서(140)는 영상에 대한 질문(10)과 영상에 대한 텍스트를 제2 모델(50)에 입력할 수 있다. 제2 모델(50)은 워드 임베딩 모듈을 이용하여 영상에 대한 질문(10) 및 영상에 대한 텍스트(40) 각각에 대응되는 데이터를 획득할 수 있다. 그리고, 제2 모델(50)은 LSTM 등의 인공 신경망을 통해 영상에 대한 텍스트에 대응되는 데이터를 이용하여 영상에 대한 텍스트에 대한 제2 특징 데이터를 획득할 수 있다. 그리고, 제2 모델(50)은 제2 특징 데이터와 질문에 대응되는 데이터를 제2 컨텍스트 투 쿼리 모듈에 입력하여 영상에 대한 텍스트와 관련된 제2 가중치를 획득할 수 있다.
제2 가중치는 제2 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치일 수 있다. 이 때, 제2 특징 데이터와 질문에 대응되는 데이터가 매핑되는 정도는 제2 특징 데이터와 질문에 대응되는 데이터간에 유사한 정도 또는 관련있는 정도를 의미할 수 있다. 즉, 제2 가중치는 질문에 대한 답변을 획득하기 위하여 영상에 대한 텍스트에 포함된 단어 또는 문장이 어느 정도 필요한지 여부를 수치화된 것으로 볼 수 있다. 예를 들어, 벡터 형태로 구현된 제2 가중치의 원소(element) 중'What sign did Beckett and Castle walk by'부분에 대응되는 원소의 크기는 큰 값으로 설정될 수 있고,'when Beckett was talking about the passageway?'에 대응되는 원소의 크기는 작은 값으로 설정될 수 있다. 그 이후의 실시예는 도 2b 및 도 2c를 참조하여 설명하도록 한다.
도 2b 및 도 2c는 본 개시의 일 실시예에 따른, 프로세서(140)가 질문에 대한 답변을 획득하는 과정을 설명하기 위한 도면이다. 프로세서(140)는 제1 모델(30)을 통해 획득된 제1 특징 데이터 및 제1 가중치를 연산 수행 모듈(60)에 입력하여 키 프레임 특징 데이터를 획득할 수 있다. 연산 수행 모듈(60)은 벡터 형태로 구현된 제1 특징 데이터 및 제1 가중치 간에 곱 연산을 수행하여 벡터 형태의 키 프레임 특징 데이터를 획득할 수 있다.
그리고, 프로세서(140)는 제2 모델(50)을 통해 획득된 제2 특징 데이터 및 제2 가중치를 연산 수행 모듈(60)에 입력하여 텍스트 특징 데이터를 획득할 수 있다. 연산 수행 모듈(60)은 벡터 형태로 구현된 제2 특징 데이터 및 제2 가중치 간에 곱 연산을 수행하여 벡터 형태의 텍스트 특징 데이터를 획득할 수 있다.
그리고, 프로세서(140)는 키 프레임 특징 데이터, 텍스트 특징 데이터 및 질문에 대응되는 데이터를 제3 모델(70)에 입력하여 질문에 대한 답변을 획득할 수 있다. 도 2a에 도시된 질문(10) 중'What sign did Beckett and Castle walk by'부분에 대응되는 제1 가중치의 원소의 크기가 제2 가중치에 대응되는 원소의 크기보다 크고,'when Beckett was talking about the passageway?'부분에 대응되는 제2 가중치의 원소의 크기가 제1 가중치에 대응되는 원소보다 클 수 있다. 따라서, 제3 모델(30)은 질문(10) 중'What sign did Beckett and Castle walk by'부분에 대한 답변을 획득할 때, 키 프레임 특징 데이터를 텍스트 특징 데이터보다 더 많은 비중을 두고 참조 및 활용하고,'when Beckett was talking about the passageway?'에 대한 답변을 획득할 때, 텍스트 특징 데이터를 키 프레임 특징 데이터보다 더 많은 비중을 두고 참조 및 활용할 수 있다.
그리고, 제3 모델(70)은 키 프레임 특징 데이터, 텍스트 특징 데이터 및 질문에 대응되는 데이터를 이용하여 획득된 답변을 NLG 모델에 입력하여 답변을 나타내는 텍스트(예를 들어,'A men’s restroom sign')를 획득할 수 있다.
한편, 또 다른 실시예로, 도 2c에 도시된 바와 같이, 프로세서(140)는 키 프레임 특징 데이터, 텍스트 특징 데이터, 질문에 대응되는 데이터 및 질문에 대한 복수의 답변 후보(75-1)를 제3 모델(70)에 입력하여, 복수의 답변 후보 각각에 대한 신뢰도 값을 획득할 수 있다. 한편, 제3 모델(70)은 질문에 대한 복수의 답변 후보인 텍스트에 대해 워드 임베딩을 수행하여 각 복수의 답변 후보에 대응되는 데이터를 획득할 수 있다. 그리고, 제3 모델(70)은 획득된 답변 후보에 대응되는 데이터를 활용하여 각 답변 후보에 대한 신뢰도 값을 출력할 수 있다.
그리고, 도 2c에 도시된 바와 같이, 제3 모델(70)이 출력한 질문에 대한 복수의 답변 후보 각각에 대한 신뢰도 값 중 가장 큰 값의 신뢰도 값을 가지는 답변 후보(A men's restroom sign')를 질문에 대한 답변으로 식별할 수 있다.
도 3은 본 개시의 일 실시예에 따른, 프로세서(140)가 컨텍스트 투 쿼리 모듈을 학습시키는 과정을 설명하기 위한 도면이다.
프로세서(140)는 영상과 관련된 질문에 대한 답변을 획득하기 위하여 필요한 데이터의 종류에 대한 정보를 바탕으로 제1 모델에 포함된 제1 컨텍스트 투 쿼리 모듈을 학습시키고, 제2 모델에 포함된 제2 컨텍스트 투 쿼리 모듈을 학습시킬 수 있다. 구체적으로, 프로세서(140)는 영상과 관련된 질문에 대해 워드 임베딩을 수행하여 벡터 또는 행렬 형태로 구현된 질문에 대응되는 데이터를 획득할 수 있다. 이 때, 프로세서(140)는 워드 임베딩 모듈에 영상과 관련된 질문을 입력하여 질문에 대응되는 데이터를 획득할 수 있다.
그리고, 프로세서(140)는 질문에 대응되는 데이터, 제1 특징 데이터 및 답변을 획득하기 위해 필요한 데이터에 대한 정보를 제1 모델에 포함된 제1 컨텍스트 투 쿼리 모듈에 입력할 수 있다. 그리고, 프로세서(140)는 답변을 획득하기 위해 필요한 데이터에 대한 정보를 바탕으로 제1 컨텍스트 투 쿼리 모듈을 학습시킬 수 있다.
답변을 획득하기 위해 필요한 데이터에 대한 정보는 영상과 관련된 질문에 대한 답변을 획득하는 과정 속에서, 키 프레임에 포함된 시각적 요소 및 영상에 대한 텍스트 중 어떤 데이터에 더 큰 비중을 두고 활용 또는 참조해야 하는지에 대한 정보를 포함할 수 있다. 예를 들면, 도 2a를 참조할 때, 답변을 획득하기 위해 필요한 데이터에 대한 정보는, 질문(10)에 대한 답변을 획득하는 과정에서,'What sign did Beckett and Castle walk by'부분의 경우, 키 프레임에 포함된 시각적 요소에 더 큰 비중을 두어 참조 또는 활용해야 하며,'when Beckett was talking about the passageway?'부분의 경우, 영상에 대한 텍스트에 더 큰 비중을 두고 참조 또는 활용해야 한다는 정보가 포함될 수 있다.
따라서, 프로세서(140)는 제1 컨텍스트 투 쿼리 모듈(80)이 상술한 답변을 획득하기 위해 필요한 데이터에 대한 정보에 따라 제1 가중치를 출력하도록 학습시킬 수 있다. 이 때, 학습된 제1 컨텍스트 투 쿼리 모듈(80)이 출력한 벡터 형태로 구현된 제1 가중치에 포함된 원소 중'What sign did Beckett and Castle walk by'에 대응되는 원소의 크기는 비교적 큰 값으로 정의되고,'when Beckett was talking about the passageway?'에 대응되는 원소의 크기는 비교적 작은 값으로 정의될 수 있다.
한편, 프로세서(140)는 질문에 대응되는 데이터, 제2 특징 데이터 및 답변을 획득하기 위해 필요한 데이터에 대한 정보를 제2 모델에 포함된 제2 컨텍스트 투 쿼리 모듈에 입력할 수 있다. 그리고, 프로세서(140)는 답변을 획득하기 위해 필요한 데이터에 대한 정보를 바탕으로 제2 컨텍스트 투 쿼리 모듈을 학습시킬 수 있다.
예를 들어, 프로세서(140)는 제2 컨텍스트 투 쿼리 모듈(90)이 상술한 답변을 획득하기 위해 필요한 데이터에 대한 정보에 따라 제2 가중치를 출력하도록 학습시킬 수 있다. 이 때, 학습된 제2 컨텍스트 투 쿼리 모듈(90)이 출력한 벡터 형태로 구현된 제2 가중치에 포함된 원소 중'What sign did Beckett and Castle walk by'에 대응되는 원소의 크기는 비교적 작은 값으로 정의되고,'when Beckett was talking about the passageway?'에 대응되는 원소의 크기는 비교적 큰 값으로 정의될 수 있다.
도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 도면이다.
우선, 전자 장치(100)는 영상 및 영상에 대한 질문을 제1 모델에 입력하여 영상에 포함된 복수의 키 프레임의 제1 특징 데이터 및 복수의 키 프레임과 관련된 제1 가중치를 획득할 수 있다(S410). 구체적으로, 전자 장치(100)는 영상을 제1 모델에 입력하여 영상에 포함된 복수의 키 프레임에 대한 특징 데이터를 획득할 수 있다. 그리고, 전자 장치(100)는, 제1 모델을 통해, 질문을 나타내는 텍스트에 대해 워드 임베딩 동작이 수행된 질문에 대응되는 데이터 및 복수의 키 프레임에 대한 특징 데이터를 바탕으로 제1 가중치를 획득할 수 있다.
그리고, 전자 장치(100)는 영상에 대한 텍스트 및 영상에 대한 질문을 제2 모델에 입력하여 텍스트에 대한 제2 특징 데이터 및 텍스트와 관련된 제2 가중치를 획득할 수 있다(S420). 구체적으로, 전자 장치(100)는 영상에 대한 텍스트를 제2 모델에 입력하여 영상에 대한 텍스트 및 질문 각각에 대해 워드 임베딩 동작을 수행할 수 있다. 전자 장치(100)는, 제2 모델을 통해, 워드 임베딩 동작이 수행됨으로써 획득된 영상에 대한 텍스트에 대응되는 데이터를 이용하여 제2 특징 데이터를 획득할 수 있다. 그리고, 전자 장치(100)는, 제2 모델을 통해, 제2 특징 데이터 및 질문에 대응되는 데이터를 이용하여 제2 가중치를 획득할 수 있다. 한편, 전자 장치(100)는 영상에 대한 질문은 영상에 포함된 오디오 데이터를 ASR 모델이 입력하여 오디오 데이터에 대한 텍스트 즉, 영상에 대한 텍스트를 획득할 수 있다.
그리고, 본 개시를 설명하면서, 전자 장치(100)가 제1 특징 데이터 및 제1 가중치를 제2 특징 데이터 및 제2 가중치보다 먼저 획득하는 것으로 기재되어 있으나, 이에 국한되는 것은 아니다. 예를 들면, 전자 장치(100)는 제1 특징 데이터 및 제1 가중치를 획득하는 동시에 또는 그 이전에 또는 임계 시간 차이를 두고 제2 특징 데이터 및 제2 가중치를 획득할 수 있다. 즉, 전자 장치(100)가 제1 특징 데이터 및 제1 가중치와 제2 특징 데이터 및 제2 가중치를 획득하는 순서는 변경될 수 있다.
전자 장치(100)는 제1 가중치와 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 제2 가중치와 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득할 수 있다(S430). 구체적으로, 전자 장치(100)는 제1 가중치와 제1 특징 데이터간에 곱 연산을 수행하여 키 프레임 특징 데이터를 획득할 수 있다. 그리고, 전자 장치(100)는 제2 가중치와 제2 특징 데이터 간에 곱 연산을 수행하여 텍스트 특징 데이터를 획득할 수 있다.
그리고, 전자 장치(100)는 키 프레임 특징 데이터 및 텍스트 특징 데이터를 바탕으로 질문에 대한 답변을 획득할 수 있다(S440). 구체적으로, 전자 장치(100)는 질문에 대응되는 데이터, 키 프레임 특징 데이터 및 텍스트 특징 데이터를 제3 모델에 입력하여 질문에 대한 답변을 획득할 수 있다. 예를 들어, 제3 모델에 NLG 모델이 포함된 경우, 전자 장치(100)는 제3 모델을 통해 질문에 대한 답변을 나타내는 텍스트를 획득할 수 있다. 또 다른 예로, 전자 장치(100)는 질문에 대응되는 데이터, 키 프레임 특징 데이터, 텍스트 특징 데이터 및 복수의 답변 후보를 제3 모델에 입력하여 복수의 답변 후보 각각의 신뢰도 값을 획득할 수 있다. 그리고, 전자 장치(100)는 가장 높은 신뢰도 값을 갖는 답변 후보를 질문에 대한 답변으로 식별할 수 있다.
한편, 본 개시의 또 다른 실시예로, 전자 장치(100)는 외부 장치에게 영상 컨텐츠를 제공하는 서버로 구현될 수 있다. 구체적으로, 전자 장치(100)는 외부 장치에게 영상 컨텐츠를 제공할 수 있다. 또한, 외부 장치에게 영상 컨텐츠를 제공할 때, 전자 장치(100)는 영상 컨텐츠에 대한 텍스트(예를 들어, 영상 컨텐츠의 자막 텍스트 등)를 함께 외부 장치에 전송할 수 있다. 이 때, 서버로 구현된 전자 장치(100)는 도 1에 도시된 메모리(110), 통신부(120), 프로세서(130) 등을 포함할 수 있다.
이 때, 외부 장치로부터 영상 장치와 관련된 질문을 수신하면, 전자 장치(100)는 상술한 제1 모델, 제2 모델, 제3 모델, 연산 모델 및 워드 임베딩 모델 등을 이용하여 영상 장치와 관련된 질문에 대한 답변을 획득할 수 있다. 그리고, 전자 장치(100)는 외부 장치에게 획득된 영상 장치와 관련된 질문에 대한 답변을 제공할 수 있다. 따라서, 외부 장치는 영상 및 영상에 대한 텍스트를 바탕으로 영상과 관련된 질문에 대한 답변을 획득할 수 있게 하는 각종 모델을 저장하지 않고, 영상을 제공하는 서버로부터 영상과 관련된 질문에 대한 답변을 획득할 수 있다.
한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 장치(100)는 예를 들면, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 서버, PDA, 의료기기, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, 냉장고, 에어컨, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM) 중 적어도 하나를 포함할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 메모리 120: 통신부
130: 디스플레이 140: 프로세서
150: 스피커 160: 입력부

Claims (18)

  1. 전자 장치에 있어서,
    적어도 하나의 인스트럭션(instruction)을 저장하는 메모리; 및
    상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
    영상 및 상기 영상에 대한 질문을 제1 모델에 입력하여 상기 영상에 포함된 복수의 키 프레임(key frame)에 대한 제1 특징 데이터 및 상기 복수의 키 프레임과 관련된 제1 가중치를 획득하고,
    상기 영상에 대한 텍스트 및 상기 영상에 대한 질문을 제2 모델에 입력하여 상기 텍스트에 대한 제2 특징 데이터 및 상기 텍스트와 관련된 제2 가중치를 획득하고,
    상기 제1 가중치와 상기 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 상기 제2 가중치와 상기 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하며,
    상기 키 프레임 특징 데이터 및 상기 텍스트 특징 데이터를 바탕으로 상기 질문에 대한 답변을 획득하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 질문을 상기 제1 모델 및 상기 제2 모델에 입력하여 상기 질문에 대응되는 데이터를 획득하고,
    상기 질문에 대응되는 데이터는 상기 질문을 나타내는 텍스트에 워드 임베딩(word embedding)이 수행된 데이터인 것을 특징으로 하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 특징 데이터와 상기 질문에 대응되는 데이터를 상기 제1 모델의 제1 컨텍스트 투 쿼리(context-to-query) 모듈에 입력하여 상기 제1 특징 데이터와 상기 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치인 상기 제1 가중치를 획득하고,
    상기 제2 특징 데이터와 상기 질문에 대응되는 데이터를 상기 제2 모델의 제2 컨텍스트 투 쿼리 모듈에 입력하여 상기 제2 특징 데이터와 상기 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치인 상기 제2 가중치를 획득하는 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 질문에 대한 답변을 획득하기 위하여 필요한 데이터의 종류에 대한 정보를 바탕으로 상기 제1 컨텍스트 투 쿼리 모듈 및 상기 제2 컨텍스트 투 쿼리 모듈을 학습시키는 전자 장치.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터 및 상기 질문에 대응되는 텍스트를 제3 모델에 입력하여 상기 질문에 대한 답변을 획득하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 가중치 또는 상기 제2 가중치 중 하나가 임계값 미만인 경우, 상기 임계값 미만의 가중치를 제외한 나머지 가중치에 대응되는 특징 데이터만을 이용하여 상기 질문에 대한 답변을 획득하는 전자 장치.
  7. 제5항에 있어서,
    상기 메모리는 상기 질문에 대한 복수의 답변 후보를 저장하고,
    상기 프로세서는,
    상기 질문에 대한 복수의 답변 후보를 상기 메모리로부터 로딩하고,
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터, 상기 질문에 대응되는 데이터 및 상기 복수의 답변 후보를 상기 제3 모델에 입력하여 상기 복수의 답변 후보 각각의 신뢰도 값을 획득하고,
    상기 신뢰도 값이 가장 높은 답변 후보를 상기 질문에 대한 답변으로 식별하는 전자 장치.
  8. 제5항에 있어서,
    상기 프로세서는,
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터 및 상기 질문에 대응되는 데이터를 상기 제3 모델에 입력하여 상기 질문에 대한 답변을 나타내는 텍스트를 출력하고,
    상기 제3 모델은 NLG(Natural Language Generator) 모델을 포함하는 것을 특징으로 하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 영상에 포함된 오디오 데이터를 ASR(Auto Speech Recognition) 모델에 입력하여 상기 영상에 대한 텍스트를 획득하는 전자 장치.
  10. 전자 장치의 제어 방법에 있어서,
    영상 및 상기 영상에 대한 질문을 제1 모델에 입력하여 상기 영상에 포함된 복수의 키 프레임에 대한 제1 특징 데이터 및 상기 복수의 키 프레임과 관련된 제1 가중치를 획득하는 단계;
    상기 영상에 대한 텍스트 및 상기 영상에 대한 질문을 제2 모델에 입력하여 상기 텍스트에 대한 제2 특징 데이터 및 상기 텍스트와 관련된 제2 가중치를 획득하는 단계;
    상기 제1 가중치와 상기 제1 특징 데이터를 이용하여 키 프레임 특징 데이터를 획득하고, 상기 제2 가중치와 상기 제2 특징 데이터를 이용하여 텍스트 특징 데이터를 획득하는 단계; 및
    상기 키 프레임 특징 데이터 및 상기 텍스트 특징 데이터를 바탕으로 상기 질문에 대한 답변을 획득하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 질문을 상기 제1 모델 및 상기 제2 모델에 입력하여 상기 질문에 대응되는 데이터를 획득하는 단계;를 더 포함하고,
    상기 질문에 대응되는 데이터는 상기 질문을 나타내는 텍스트에 워드 임베딩(word embedding)이 수행된 데이터인 것을 특징으로 하는 제어 방법.
  12. 제11항에 있어서,
    상기 제1 가중치를 획득하는 단계는,
    상기 제1 특징 데이터와 상기 질문에 대응되는 데이터를 상기 제1 모델의 제1 컨텍스트 투 쿼리(context-to-query) 모듈에 입력하여 상기 제1 특징 데이터와 상기 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치인 상기 제1 가중치를 획득하는 단계;를 포함하고,
    상기 제2 가중치를 획득하는 단계는,
    상기 제2 특징 데이터와 상기 질문에 대응되는 데이터를 상기 제2 모델의 제2 컨텍스트 투 쿼리 모듈에 입력하여 상기 제2 특징 데이터와 상기 질문에 대응되는 데이터가 매핑되는 정도를 나타내는 수치인 상기 제2 가중치를 획득하는 제어 방법.
  13. 제12항에 있어서,
    상기 질문에 대한 답변을 획득하기 위하여 필요한 데이터의 종류에 대한 정보를 바탕으로 상기 제1 컨텍스트 투 쿼리 모듈 및 상기 제2 컨텍스트 투 쿼리 모듈을 학습시키는 단계;를 더 포함하는 제어 방법.
  14. 제11항에 있어서,
    상기 질문에 대한 답변을 획득하는 단계는,
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터 및 상기 질문에 대응되는 텍스트를 제3 모델에 입력하여 상기 질문에 대한 답변을 획득하는 단계;를 더 포함하는 제어 방법.
  15. 제10항에 있어서,
    상기 제1 가중치 또는 상기 제2 가중치 중 하나가 임계값 미만인 경우, 상기 임계값 미만의 가중치를 제외한 나머지 가중치에 대응되는 특징 데이터만을 이용하여 상기 질문에 대한 답변을 획득하는 단계;를 더 포함하는 제어 방법.
  16. 제14항에 있어서,
    상기 질문에 대한 답변을 획득하는 단계는,
    상기 질문에 대한 복수의 답변 후보를 상기 전자 장치의 메모리로부터 로딩하는 단계;
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터, 상기 질문에 대응되는 데이터 및 상기 복수의 답변 후보를 상기 제3 모델에 입력하여 상기 복수의 답변 후보 각각의 신뢰도 값을 획득하는 단계; 및
    상기 신뢰도 값이 가장 높은 답변 후보를 상기 질문에 대한 답변으로 식별하는 단계;를 포함하는 제어 방법.
  17. 제14항에 있어서,
    상기 질문에 대한 답변을 획득하는 단계는,
    상기 키 프레임 특징 데이터, 상기 텍스트 특징 데이터 및 상기 질문에 대응되는 데이터를 상기 제3 모델에 입력하여 상기 질문에 대한 답변을 나타내는 텍스트를 출력하는 단계;를 포함하고,
    상기 제3 모델은 NLG(Natural Language Generator) 모델을 포함하는 것을 특징으로 하는 제어 방법.
  18. 제10항에 있어서,
    상기 영상에 포함된 오디오 데이터를 ASR(Auto Speech Recognition) 모델에 입력하여 상기 영상에 대한 텍스트를 획득하는 단계;를 더 포함하는 제어 방법.
KR1020200086048A 2019-09-05 2020-07-13 전자 장치 및 이의 제어 방법 KR20210029080A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/011387 WO2021045434A1 (ko) 2019-09-05 2020-08-26 전자 장치 및 이의 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190109992 2019-09-05
KR1020190109992 2019-09-05

Publications (1)

Publication Number Publication Date
KR20210029080A true KR20210029080A (ko) 2021-03-15

Family

ID=75134544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200086048A KR20210029080A (ko) 2019-09-05 2020-07-13 전자 장치 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20210029080A (ko)

Similar Documents

Publication Publication Date Title
US11580964B2 (en) Electronic apparatus and control method thereof
US11568240B2 (en) Method and apparatus for classifying class, to which sentence belongs, using deep neural network
KR102473447B1 (ko) 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
US11521038B2 (en) Electronic apparatus and control method thereof
US11367441B2 (en) Electronic apparatus and control method thereof
US11842735B2 (en) Electronic apparatus and control method thereof
CN111523640B (zh) 神经网络模型的训练方法和装置
US10521723B2 (en) Electronic apparatus, method of providing guide and non-transitory computer readable recording medium
US20210217409A1 (en) Electronic device and control method therefor
KR20200046188A (ko) 인공 지능 모델을 재구성하기 위한 전자 장치 및 그의 제어 방법
US11880754B2 (en) Electronic apparatus and control method thereof
KR20210136706A (ko) 전자 장치 및 이의 제어 방법
US20210110816A1 (en) Electronic apparatus and method of providing sentence thereof
CN111858898A (zh) 基于人工智能的文本处理方法、装置及电子设备
KR102469712B1 (ko) 전자 장치 및 이의 자연어 생성 방법
US11886817B2 (en) Electronic apparatus and method for controlling thereof
US11705110B2 (en) Electronic device and controlling the electronic device
US11436215B2 (en) Server and control method thereof
WO2021045434A1 (ko) 전자 장치 및 이의 제어 방법
US20220108550A1 (en) Electronic device and control method of same
KR20210029080A (ko) 전자 장치 및 이의 제어 방법
KR102663654B1 (ko) 적응형 시각적 스피치 인식
KR102684936B1 (ko) 전자 장치 및 이의 제어 방법
KR20200144445A (ko) 전자 장치 및 이의 제어 방법
KR20210094727A (ko) 전자 장치 및 이의 제어 방법