KR102311218B1 - 영상에 관한 대화 처리 장치, 방법 및 시스템 - Google Patents

영상에 관한 대화 처리 장치, 방법 및 시스템 Download PDF

Info

Publication number
KR102311218B1
KR102311218B1 KR1020200113990A KR20200113990A KR102311218B1 KR 102311218 B1 KR102311218 B1 KR 102311218B1 KR 1020200113990 A KR1020200113990 A KR 1020200113990A KR 20200113990 A KR20200113990 A KR 20200113990A KR 102311218 B1 KR102311218 B1 KR 102311218B1
Authority
KR
South Korea
Prior art keywords
data
result
weight
obtaining
unit
Prior art date
Application number
KR1020200113990A
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 KR1020200113990A priority Critical patent/KR102311218B1/ko
Application granted granted Critical
Publication of KR102311218B1 publication Critical patent/KR102311218B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • 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
    • 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/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)

Abstract

대화 처리 장치, 방법 및 시스템에 관한 것으로, 대화 처리 장치는, 영상 데이터, 대화 데이터 및 대상 질의를 수신하는 입력부 및 상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하고, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하고, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하고, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하고, 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 프로세서를 포함할 수 있다.

Description

영상에 관한 대화 처리 장치, 방법 및 시스템{APPRATUS, METHOD AND SYSTEM FOR PROCESSING DIALOGUE WITH REGARD TO IMAGE}
본 발명은 영상에 관한 대화 처리 장치, 방법 및 시스템에 관한 것이다.
대화 시스템은 사용자가 일상 언어(자연어)를 이용하여 명령이나 질의 등을 입력하면, 이에 응하여 시스템이 적절한 응답을 검출하고 이를 외부로 출력하는 시스템이나 프로그램을 의미한다. 대화 시스템을 이용하는 경우, 컴퓨터 장치 등이 이해할 수 있는 언어(기계어 등)가 아닌 인간의 언어를 이용하여 사용자와 장치가 상호 대화를 수행할 수 있다는 장점이 있어 계속적으로 연구 및 개발되어 왔다. 특히 최근에는 인공 지능 기술의 발달에 따라 대화 시스템의 발전이 더욱 가속화되고 있다. 종래에는 대화 시스템은 텍스트 기반으로 수행되었다. 즉, 시스템에 의해 수행되는 대화는 텍스트 형식의 질문 및 답변으로 이루어져 있었다. 근자에는 텍스트 외에도 시각적 영상(이미지)을 더 이용하여 인간 대 컴퓨터 또는 컴퓨터 대 컴퓨터 간에 대화를 수행하는 기술이 개발되고 있다. 이와 같이 영상을 더 이용하여 대화를 수행하는 기술을 시각적 대화(Visual Dialog)라고 한다. 이와 같은 시각적 대화는 영상이 주어지면, 주어진 영상에 대한 질문과 질문에 대한 답변으로 이루어질 수 있다.
대한민국 공개특허 제2018-0045165호 (2018.05.04. 공개) 대한민국 공개특허 제2019-0092043호 (2019.08.07. 공개) 대한민국 공개특허 제2019-0023547호 (2019.03.08. 공개) 대한민국 공개특허 제2019-0078899호 (2019.07.05. 공개)
주어진 영상과 관련한 질의에 대해서 최적의 응답을 도출 및 출력할 수 있는 영상에 관한 대화 처리 장치, 방법 및 시스템을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 영상에 관한 대화 처리 장치, 방법 및 시스템이 제공된다.
대화 처리 장치는, 영상 데이터, 대화 데이터 및 대상 질의를 수신하는 입력부 및 상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하고, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하고, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하고, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하고, 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하고, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하고, 각각의 임코딩 결과를 기반으로 제1 가중치를 획득하고, 상기 제1 가중치를 상기 대화 데이터에 대한 임베딩에 부가하여 상기 주제 처리 결과를 획득할 수 있다.
상기 프로세서는, 상기 제1 가중치가 부가된 대화 데이터에 대한 임베딩에, 상기 맥락 처리 결과의 획득 과정에서 연산된 제2 가중치를 더 부가하여 어텐션 처리된 표현을 획득하고, 상기 어텐션 처리된 표현을 기반으로 상기 주제 처리 결과를 획득할 수 있다.
상기 제2 가중치는 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 연산하는 과정에서 획득된 것일 수 있다.
상기 프로세서는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하고, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하고, 각각의 임코딩 결과를 기반으로 제2 가중치를 획득하고, 상기 제2 가중치를 상기 대화 데이터에 대응하는 인코딩 결과에 부가하고, 상기 제2 가중치가 부가된 인코딩 결과에 상기 질의에 대응하는 인코딩 결과를 기반으로 상기 맥락 처리 결과를 획득할 수 있다.
상기 프로세서는, 상기 영상 데이터로부터 획득한 특성 및 상기 주제 처리 결과를 기반으로 제3 가중치를 획득하고, 상기 제3 가중치를 상기 주제 처리 결과에 부가하고, 상기 제3 가중치가 부가된 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 병합하여 상기 제1 융합 데이터를 획득할 수 있다.
상기 프로세서는, 상기 제1 융합 데이터 및 상기 맥락 처리 결과를 병합하여 병합 결과를 획득하고, 상기 병합 결과를 기반으로 제4 가중치를 획득하고, 상기 제4 가중치를 상기 병합 결과에 부가하여 상기 제2 융합 데이터를 획득할 수 있다.
상기 프로세서는, 상기 제2 융합 데이터를 학습 모델에 적용하여 학습 결과를 획득할 수 있다.
상기 프로세서는, 상기 학습 결과를 디코딩하여 상기 질의에 대응하는 응답을 획득할 수 있다.
상기 프로세서는, 적어도 하나의 응답 후보 중에서 적어도 하나를 검출함으로써 상기 질의에 대응하는 응답을 획득할 수 있다.
대화 처리 방법은, 영상 데이터, 대화 데이터 및 대상 질의를 수신하는 단계, 상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하는 단계, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하는 단계, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하는 단계 및 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 단계를 포함할 수 있다.
상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하는 단계, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하는 단계, 각각의 임코딩 결과를 기반으로 제1 가중치를 획득하는 단계 및 상기 제1 가중치를 상기 대화 데이터에 대한 임베딩에 부가하여 상기 주제 처리 결과를 획득하는 단계를 포함할 수 있다.
상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계는, 상기 제1 가중치가 부가된 대화 데이터에 대한 임베딩에, 상기 맥락 처리 결과의 획득 과정에서 연산된 제2 가중치를 더 부가하여 어텐션 처리된 표현을 획득하는 단계 및 상기 어텐션 처리된 표현을 기반으로 상기 주제 처리 결과를 획득하는 단계를 더 포함할 수 있다.
상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하는 단계는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하는 단계, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하는 단계, 각각의 임코딩 결과를 기반으로 제2 가중치를 획득하는 단계, 상기 제2 가중치를 상기 대화 데이터에 대응하는 인코딩 결과에 부가하는 단계 및 상기 제2 가중치가 부가된 인코딩 결과에 상기 질의에 대응하는 인코딩 결과를 기반으로 상기 맥락 처리 결과를 획득하는 단계를 포함할 수 있다.
상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하는 단계는, 상기 영상 데이터로부터 획득한 특성 및 상기 주제 처리 결과를 기반으로 제3 가중치를 획득하는 단계, 상기 제3 가중치를 상기 주제 처리 결과에 부가하는 단계 및 상기 제3 가중치가 부가된 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 병합하여 상기 제1 융합 데이터를 획득하는 단계를 포함할 수 있다.
상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 단계는, 상기 제1 융합 데이터 및 상기 맥락 처리 결과를 병합하여 병합 결과를 획득하는 단계 및 상기 병합 결과를 기반으로 제4 가중치를 획득하고, 상기 제4 가중치를 상기 병합 결과에 부가하여 상기 제2 융합 데이터를 획득하는 단계를 포함할 수 있다.
대화 처리 방법은, 상기 제2 융합 데이터를 학습 모델에 적용하여 학습 결과를 획득하는 단계를 더 포함할 수 있다.
대화 처리 방법은, 상기 학습 결과를 디코딩하여 상기 질의에 대응하는 응답을 획득하는 단계를 더 포함할 수 있다.
대화 처리 시스템은 적어도 하나의 단말 장치 및 상기 적어도 하나의 단말 장치와 통신 가능한 적어도 하나의 서버 장치를 포함하되, 상기 적어도 하나의 단말 장치 및 상기 적어도 하나의 서버 장치 중 적어도 하나는, 영상 데이터, 대화 데이터 및 대상 질의를 수신하고, 상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하고, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하고, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하고, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하고, 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득할 수 있다.
상술한 영상에 관한 대화 처리 장치, 방법 및 시스템에 의하면, 주어진 영상에 관련된 질문에 대해 적절한 답을 도출할 수 있게 된다.
상술한 영상에 관한 대화 처리 장치, 방법 및 시스템에 의하면, 대명사 등과 같이 문장 내의 모호한 표현이 존재한다고 하더라도 질문에 대해 적절한 답을 획득할 수 있게 된다.
상술한 영상에 관한 대화 처리 장치, 방법 및 시스템에 의하면, 질문의 모호성 외에도 기존의 대화 히스토리 등을 기반으로 질문의 의도를 명확히 파악하여 응답을 획득하므로, 주어진 질문에 보다 부합되는 응답을 도출할 수 있게 된다.
상술한 영상에 관한 대화 처리 장치, 방법 및 시스템에 의하면, 응답을 도출하는 과정에서 집중하는 적어도 하나의 단어와 영상 내의 적어도 하나의 영역을 시각화할 수 있게 됨으로써, 응답을 도출한 과정을 명확하게 파악할 수 있게 되는 장점도 얻을 수 있다.
도 1은 영상에 관한 대화 처리 장치의 일 실시예에 대한 블록도이다.
도 2는 영상에 관한 대화 처리 동작의 일 실시예를 설명하기 위한 참조 도면이다.
도 3은 주제 처리부의 일 실시예에 대한 블록도이다.
도 4는 맥락 처리부의 일 실시예에 대한 블록도이다.
도 5는 융합부의 일 실시예에 대한 블록도이다.
도 6은 대화 처리 시스템의 일 실시예에 대한 도면이다.
도 7은 대화 처리 방법의 일 실시예에 대한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
제 1이나 제 2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 5를 참조하여 영상에 관한 대화 처리 장치의 여러 실시예에 대해서 설명하도록 한다.
도 1은 영상에 관한 대화 처리 장치의 일 실시예에 대한 블록도이고, 도 2는 영상에 관한 대화 처리 동작의 일 실시예를 설명하기 위한 참조 도면이다.
도 1에 도시된 바에 의하면, 대화 처리 장치(10)는 일 실시예에 있어서 입력부(11), 출력부(12), 저장부(15) 및 프로세서(100)를 포함할 수 있다. 여기서, 입력부(11), 출력부(12) 및 저장부(15) 중 적어도 하나는 실시예에 따라 생략 가능하다. 또한, 입력부(11), 출력부(12), 저장부(15) 및 프로세서(100) 중 적어도 둘은 상호 회로나 케이블 등을 통해 전기적으로 연결되어, 전기적 신호를 송신할 수 있도록 마련된 것일 수 있다. 이 경우, 저장부(15) 및 프로세서(100)는 데이터나 프로그램(소프트웨어, 애플리케이션 또는 앱 등으로 지칭 가능함)을 상호 송수신할 수 있도록 마련될 수 있다.
입력부(11)는 사용자의 조작 등에 따라 데이터를 입력 받고, 입력 받은 데이터를 프로세서(100) 및 저장부(15) 중 적어도 하나로 전달할 수 있다. 입력부(11)는, 예를 들어, 키보드 장치, 마우스 장치, 태블릿, 터치스크린, 터치패드, 트랙볼, 트랙패드, 노브, 버튼 및/또는 스틱형 입력 장치 등을 포함할 수도 있고, 외부의 메모리 장치 등으로부터 데이터를 수신할 수 있는 데이터 입출력 단자(예를 들어, 범용 직렬 버스 단자 등)를 포함할 수도 있으며, 유선 통신 네트워크나 무선 통신 네트워크(근거리 통신 네트워크 또는 이동 통신 네트워크 등을 포함할 수 있다)에 접속해서 데이터를 수신할 수 있는 통신 모듈 등을 포함할 수도 있다. 이외에도 입력부(11)는 데이터의 수신이 가능한 다양한 장치나 부품을 포함할 수 있다.
일 실시예에 의하면, 입력부(11)는, 도 2에 도시된 바와 같이 영상 데이터(80) 및 대화 데이터(90) 중 적어도 하나를 입력 받을 수 있다. 영상 데이터(80) 및 대화 데이터(90)는 동시에 또는 순차적으로 입력부(11)에 입력될 수 있다. 대화 데이터(90)는 적어도 하나의 대화(들)를 포함하되, 대화는 문자, 기호 및/또는 도형 등의 텍스트 형식으로 구현된 것일 수 있다. 보다 구체적으로 예를 들어, 대화 데이터(90)의 대화(들)는 적어도 하나의 질의(97)와 각각의 질의(97)에 대응하는 적어도 하나의 응답(98)을 포함하는 대화 히스토리의 형태로 구현된 것일 수 있다. 또한, 대화 데이터(90)는 부가적인 설명(91)을 더 포함하는 것도 가능하다. 질의(97), 응답(98) 및/또는 설명(91)은 영상 데이터(80)와 관련된 것일 수 있다. 즉, 대화 데이터(90)는 상응하는 영상 데이터(80)와 관련된 질의(97), 응답(98) 및/또는 설명(91)을 포함할 수 있다. 또한, 입력부(11)는, 대답을 찾고자 하는 적어도 하나의 질의(99, 이하 대상 질의)를 입력 받을 수도 있다. 적어도 하나의 대상 질의(99)도 텍스트 형식으로 마련될 수 있으며, 영상(80)과 관련된 것일 수 있다. 적어도 하나의 대상 질의(99)는 대화 데이터(90)와 별도로 입력부(11)로 입력될 수도 있고, 또는 대화 데이터(90)에 포함되어 함께 입력부(11)로 입력될 수도 있다.
프로세서(100)는 대화 처리에 관한 적어도 하나의 동작(일례로 연산, 판단, 처리 및/또는 제어 동작 등)을 수행할 수 있다. 실시예에 따라서, 프로세서(100)는 저장부(15)에 저장된 애플리케이션을 이용하여 대화 처리를 수행할 수도 있다. 또한, 프로세서(100)는 대화 처리 장치(10)의 동작 전반에 필요한 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수도 있다. 프로세서(100)는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 애플리케이션 프로세서(AP, Application Processor), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수 있다. 이들 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현 가능하다. 프로세서(100)의 구체적인 동작은 후술한다.
일 실시예에 따르면, 프로세서(110)는 도 1에 도시된 바와 같이, 영상 처리부(101), 주제 처리부(110), 맥락 처리부(120), 융합부(130), 학습부(160) 및 디코더(161)를 포함할 수 있다. 일 실시예에 의하면, 영상 처리부(101), 주제 처리부(110), 맥락 처리부(120), 융합부(130), 학습부(160) 및 디코더(161)는 논리적으로 구분되는 것일 수 있다. 또한, 다른 실시예에 의하면, 영상 처리부(101), 주제 처리부(110), 맥락 처리부(120), 융합부(130), 학습부(160) 및 디코더(161) 중 적어도 둘은 물리적으로 구분되는 것일 수도 있다. 이 경우, 프로세서(110)는 둘 이상의 반도체 칩 등을 이용하여 구현될 수도 있다. 영상 처리부(101), 주제 처리부(110), 맥락 처리부(120), 융합부(130), 학습부(160) 및 디코더(161) 중 적어도 하나는 저장부(15)와 연결되어 저장부(15)로부터 데이터나 프로그램(학습 모델 등) 등을 수신할 수도 있다.
영상 처리부(101)는 입력부(11)와 연결되어 입력부(11)로부터 영상 데이터(80)를 수신할 수 있다. 영상 처리부(101)는 영상 데이터(80) 내에 나타난 피사체(81, 82)를 획득하고 피사체(81, 82)에 대한 적어도 하나의 영상적 특성을 획득할 수 있다. 일 실시예에 의하면, 영상 처리부(101)는 적어도 하나의 학습 모델(예를 들어, 상향식 어텐션 메커니즘(bottom-up attention mechanism)을 기반으로 피사체(81, 82)를 획득하고, 동일하거나 상이한 적어도 학습 모델을 더 이용하여 피사체(81, 82)에 대응하는 특성을 획득할 수도 있다. 이 경우, 영상 처리부(101)는 특성 획득을 위해 콘볼루션 신경망(CNN: Convolution Neural Network) 특징을 갖는 구역(R-CNN) 알고리즘이나, 고속 콘볼루션 신경망 특징을 갖는 구역 알고리즘(fast-CNN) 등의 학습 모델을 이용할 수 있으나, 이에 한정되는 것은 아니다. 영상 처리부(101)는 영상(80) 내의 피사체 획득 및 특성을 획득하기 위한 다양한 학습 모델을 이용하여 피사체(81, 82)에 대응하는 특성을 획득할 수도 있다. 획득한 특성은 융합부(130), 일례로 주제 융합부(140)로 전달될 수 있다.
주제 처리부(110)는 입력부(11)와 연결되어 입력부(11)로부터 대화 데이터(90)를 수신할 수 있다. 여기서 대화 데이터(90)는, 응답을 구하고자 하는 적어도 하나의 대상 질의(99)를 포함할 수 있다. 주제 처리부(110)는 대화 데이터(90)를 기반으로 주제 처리 결과를 획득할 수 있다. 보다 구체적으로 예를 들어, 주제 처리부(110)는 대화 데이터(90) 내에 존재하고 주어진 대상 질의(99)와 관련된 적어도 하나의 단어에 선택적으로 또는 비선택적으로 집중하여 질의와 관련된 주제 특성을 획득함으로써 주제 처리 결과를 획득할 수 있다. 주제 처리 결과는 주제 처리부(110)와 연결된 융합부(130)로 전달될 수 있다.
맥락 처리부(120)는 입력부(11)와 연결되어 입력부(11)로부터 영상(80) 및 대화 데이터(90, 상술한 바와 동일하게 적어도 하나의 대상 질의(99)를 포함할 수 있다) 중 적어도 하나를 수신하고, 대화 데이터(90) 내의 대화(단어나 문장 등) 중에서 주어진 대상 질의(99)와 관련 있는 대화에 초점을 맞춰 주어진 대상 질의(99)와 관계 있는 대화에 대한 맥락 처리 결과를 획득할 수 있다. 맥락 처리 결과는, 맥락 처리부(120)와 연결된 융합부(130)로 전달될 수 있다.
융합부(130)는 영상 데이터(80), 주제 처리부(110)의 주제 처리 결과 및 맥락 처리부(120)의 맥락 처리 결과를 수신하고 이들을 융합할 수 있다. 일 실시예에 있어서, 융합부(130)는 주제 융합부(140) 및 맥락 융합부(150)를 포함할 수 있다. 주제 융합부(140)는 주제 처리부(110)로부터 주제 처리 결과를 획득하고, 획득한 주제 처리 결과를 융합하여 융합 결과(이하 제1 융합 데이터)를 획득하고, 획득한 제1 융합 데이터를 맥락 융합부(150)로 전달할 수 있다. 맥락 융합부(150)는 주제 융합부(140)로부터 제1 융합 데이터를 획득하고, 또한 맥락 처리부(120)로부터 맥락 처리 결과를 획득한 후, 제1 융합 데이터와 맥락 처리 결과를 융합하여 융합 결과(이하 제2 융합 데이터)를 획득할 수 있다. 융합부(130)가 획득한 제2 융합 데이터는, 융합부(130)와 연결된 학습부(160)로 전달될 수 있다.
학습부(160)는 융합부(130) 및 디코더(161)와 연결되어 있을 수 있으며, 제2 융합 데이터를 융합부(130)로부터 획득하고, 획득한 제2 융합 데이터를 기반으로 학습을 수행할 수 있다. 이를 위해 적어도 하나의 학습 모델이 이용될 수 있다. 여기서, 적어도 하나의 학습 모델은, 예를 들어, 순방향 신경망(feedforward neural network), 심층 신경망(DNN: Deep Neural Network), 순환 신경망(RNN: Recurrent Neural Network), 콘볼루션 신경망, 심층 신뢰 신경망(DBN: Deep Belief Network), 장단기 메모리(LSTM: Long short term memory), 심층 강화 학습(Deep reinforcement learning) 알고리즘 및/또는 심층 Q-네트워크(Deep Q-Network) 등을 포함할 수 있으나 이에 한정되지는 않는다. 학습부(160)의 학습 수행에 따른 결과(이하 학습 결과)는 학습부(160)와 연결된 디코더(161)로 전달될 수 있다.
디코더(161)는 학습부(160)로부터 학습 결과를 획득하고, 획득한 학습 결과를 이용하여 대상 질의(99)에 대한 최적의 응답(정답)을 도출 및 획득할 수 있다. 이 경우, 학습 결과는 디코더(161)의 입력으로 이용될 수 있다. 일 실시예에 의하면, 디코더(161)는 적어도 하나의 응답 후보를 먼저 획득하고, 적어도 하나의 응답 후보 중에서 가장 적절한 응답 후보를 검출함으로써 응답을 도출할 수도 있다. 여기서, 응답 후보는 대화 데이터(90)나 대상 질의(99)와 동일하게 또는 일부 변형된 방법을 통하여 임베딩 및 인코딩 처리된 것일 수도 있다. 디코더(161)는, 적절한 응답 후보의 검출을 위해 차별적 디코더(Discriminative Decoder) 및 생성적 디코더(Generative Decoder) 중 적어도 하나를 기반으로 설계된 것일 수 있다. 차별적 디코더의 경우, 디코더(161)는 학습부(160)의 학습 결과 및 적어도 하나의 응답 후보(예를 들어, 정방향 장단기 메모리의 마지막 은닉 상태를 이용하여 인코딩된 문장 표현(sentence representation)을 포함할 수 있음)에 대한 내적을 연산하고, 연산 결과를 소프트 맥스 함수 등을 이용하여 정규화함으로써 후보들에 대한 확률 분포를 연산함으로써 적절한 응답 후보를 검출할 수 있다. 이 경우, 차별적 목적 함수(Discriminative objective function)로 다중 클래스 크로스 엔트로피 손실 함수(multi-class cross entropy loss function) 등이 이용될 수 있다. 생성적 디코더의 경우, 디코더(161)는, 예를 들어, 두 개의 층을 갖는 장단기 메모리를 이용하여 적절한 응답 후보를 검출할 수 있다. 실시예에 따라서 디코더(161)는 융합부(130)의 제2 융합 데이터를 기반으로 대상 질의(99)에 대한 응답을 도출하는 것도 가능하다. 디코더(161)가 획득한 최적의 응답은 출력부(12)로 전달되어 외부로 출력될 수 있다.
상술한 주제 처리부(110), 맥락처리부(120), 융합부(130), 학습부(160) 및 디코더(161) 각각의 보다 구체적인 동작에 대해선 후술하도록 한다.
출력부(12)는 프로세서(100)의 처리 결과를 시각적 또는 청각적으로 외부로 출력할 수 있다. 예를 들어, 출력부(12)는 디코더(161)로부터 대상 질의(99)에 대한 최적의 응답을 수신하여 획득하고, 획득한 최적의 응답을 외부로 출력함으로써 사용자 등에게 제공할 수도 있다. 실시예에 따라서, 출력부(12)는 입력부(11)로 입력된 영상 데이터(80)나, 입력부(11)로 입력된 대화 데이터(90)나, 프로세서(100)의 처리 과정에서 획득된 적어도 하나의 데이터(일례로 주제 처리 결과, 맥락 처리 결과, 제1 융합 데이터 및/또는 제2 융합 데이터 등)나, 프로세서(100)에 의해 이용되는 프로그램(학습 모델 등) 등을 더 출력하는 것도 가능하다. 출력부(12)는, 예를 들어, 디스플레이 장치, 스피커 장치, 데이터 입출력 단자 및/또는 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
저장부(15)는, 대화 처리 장치(10), 일례로 프로세서(100)의 동작에 필요한 데이터 등을 일시적 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(15)는 영상 데이터(80), 대화 데이터(90), 주제 처리 결과, 맥락 처리 결과, 제1 융합 데이터, 제2 융합 데이터, 학습 결과 및/또는 최종적으로 획득된 대상 질의(99)에 대한 응답 등을 일시적 또는 비일시적으로 저장할 수 있다. 또한, 저장부(15)는 프로세서(100)의 동작에 요구되는 프로그램 등을 저장할 수도 있다. 여기서, 프로그램은, 설계자에 의해 직접 작성 및 입력되어 저장부(15)에 저장된 것일 수도 있고, 또는 유선 또는 무선 통신 네트워크를 통해 수신 및 저장될 것일 수도 있다. 후자의 경우, 프로그램은 접속 가능한 유통망(일례로 전자 소프트웨어 유통망(ESD: Electronic Software Distribution) 등)을 통하여 획득되거나 갱신된 것일 수도 있다. 일 실시예에 의하면, 저장부(12)는, 주기억장치 및 보조기억장치 중 적어도 하나일 수 있으며, 주기억장치는 반도체 소자 등을 이용하여 구현될 수 있고, 보조기억장치는 반도체 소자, 자기디스크 및/또는 광디스크 등을 이용하여 구현될 수 있다.
상술한 영상에 관한 대화 처리 장치(10)는, 일 실시예에 의하면, 데이터의 연산 처리가 가능한 하나 또는 둘 이상의 전자 장치를 이용하여 구현될 수도 있다. 여기서, 전자 장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트 폰, 태블릿 피씨, 스마트 시계, 내비게이션 장치, 휴대용 게임기, 두부 장착형 디스플레이(HMD, Head Mounted Display) 장치, 개인용 디지털 보조기(PDA), 디지털 텔레비전, 셋톱 박스, 가전 기기, 인공 지능 음향 재생 장치(인공 지능 스피커) 또는 영상에 대한 대화 처리를 수행하기 위해 특별히 고안된 전자 장치 등을 포함할 수 있다. 실시예에 따라서, 예시된 장치 외에도, 영상 및 텍스트의 입력 및 연산 처리가 가능한 적어도 하나의 정보 처리 장치가 상술한 대화 처리 장치(10)의 일 실시예로 이용 가능하다.
이하 주제처리부(110), 맥락처리부(120), 융합부(130), 학습부(160) 및 디코더(161) 각각에 대해 보다 자세히 설명하도록 한다.
도 3은 주제 처리부의 일 실시예에 대한 블록도이다.
프로세서(100)의 주제 처리부(110)는, 일 실시예에 있어서, 도 3에 도시된 바와 같이, 대화 데이터(90)를 획득하는 제1 임베딩 처리부(111)와, 제1 임베딩 처리부(111)에 연결된 제1 인코딩부(112)와, 대상 질의(99)를 획득하는 제2 임베딩 처리부(113)와, 제2 임베딩 처리부(113)에 연결된 제2 인코딩부(114)와, 제1 인코딩부(112) 및 제2 인코딩부(114)에 연결된 제1 가중치 처리부(115)와, 제1 가중치 처리부(115)에 연결된 제1 가중부(116)와, 제1 가중부(116)에 연결된 제2 가중부(117)와, 제2 임베딩 처리부(113) 및 제2 가중부(117)에 연결되고 또한 주제 융합부(140)와 연결된 주제 처리 결과 출력부(118)를 포함할 수 있다.
제1 임베딩 처리부(111)는 대화 데이터(90: 일례로, 대화 히스토리, 대상 질의(99)는 불포함할 수 있다)를 획득하고, 대화 데이터(90)에 대해 임베딩을 수행함으로써 대화 데이터(90)에 대응하는 결과(일례로 적어도 하나의 문장 내의 단어들 각각에 대한 적어도 하나의 임베딩 벡터)를 획득할 수 있다. 여기서 임베딩은 단어나 문장 등을 벡터로 변환하여 나타내는 것을 의미한다. 제1 임베딩 처리부(111)는 문장 내의 단어 전부 또는 일부마다 임베딩을 수행하여 적어도 하나의 임베딩 처리 결과(일례로 임베딩 벡터)를 획득할 수 있다. 또한, 제2 임베딩 처리부(113)는, 대상 질의(99)를 획득하고, 대상 질의(99)에 대한 임베딩을 수행하여 대상 질의(99)에 대응하는 결과를 획득할 수 있으며, 예를 들어, 대상 질의(99) 내의 모든 또는 일부의 단어 각각에 대한 적어도 하나의 임베딩 결과(일례로 적어도 하나의 임베딩 벡터)를 획득할 수 있다. 제1 임베딩 처리부(111) 또는 제2 임베딩 처리부(113)는 적어도 하나의 학습 모델을 이용하여 대화 데이터(90) 또는 대상 질의(99)에 대한 임베딩을 수행할 수 있다. 학습 모델은, 예를 들어, 글로브(GloVe: Global Vectors for Word Representation) 등과 같은 적어도 하나의 단어 임베딩 모델을 포함할 수 있다. 글로브 등과 같은 학습 모델은 사전에 훈련된 것일 수 있다. 실시예에 따라, 제1 임베딩 처리부(111) 및 제2 임베딩 처리부(113)는 동일한 학습 모델을 이용할 수도 있고 상이한 학습 모델을 이용할 수도 있다. 또한, 제1 임베딩 처리부(111) 및/또는 제2 임베딩 처리부(113)는 하나의 학습 모델을 이용하여 임베딩을 수행할 수도 있고, 둘 이상의 학습 모델을 이용하여 임베딩을 수행할 수도 있다. 제1 임베딩 처리부(111)가 획득한 대화 데이터(90)에 대응하는 임베딩 결과는 제1 인코딩부(112)로 전달되고, 제2 임베딩 처리부(113)가 획득한 대상 질의(99)에 대응하는 임베딩 결과는 제2 인코딩부(114)로 전달될 수 있다.
제1 인코딩부(112) 및 제2 인코딩부(114)는, 각 임베딩에 대응하는 인코딩 결과를 각각 획득할 수 있다. 제1 인코딩부(112)는 제1 임베딩 처리부(111)가 획득한 대화 데이터(90)에 대한 임베딩의 순차 표현(sequential representation)을 인코딩할 수 있으며, 제2 인코딩부(114)는, 제2 임베딩 처리부(113)가 획득한 대상 질의(99)에 대한 임베딩의 순차 표현을 인코딩할 수 있다. 여기서 대화 데이터(90)에 대한 임베딩의 순차 표현은 대화 데이터(90) 내의 각각의 단어에 대응하는 임베딩에 대한 인코딩 처리 결과의 전부 또는 일부를 접합한 것을 포함할 수 있고, 획득한 대상 질의(99)에 대한 임베딩의 순차 표현은 대상 질의(99) 내의 각각의 단어에 대응하는 임베딩에 대한 인코딩 처리 결과의 전부 또는 일부를 접합한 것을 포함할 수 있다. 제1 인코딩부(112) 및 제2 인코딩부(114)는 적어도 하나의 학습 모델을 기반으로 인코딩을 수행할 수 있다. 여기서, 적어도 하나의 학습 모델은, 예를 들어, 양 방향 장단기 메모리(BiLSTM: bi-directional long short-term memory) 등을 포함할 수 있다. 이 경우, 각 대화 데이터(90)에 대한 순차 표현은 상이한 양 방향 장단기 메모리 층을 갖는 질문 구성 처리를 이용하여 구축될 수 있다. 실시예에 따라서, 제1 인코딩부(112) 및 제2 인코딩부(114)는 다른 학습 모델을 채용하여 인코딩을 수행할 수도 있다. 또한, 실시예에 따라서, 제1 인코딩부(112) 및 제2 인코딩부(114)는 동일한 학습 모델을 이용할 수도 있고, 상이한 학습 모델을 이용할 수 있다. 또한, 필요에 따라, 제1 인코딩부(112) 및/또는 제2 인코딩부(114)는 둘 이상의 학습 모델을 이용하여 인코딩을 수행할 수도 있다.
제1 가중치 처리부(115)는 제1 가중부(116)에 의해 이용될 적어도 하나의 가중치(이하 제1 가중치)를 획득할 수 있다. 제1 가중치는 대화 데이터(90, 일례로 대화 히스토리)로부터 질의 주제에 관계된 단어에 선택적으로 집중하기 위해 이용된다. 일 실시예에 의하면, 제1 가중치 처리부(115)는 내적 어텐션(dot product attention)을 채용하여 제1 가중치를 획득할 수 있다. 보다 구체적으로 예를 들어, 제1 가중치 처리부(115)는 제1 인코딩부(112)로부터 전달된 인코딩 결과(일례로 단어나 문장에 대한 순차 표현)에 대해 비선형 변환 함수를 적용하고, 제2 인코딩(114)로부터 전달된 인코딩 결과에 대해 비선형 변환 함수를 적용한 후, 변환 함수의 적용 결과 각각을 병합하여 제1 가중치를 획득할 수도 있다. 변환 함수의 적용 결과의 병합 과정은, 제2 인코딩부(114)의 인코딩 결과(즉, 대상 질의(99)로부터 도출된 인코딩 결과)의 전치 행렬 및 제1 인코딩부(112)의 인코딩 결과(즉, 대화 데이터(90)로부터 도출된 인코딩 결과)를 순차적으로 곱함으로써 수행될 수도 있다. 필요에 따라 제1 가중치 처리부(115)는 병합 결과를 정규화함으로써 제1 가중치를 획득할 수도 있다. 예를 들어, 제1 가중치 처리부(115)는 병합 결과를 소프트맥스(softmax) 함수에 적용하여 제1 가중치를 획득할 수도 있다. 획득한 제1 가중치는 제1 가중부(116)로 전달될 수 있다.
제1 가중부(116)는 제1 임베딩 처리부(111)가 획득한 임베딩 결과(즉, 대화 데이터(90)에 대한 임베딩 결과)에 제1 가중치 처리부(115)가 획득한 제1 가중치를 부가함으로써 결과 데이터(일례로 대화 데이터(90)에 대한 특성 데이터)를 연산하여 획득할 수 있다. 이 경우, 제1 가중부(116)는 제1 가중치 및 제1 임베딩 처리부(111)의 임베딩을 가중합함으로써 결과 데이터를 획득할 수도 있다. 결과 데이터는 제2 가중부(117)로 전달될 수 있다.
제2 가중부(117)는 제1 가중부(116)의 결과 데이터를 수신하고 맥락 처리부(120)로부터 제2 가중치(어텐션 스코어(attention score)를 수신한 후, 제1 가중부(116)의 결과 데이터에 제2 가중치를 부가함으로써 어텐션 처리된 표현(attended representation)을 획득할 수 있다. 보다 상세하게는 제2 가중부(117)는 결과 데이터 각각마다 대응하는 어텐션 스코어를 부가한 후 이를 합산함으로써(즉, 어텐션 스코어 및 결과 데이터를 가중합 함으로써), 어텐션 처리된 표현을 획득할 수도 있다. 여기서, 어텐션 스코어는 맥락 처리부(120)의 제2 가중치 처리부(도 4의 125)에 의해 획득된 것일 수 있다. 제2 가중부(117)가 획득한 어텐션 처리된 표현은 주제 처리 결과 출력부(118)로 전달될 수 있다.
주제 처리 결과 출력부(118)는 제2 임베딩 처리부(113)가 획득한 대상 질의(99)에 대한 임베딩 결과 및 제2 가중부(117)가 획득한 어텐션 처리된 표현을 기반으로 결과 데이터(이하 주제 처리 결과)를 획득할 수 있다. 일 실시예에 의하면, 주제 처리 결과 출력부(118)는 주제 처리 결과의 획득을 위해 게이트 함수(gate function)를 이용할 수 있다. 이 경우, 대상 질의(99)에 대한 임베딩 결과 및 어텐션 처리된 표현은 게이트 함수에 입력 값으로 입력될 수 있다. 여기서 게이트 함수는 시그모이드 함수(Sigmoid function)를 이용하여 구현될 수도 있다. 필요에 따라, 주제 처리 결과 출력부(118)는 대상 질의(99)에 대한 임베딩 결과 및 어텐션 처리된 표현의 병합을 더 이용하여 주제 처리 결과를 획득할 수도 있다. 이 경우, 주제 처리 결과 출력부(118)는 대상 질의(99)에 대한 임베딩 결과 및 어텐션 처리된 표현의 병합과 게이트 함수에 대한 요소 기반 곱(element-wise multiplication, 아다마르 곱(Hadamard product))을 수행함으로써 주제 처리 결과를 획득할 수도 있다.
주제 처리 결과는 주제 융합부(140)로 전달될 수 있다.
도 4는 맥락 처리부의 일 실시예에 대한 블록도이다.
도 4에 도시된 바에 의하면, 맥락 처리부(120)는 일 실시예에 있어서, 대화 데이터(90)를 획득하는 제3 임베딩 처리부(121)와, 제3 임베딩 처리부(121)와 연결된 제3 인코딩부(122)와, 대상 질의(99)를 획득하는 제4 임베딩 처리부(123)와, 제4 임베딩 처리부(123)와 연결된 제4 인코딩부(124)와, 제3 인코딩부(122) 및 제4 인코딩부(124)에 연결되고 제3 인코딩부(122) 및 제4 인코딩부(124)의 처리 결과를 각각 획득하여 연산을 수행하는 제2 가중치 처리부(125)와, 제2 가중치 처리부(125)의 연산 결과(일례로 어텐션 스코어)를 제3 인코딩부(122)의 인코딩 결과에 부가하는 제3 가중부(126)와, 맥락 처리에 따른 최종 결과를 출력하여 맥락 융합부(150)에 전달하는 맥락 처리 결과 출력부(127)를 포함할 수 있다.
제3 임베딩 처리부(121)는 대화 데이터(90)를 획득하고, 대화 데이터(90)에 대해 임베딩을 수행할 수 있다. 이 경우, 제3 임베딩 처리부(121)는 대상 질의(99)에 대한 임베딩은 수행하지 않을 수 있다. 제3 임베딩 처리부(121)의 처리 결과에 따라, 대화 데이터(90)에 대응하는 결과(일례로 단어(들) 각각에 대응하는 임베딩 벡터(들))가 획득될 수 있다. 또한, 제4 임베딩 처리부(123)는 대상 질의(99)를 획득하고 획득한 대상 질의(99)에 대한 임베딩을 수행하여 대상 질의(99)에 대응하는 결과(일례로 대상 질의(99)의 단어(들) 각각에 대한 임베딩 벡터(들))을 획득할 수도 있다. 제1 임베딩 처리부(111) 및 제2 임베딩 처리부(113)의 경우와 동일하게, 제3 임베딩 처리부(121) 및 제4 임베딩 처리부(123)도 적어도 하나의 학습 모델을 이용하여 임베딩을 수행할 수 있되, 적어도 하나의 학습 모델은 글로브 등의 단어 임베딩 모델을 포함할 수 있다. 또한, 제3 임베딩 처리부(121) 및 제4 임베딩 처리부(123)도 서로 동일한 학습 모델을 이용할 수도 있고 서로 상이한 학습 모델을 이용할 수도 있으며, 실시예에 따라 각각 하나 또는 복수의 학습 모델을 이용할 수도 있다.
제3 인코딩부(122)는 제3 임베딩 처리부(121)의 임베딩 처리 결과를 기반으로 대화 데이터(90)에 대한 임베딩의 순차 표현을 인코딩하고, 제4 인코딩부(124)는 제4 임베딩 처리부(123)의 임베딩 처리 결과를 기반으로 대상 질의(99)에 대한 임베딩의 순차 표현을 인코딩할 수 있다. 일 실시예에 따르면, 제3 인코딩부(122) 및 제4 인코딩부(124)는 적어도 하나의 학습 모델을 기반으로 인코딩을 수행하되, 예를 들어, 양 방향 장단기 메모리 등을 이용하여 인코딩을 수행할 수도 있다. 이 경우, 제3 인코딩부(122) 및 제4 인코딩부(124)는 각각 전방 장단기 메모리 및 후방 장단기 메모리 각각의 최후의 은닉층을 결합하여 순차 표현을 구성할 수도 있다. 보다 구체적으로 예를 들어, 제3 인코딩부(122)는 대화 데이터(90)에 대해 전방 장단기 메모리 및 후방 장단기 메모리 처리를 수행하고, 전방 장단기 메모리 처리에 따른 벡터 값과 후방 장단기 메모리 처리에 따른 벡터 값을 획득하고, 양자를 결합한 값을 출력할 수 있다. 제4 인코딩부(124)도, 제3 인코딩부(122)의 동작과 동일하게 대상 질의(99)에 대한 전방 장단기 메모리 및 후방 장단기 메모리 처리를 수행하고, 전방 장단기 메모리 처리에 따른 벡터 값과 후방 장단기 메모리 처리에 따른 벡터 값 양자를 결합한 값을 출력할 수 있다. 즉, 제3 인코딩부(122) 및 제4 인코딩부(124)는 상술한 제1 인코딩부(112) 및 제2 인코딩부(114)와는 상이한 값을 출력할 수 있다. 제3 인코딩부(122) 및 제4 인코딩부(124)도 상술한 바와 같이 서로 동일한 학습 모델을 이용할 수도 있고 서로 상이한 학습 모델을 이용할 수도 있으며, 실시예에 따라 각각 하나의 학습 모델을 이용하거나 또는 복수의 학습 모델을 이용할 수도 있다.
실시예에 따라서, 제3 임베딩 처리부(121), 제3 인코딩부(122), 제4 임베딩 처리부(123) 및 제4 인코딩부(124)는 생략될 수 있다. 이 경우, 상술한 제1 임베딩 처리부(111), 제1 인코딩부(112), 제2 임베딩 처리부(113) 및 제2 인코딩부(114)가 제3 임베딩 처리부(121), 제3 인코딩부(122), 제4 임베딩 처리부(123) 및 제4 인코딩부(124)의 동작을 수행하고, 동작에 따른 처리 결과(예를 들어, 임베딩 결과나, 장단기 메모리 처리에 따른 벡터 등)를 제2 가중치 처리부(125), 제3 가중부(126) 및/또는 맥락 처리 결과 출력부(127)로 전송하는 것도 가능하다.
일 실시예에 의하면, 제2 가중치 처리부(125)는 대화 데이터(90, 일례로 대화 히스토리)로부터 대상 질의(99)에 관련된 히스토리에 집중하기 위한 가중치(이하 제2 가중치)를 획득할 수 있다. 이 경우, 제2 가중치 처리부(125)는 어텐션 메커니즘(attention mechanism)을 채용하여 제2 가중치를 획득할 수도 있다. 보다 구체적으로 예를 들어, 제2 가중치 처리부(125)는 서로 병합된 두 개의 비선형 변환 함수(양 비선형 변환 함수는 동일할 수도 있고 상이할 수도 있다) 각각에 제3 인코딩부(122)의 인코딩 결과 및 제4 인코딩부(124)의 인코딩 결과를 대입함으로써 제2 가중치를 획득할 수 있다. 이 경우, 두 비선형 변환 함수의 병합은 아다마르 곱을 이용하여 수행될 수도 있다. 또한, 필요에 따라 제2 가중치 처리부(125)는 병합된 비선형 변환 함수에 사영 함수(projection function, 일례로 사영 행렬 등)을 더 부가하거나 훈련을 위한 매개 변수를 더한 후, 각각의 비선형 변환 함수에 제3 인코딩부(122)의 인코딩 결과 및 제4 인코딩부(124)의 인코딩 결과를 입력하여 제2 가중치를 획득할 수도 있다. 실시예에 따라서, 제2 가중치 처리부(125)는 제3 인코딩부(122)의 인코딩 결과 및 제4 인코딩부(124)의 인코딩 결과를 입력하여 획득한 값을 정규화함으로써 제2 가중치(일례로 어텐션 스코어)를 획득하는 것도 가능하다. 여기서, 정규화는 소프트 맥스 함수 등을 이용하여 수행될 수도 있다. 획득된 제2 가중치는 제3 가중부(126)로 전달될 수 있다. 또한 제2 가중치는, 주제 처리부(110)의 제2 가중부(117)로 전달되어 어텐션 처리된 표현의 획득에 이용될 수 있다.
제3 가중부(126)는 제3 인코딩부(122)로부터 인코딩 결과(일례로 대화 데이터(90)에 대한 임베딩의 순차 표현)를 수신하고, 제2 가중치 처리부(125)로부터 제2 가중치를 수신한 후, 제2 가중치를 인코딩 결과에 부가하여 결과 데이터(일례로 대상 질의(99)에 관련된 히스토리 특성 데이터)를 연산하여 획득할 수 있다. 이 경우, 제3 가중부(126)는 제3 인코딩부(122)의 인코딩 결과에 제2 가중치를 가중합함으로써 결과 데이터를 획득할 수도 있다. 결과 데이터는 맥락 처리 결과 출력부(127)로 전달될 수 있다.
맥락 처리 결과 출력부(127)는 제3 가중부(126)가 획득한 결과 데이터와, 제4 인코딩부(124)의 인코딩 처리 결과를 이용하여 결과 데이터(이하 맥락 처리 결과)를 획득할 수 있다. 일 실시예에 의하면, 맥락 처리 결과 출력부(127)는 게이트 함수를 이용하여 맥락 처리 결과를 획득할 수도 있다. 여기서, 게이트 함수의 입력 값으로 제3 가중부(126)의 결과 데이터 및 대상 질의(99)에 대한 인코딩 결과가 이용된다. 게이트 함수는, 예를 들어, 시그모이드 함수를 기반으로 구축 가능하다. 또한, 맥락 처리 결과 출력부(127)는 제3 가중부(126)의 결과 데이터 및 대상 질의(99)에 대한 인코딩 결과의 병합을 더 이용하는 것도 가능하며, 제3 가중부(126)의 결과 데이터 및 대상 질의(99)에 대한 인코딩 결과의 병합의 요소와 게이트 함수의 요소를 곱함으로써 맥락 처리 결과를 획득할 수도 있다.
맥락 처리 결과는 융합부(130), 일례로 맥락 융합부(150)로 전달할 수 있다.
도 5는 융합부의 일 실시예에 대한 블록도이다.
융합부(130)의 주제 융합부(140)는, 일 실시예에 있어서, 영상 처리부(101)로부터 영상(80)에 대한 특성 및 주제 처리 결과 출력부(118)의 주제 처리 결과를 수신하고 이를 기반으로 제1 융합 데이터를 획득할 수 있다. 일 실시예에 따르면, 주제 융합부(140)는 제3 가중치 처리부(141), 제4 가중부(142) 및 융합 데이터 획득부(143)를 포함할 수 있다.
제3 가중치 처리부(141)는 영상 데이터(80)로부터 획득한 특성 및 주제 처리 결과를 이용하여 제3 가중치를 획득할 수 있다. 이 경우, 제3 가중치 처리부(141)는 제3 가중치의 획득을 위해 내적 어텐션을 이용할 수도 있다. 보다 구체적으로 제3 가중치 처리부(141)는 주제 처리 결과에 대해 비선형 변환 함수를 적용하고, 영상 처리부(101)로부터 전달된 특성에 대해 비선형 변환 함수를 적용한 후, 변환 함수의 적용 결과 각각을 병합하여 제3 가중치를 획득할 수도 있다. 제1 가중치 처리부(115)와 동일하게 제3 가중치 처리부(141)는 주제 처리 결과에 대해 비선형 변환 함수의 전치 행렬 및 영상(80)의 특성에 대해 비선형 변환 함수를 곱하여 상술한 병합을 수행할 수도 있다. 또한, 제3 가중치 처리부(115)는, 필요에 따라, 병합 결과를 소프트맥스 함수 등을 이용하여 정규화함으로써 제3 가중치를 획득하는 것도 가능하다. 획득한 제3 가중치는 제4 가중부(142)로 전달될 수 있다.
제4 가중부(142)는 제3 가중치를 주제 처리 결과에 부가할 수 있다. 보다 구체적으로 제4 가중부(142)는 제3 가중치와 주제 처리 결과를 가중합하고 가중합된 결과를 융합 데이터 획득부(143)로 전달할 수 있다.
융합 데이터 획득부(143)는 가중합된 결과 및 영상 데이터(80)로부터 획득한 특성을 병합하여 제1 융합 데이터를 획득할 수 있다. 제1 융합 데이터는 벡터 형태로 표현된 것일 수 있다. 일 실시예에 의하면, 융합 데이터 획득부(143)는 가중합된 결과 및 영상 데이터(80)로부터 획득한 특성 각각을 입력 값으로 하는 학습 모델을 이용하여 제1 융합 데이터를 획득할 수 있다. 여기서 학습 모델은, 예를 들어, 다층 퍼셉트론 모델(MLP: multi-layer perceptron) 등을 이용할 수 있다.
제1 융합 데이터는 맥락 융합부(150)의 맥락 병합부(151)로 전달될 수 있다.
융합부(130)의 맥락 융합부(150)는, 제1 융합 데이터 및 맥락 처리 결과를 주제 융합부(140) 및 맥락 처리 결과 출력부(127)로부터 각각 수신하고, 이를 이용하여 제2 융합 데이터를 획득할 수 있다. 일 실시예에 따르면, 맥락 융합부(150)는 맥락 병합부(151), 제4 가중치 처리부(152) 및 제5 가중부(153)를 포함할 수 있다.
맥락 병합부(151)는 제1 융합 데이터 및 맥락 처리 결과를 병합하여 병합 결과를 획득할 수 있다. 병합 결과는 제4 가중치 처리부(152) 및 제5 가중부(153)로 전달될 수 있다.
제4 가중치 처리부(152)는 맥락 병합부(151)의 병합 결과를 획득하고, 이를 기반으로 가중치(이하 제4 가중치)를 획득할 수 있다. 이 경우, 제4 가중치 처리부(152)는 병합 결과 및 맥락 처리 결과를 기반으로 제4 가중치를 획득할 수도 있다. 예를 들어, 제4 가중치 처리부(152)는 먼저 병합 결과 및 맥락 처리 결과를 이용하여 중간 값을 얻을 수 있다. 일 실시예에 의하면, 제4 가중치 처리부(152)는 병합 결과를 위한 비선형 변환 함수 및 병합 결과를 위한 비선형 변환 함수와 동일하거나 상이한 맥락 처리 결과를 위한 비선형 변환 함수를 이용할 수 있으며, 여기서 병합 결과를 위한 비선형 변환 함수와 맥락 처리 결과를 위한 비선형 변환 함수는 서로 요소 기반 곱된 것일 수도 있다. 중간 값의 획득을 위해 병합 결과 및 맥락 처리 결과는 각각에 대응하는 변환 함수에 입력될 수 있다. 실시예에 따라 제4 가중치 처리부(152)는 병합 결과를 위한 비선형 변환 함수와 맥락 처리 결과를 위한 비선형 변환 함수의 요소 기반 곱에 대해 노옴 함수(Norm 함수, 일례로 L2노옴 함수)를 적용하여 중간 값을 얻을 수도 있다. 순차적으로 제4 가중치 처리부(151)는 중간 값에 대해 사영 함수를 적용하고 학습 가능한 상수를 부가한 후, 이에 대해 정규화를 수행할 수도 있다. 정규화의 수행은 소프트 맥스 함수를 이용하여 수행될 수도 있다. 정규화의 결과에 따라 제4 가중치가 획득될 수 있다. 제4 가중치는 제5 가중부(153)로 전달될 수 있다.
제5 가중부(153)는, 맥락 병합부(151)로부터 제1 융합 데이터 및 맥락 처리 결과의 병합 결과를 수신하고, 제4 가중치 처리부(152)로부터 제4 가중치를 획득한 후, 제4 가중치를 병합 결과에 가중합 등의 방법으로 부가하여 제2 융합 데이터를 획득할 수 있다. 제2 융합 데이터는 학습부(160)로 전달될 수 있다.
학습부(160)는 제2 융합 데이터를 학습 모델에 입력하여 영상(80) 및 대화 데이터(90)가 융합된 학습 결과를 획득할 수 있다. 여기서, 학습 모델은 예를 들어, 하나 이상의 층을 갖는 순방향 신경망 등을 이용할 수 있다. 학습 결과는 상술한 바와 같이 디코더(161)로 전달될 수 있다. 상술한 바와 같이 디코더(161)는 학습 결과를 기반으로 적절한 응답을 도출할 수 있으며, 이를 위해 적어도 하나의 응답 후보를 이용할 수도 있다.
이하 도 6을 참조하여 영상에 관한 대화 처리 시스템의 일 실시예에 대해서 설명하도록 한다.
도 6은 대화 처리 시스템의 일 실시예에 대한 도면이다.
대화 처리 시스템(200)은, 일 실시예에 있어서, 도 6에 도시된 바와 같이, 적어도 하나의 단말 장치(210)와, 적어도 하나의 단말 장치(210)와 통신 네트워크(201)를 통해 상호 데이터를 송수신할 수 있도록 마련된 적어도 하나의 서버 장치(220: 221, 222)를 포함할 수 있다.
적어도 하나의 단말 장치(210)는 조작에 따라 영상 데이터 및 텍스트 데이터 중 적어도 하나를 수신할 수 있다. 여기서, 텍스트 데이터는 대화 데이터(일례로 대화 히스토리) 및 질의 중 적어도 하나를 포함 가능하다. 일 실시예에 의하면, 적어도 하나의 단말 장치(210)는 영상 데이터 및 텍스트 데이터를 그대로 서버 장치(220)로 통신 네트워크를 통해 전송할 수도 있고, 또는 영상 데이터 및 텍스트 데이터 중 적어도 하나를 기반으로 소정의 연산 처리를 수행한 후, 처리 결과를 서버 장치(220)로 전송할 수도 있다. 예를 들어, 적어도 하나의 단말 장치(210)는 대화 데이터 및 질의를 기반으로 주제 처리 결과를 획득하고 주제 처리 결과를 서버 장치(220)로 전송하거나 및/또는 대화 데이터 및 질의를 기반으로 맥락 처리 결과를 획득하고 맥락 처리 결과를 서버 장치(220)로 전송할 수도 있다. 또한, 적어도 하나의 단말 장치(210)는, 영상 데이터에 대한 영상 처리를 수행하고 영상 처리 결과(일례로 영상 내의 피사체에 대한 특성 데이터)를 서버 장치(220)로 전송하거나, 획득한 주제 처리 결과에 대해 영상 데이터로부터 획득한 특성(들)을 융합하여 제1 융합 데이터를 획득하고 제1 융합 데이터를 서버 장치(220)로 전송하거나, 또는 제1 융합 데이터에 맥락 처리 결과를 부가하여 제2 융합 데이터를 획득하고 제2 융합 데이터를 서버 장치(220)로 전송할 수도 있다. 또한, 필요에 따라 적어도 하나의 단말 장치(21)는 제2 융합 데이터에 대한 학습을 더 수행하는 것도 가능하다.
적어도 하나의 단말 장치(210)는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트폰, 셀룰러 폰, 휴대용 게임기, 태블릿 피씨, 스마트 시계, 두부 장착형 디스플레이 장치, 인공 지능 스피커 또는 영상 또는 텍스트의 입력이 가능한 적어도 하나의 정보 처리 장치를 포함할 수 있다. 이외에도 적어도 하나의 단말 장치(210)는 데이터의 입력, 연산 처리 및 출력(전송을 포함할 수 있다) 가능한 소정의 전자 장치를 더 포함할 수도 있다.
서버 장치(220)는 적어도 하나의 단말 장치(210)로부터 수신한 데이터에 대한 처리를 수행하고, 처리 결과를 단말 장치(210)로 전송할 수 있도록 마련된다. 여기서, 적어도 하나의 단말 장치(210)로부터 수신한 데이터는 단말 장치(210)가 수신한 영상 데이터 및 대화 데이터를 포함할 수도 있고, 또는 단말 장치(210)가 처리한 주제 처리 결과, 맥락 처리 결과 및 융합 데이터 중 적어도 하나를 포함할 수도 있다.
서버 장치(220)는 수신한 데이터에 따라서 필요한 처리를 수행할 수 있다. 예를 들어, 서버 장치(220)는 단말 장치(210)가 제2 융합 데이터를 전송한 경우에는 제2 융합 데이터에 대해 학습 및 디코딩을 수행하여 최종 결과를 획득하고, 제1 융합 데이터 및 맥락 처리 결과를 전송한 경우에는 제1 융합 데이터에 대응하는 제2 융합 데이터를 획득한 후 제2 융합 데이터에 대해 학습 및 디코딩을 수행하여 최종 결과를 획득할 수 있다. 피사체에 대한 특성, 주제 처리 결과 및/또는 맥락 처리 결과 등을 수신한 경우에는 서버 장치(220)는 제1 융합 데이터 및 제2 융합 데이터를 순차적으로 획득하고, 제2 융합 데이터를 기반으로 학습 및 디코딩을 수행하여 최종 결과를 획득할 수도 있다. 또한, 서버 장치(220)는 대화 데이터 및 질의를 수신한 경우에는 대화 데이터 및 질의를 기반으로 주제 처리 결과 및 맥락 처리 결과를 획득하고, 이를 기반으로 제1 융합 데이터 및 제2 융합 데이터를 순차적으로 획득하고, 제2 융합 데이터에 대해 학습 및 디코딩을 수행하여 최종 결과를 획득할 수도 있다. 최종 결과는 단말 장치(210)로 전송될 수 있다.
실시예에 따라서, 서버 장치(220)는 둘 이상의 물리적 장치(221, 222 등)를 이용하여 구현될 수도 있다. 이 경우, 둘 이상의 물리적 장치(221, 222) 중 적어도 하나의 장치(221, 222)는, 설계자의 선택에 따라, 주제 처리 결과를 획득하거나, 맥락 처리 결과를 획득하거나, 제1 융합 데이터를 획득하거나, 제2 융합 데이터를 획득하거나, 학습을 수행하거나 및/또는 학습 결과에 대해 디코딩을 수행할 수도 있다.
상술한 적어도 하나의 단말 장치(210) 및 서버 장치(220)는 소정의 통신 네트워크(201)를 통해 상호 데이터를 송수신할 수 있되, 여기서 통신 네트워크(201)는, 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 이용하여 구축된 것일 수 있다. 무선 통신 네트워크는 근거리 통신 네트워크(와이 파이(Wi-Fi), 지그비(zigbee) 또는 블루투스(Bluetooth) 등) 및 원거리 통신 네트워크(3GPP, 3GPP2 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 이동 통신 네트워크 등) 중 적어도 하나를 기반으로 하는 것일 수 있다.
실시예에 따라서, 단말 장치(210) 및 서버 장치(220) 적어도 하나는 상술한 대화 처리 장치(10)의 프로세서(100)의 동작과 동일한 동작을 수행할 수도 있고 및/또는 프로세서(100)의 동작을 일부 변형한 동작을 수행할 수도 있다. 프로세서(100)의 동작에 대해선 기 설명한 바 있으므로, 단말 장치(210) 및 서버 장치(220) 각각의 동작에 대한 자세한 설명은 이하 생략하도록 한다.
이하 도 7을 참조하여 영상에 관한 대화 처리 방법의 일 실시예에 대해서 설명하도록 한다. 이하 대화 처리 방법을 설명함에 있어서 기 설명된 부분과 중복된 부분에 대한 자세한 설명은 생략하도록 한다.
도 7은 대화 처리 방법의 일 실시예에 대한 흐름도이다.
도 7에 도시된 대화 처리 방법의 일 실시예에 의하면, 먼저 영상 데이터, 대화 데이터(대화 히스토리) 및 응답을 찾고자 하는 대상 질의를 획득할 수 있다(300). 영상 데이터, 대화 데이터 및 대상 질의 중 적어도 하나의 획득은, 사용자의 직접 입력이나, 데이터 송수신 단자 또는 통신 모듈 등을 이용한 외부 장치로부터의 전송 등을 통해 수행될 수 있다.
대화 데이터 및 대상 질의에 대해서 주제 처리 결과가 획득되고(302), 이와 별도로 맥락 처리 결과가 획득될 수 있다(304). 맥락 처리 결과의 획득 과정(304)은 주제 처리 결과의 획득 과정(302)에 선행해서 수행될 수도 있고 후행해서 수행될 수도 있으며, 동시에 수행될 수도 있다.
주제 처리 결과 획득 과정(302)은, 일 실시예에 의하면, 대화 데이터 및 대상 질의를 획득하고, 각각에 대해 임베딩 및 인코딩을 수행하고, 각각의 인코딩 결과를 기반으로 가중치(제1 가중치)를 획득하고, 제1 가중치를 대화 데이터에 대한 임베딩 결과에 부가하고, 가중치를 부가하여 획득한 결과 데이터에 주제 처리 결과 과정(302)에서 획득한 가중치(제2 가중치, 어텐션 스코어)를 부가하여 어텐션 처리된 표현을 획득한 후, 어텐션 처리된 표현을 게이트 함수 등에 입력하여 주제 처리 결과를 획득하는 과정을 통해 수행될 수 있다. 인코딩 과정에서 소정의 학습 모델(예를 들어, 양방향 장단기 메모리 등)이 이용될 수 있다. 제1 가중치의 획득은 내적 어텐션 메커니즘을 이용하여 수행될 수도 있다. 제1 가중치의 획득 시 소프트맥스 함수 등을 기반으로 하는 정규화가 더 수행될 수도 있다.
맥락 처리 결과의 획득 과정(304)은 일 실시예에 의하면, 대화 데이터 및 대상 질의를 획득하고, 각각에 대해 임베딩을 획득하고, 임베딩에 대한 인코딩을 수행한 후, 인코딩 결과를 기반으로 어텐션 메커니즘을 이용하여 제2 가중치를 획득하고, 제2 가중치를 대화 데이터에 대한 인코딩 결과에 부가하고, 제2 가중치가 부가된 데이터에 질의 데이터에 대한 인코딩 처리 결과를 게이트 함수 등에 입력하여 맥락 처리 결과를 획득하는 과정을 통해 수행될 수 있다.
순차적으로 주제 처리 결과 및 영상 데이터에 대응하는 데이터가 융합되고 이에 따라 제1 융합 데이터가 획득될 수 있다(306). 이 경우, 영상 데이터에 대응하는 데이터는 영상 내의 피사체에 대한 적어도 하나의 특성을 포함할 수 있다. 적어도 하나의 특성은 영상 데이터에 대해 콘볼루션 신경망 특징을 갖는 구역 알고리즘 등의 학습 모델을 이용하여 영상으로부터 획득될 수도 있다. 제1 융합 데이터의 획득은, 내적 어텐션 등을 이용하여 가중치(제3 가중치)가 획득되고, 제3 가중치를 이용하여 주제 처리 결과를 가중합하고, 가중합된 결과와 영상 데이터로부터 도출된 특성이 소정의 학습 모델(일례로 다층 퍼셉트론 모델) 등을 이용하여 병합됨으로써 수행될 수도 있다.
순차적으로 제1 융합 데이터 및 맥락 처리 결과가 융합되어 제2 융합 데이터가 획득될 수 있다(308). 구체적으로 예를 들어, 제1 융합 데이터 및 맥락 처리 결과가 병합되고, 병합 결과를 기반으로 소정의 가중치(제4 가중치)가 노옴 함수 등을 이용하여 획득되고(이 경우, 제4 가중치는 소프트 맥스 함수 등을 이용하여 정규화된 것일 수도 있다), 병합 결과에 제4 가중치를 가중함으로써 제2 융합 데이터가 획득될 수 있다.
제2 융합 데이터는 소정의 학습 모델에 입력되고 이에 따라 학습 결과가 획득될 수 있다(310). 여기서 소정의 학습 모델은 하나 이상의 층을 갖는 순방향 신경망 등을 포함 가능하다.
이어서 학습 결과에 대한 디코딩이 수행되고, 디코딩에 따라 질의에 대응하는 응답이 획득될 수 있다(312). 실시예에 따라서, 디코딩의 수행을 위해 사전에 적어도 하나의 응답 후보가 먼저 마련되어 있을 수 있다. 적어도 하나의 응답 후보는 영상 데이터, 대화 데이터 및 질의 중 적어도 하나와 동시에 입력된 것일 수도 있고, 사전에 또는 사후에 입력된 것일 수도 있다. 디코딩은, 예를 들어, 차별적 디코더 및 생성적 디코더 중 적어도 하나를 이용하여 수행 가능하다. 획득된 응답은 사용자에게 시각적으로 및/또는 청각적으로 제공될 수 있다.
상술한 실시예에 따른 영상에 관한 대화 처리 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.
상술한 영상에 관한 대화 처리 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 솔리드 스테이트 드라이브(SSD), 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체, 플롭티컬 디스크 등과 같은 자기-광 기록 매체 및 자기 테이프 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 적어도 한 종류의 물리적 장치를 포함할 수 있다.
이상 영상에 관한 대화 처리 장치, 시스템 및 방법의 여러 실시예에 대해 설명하였으나, 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 적어도 하나의 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 영상에 관한 대화 처리 장치, 시스템 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합되거나 다른 구성 요소 또는 균등물에 의하여 치환되더라도 상술한 영상에 관한 대화 처리 장치, 시스템 및 방법의 일 실시예가 될 수 있다.
10: 대화 처리 장치 100: 프로세서
101: 영상 처리부 110: 주제 처리부
120: 맥락 처리부 130: 융합부
140: 주제 융합부 150: 맥락 융합부
160: 학습부 161: 디코더
200: 대화 처리 시스템 210: 단말 장치
220: 서버 장치

Claims (19)

  1. 영상 데이터, 대화 데이터 및 대상 질의를 수신하는 입력부; 및
    상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하고, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하고, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하고, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하고, 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 프로세서;를 포함하는 대화 처리 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하고, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하고, 각각의 임코딩 결과를 기반으로 제1 가중치를 획득하고, 상기 제1 가중치를 상기 대화 데이터에 대한 임베딩에 부가하여 상기 주제 처리 결과를 획득하는 대화 처리 장치.
  3. 제2항에 있어서,
    상기 프로세서는, 상기 제1 가중치가 부가된 대화 데이터에 대한 임베딩에, 상기 맥락 처리 결과의 획득 과정에서 연산된 제2 가중치를 더 부가하여 어텐션 처리된 표현을 획득하고, 상기 어텐션 처리된 표현을 기반으로 상기 주제 처리 결과를 획득하는 대화 처리 장치.
  4. 제3항에 있어서,
    상기 제2 가중치는 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 연산하는 과정에서 획득된 것인 대화 처리 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하고, 상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하고, 각각의 임코딩 결과를 기반으로 제2 가중치를 획득하고, 상기 제2 가중치를 상기 대화 데이터에 대응하는 인코딩 결과에 부가하고, 상기 제2 가중치가 부가된 인코딩 결과에 상기 질의에 대응하는 인코딩 결과를 기반으로 상기 맥락 처리 결과를 획득하는 대화 처리 장치.
  6. 제1항에 있어서,
    상기 프로세서는, 상기 영상 데이터로부터 획득한 특성 및 상기 주제 처리 결과를 기반으로 제3 가중치를 획득하고, 상기 제3 가중치를 상기 주제 처리 결과에 부가하고, 상기 제3 가중치가 부가된 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 병합하여 상기 제1 융합 데이터를 획득하는 대화 처리 장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 제1 융합 데이터 및 상기 맥락 처리 결과를 병합하여 병합 결과를 획득하고, 상기 병합 결과를 기반으로 제4 가중치를 획득하고, 상기 제4 가중치를 상기 병합 결과에 부가하여 상기 제2 융합 데이터를 획득하는 대화 처리 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 제2 융합 데이터를 학습 모델에 적용하여 학습 결과를 획득하는 대화 처리 장치.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 학습 결과를 디코딩하여 상기 질의에 대응하는 응답을 획득하는 대화 처리 장치.
  10. 제9항에 있어서,
    상기 프로세서는, 적어도 하나의 응답 후보 중에서 적어도 하나를 검출함으로써 상기 질의에 대응하는 응답을 획득하는 대화 처리 장치.
  11. 영상 데이터, 대화 데이터 및 대상 질의를 수신하는 단계;
    상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계;
    상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하는 단계;
    상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하는 단계;
    상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하는 단계; 및
    상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 단계;를 포함하는 대화 처리 방법.
  12. 제11항에 있어서,
    상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계는,
    상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하는 단계;
    상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하는 단계;
    각각의 임코딩 결과를 기반으로 제1 가중치를 획득하는 단계; 및
    상기 제1 가중치를 상기 대화 데이터에 대한 임베딩에 부가하여 상기 주제 처리 결과를 획득하는 단계;를 포함하는 대화 처리 방법.
  13. 제12항에 있어서,
    상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하는 단계는,
    상기 제1 가중치가 부가된 대화 데이터에 대한 임베딩에, 상기 맥락 처리 결과의 획득 과정에서 연산된 제2 가중치를 더 부가하여 어텐션 처리된 표현을 획득하는 단계; 및
    상기 어텐션 처리된 표현을 기반으로 상기 주제 처리 결과를 획득하는 단계;를 더 포함하는 대화 처리 방법.
  14. 제11항에 있어서,
    상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하는 단계는,
    상기 대화 데이터 및 상기 질의에 대한 임베딩을 각각 획득하는 단계;
    상기 임베딩 각각에 대응하는 인코딩 결과를 각각 획득하는 단계;
    각각의 임코딩 결과를 기반으로 제2 가중치를 획득하는 단계;
    상기 제2 가중치를 상기 대화 데이터에 대응하는 인코딩 결과에 부가하는 단계; 및
    상기 제2 가중치가 부가된 인코딩 결과에 상기 질의에 대응하는 인코딩 결과를 기반으로 상기 맥락 처리 결과를 획득하는 단계;를 포함하는 대화 처리 방법.
  15. 제11항에 있어서,
    상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하는 단계는,
    상기 영상 데이터로부터 획득한 특성 및 상기 주제 처리 결과를 기반으로 제3 가중치를 획득하는 단계;
    상기 제3 가중치를 상기 주제 처리 결과에 부가하는 단계; 및
    상기 제3 가중치가 부가된 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 병합하여 상기 제1 융합 데이터를 획득하는 단계;를 포함하는 대화 처리 방법.
  16. 제11항에 있어서,
    상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 단계는,
    상기 제1 융합 데이터 및 상기 맥락 처리 결과를 병합하여 병합 결과를 획득하는 단계; 및
    상기 병합 결과를 기반으로 제4 가중치를 획득하고, 상기 제4 가중치를 상기 병합 결과에 부가하여 상기 제2 융합 데이터를 획득하는 단계;를 포함하는 대화 처리 방법.
  17. 제11항에 있어서,
    상기 제2 융합 데이터를 학습 모델에 적용하여 학습 결과를 획득하는 단계;를 더 포함하는 대화 처리 방법.
  18. 제17항에 있어서,
    상기 학습 결과를 디코딩하여 상기 질의에 대응하는 응답을 획득하는 단계;를 더 포함하는 대화 처리 방법.
  19. 적어도 하나의 단말 장치; 및
    상기 적어도 하나의 단말 장치와 통신 가능한 적어도 하나의 서버 장치;를 포함하되,
    상기 적어도 하나의 단말 장치 및 상기 적어도 하나의 서버 장치 중 적어도 하나는, 영상 데이터, 대화 데이터 및 대상 질의를 수신하고, 상기 대화 데이터 및 상기 대상 질의에 대해 주제 처리 결과를 획득하고, 상기 주제 처리 결과 및 상기 영상 데이터로부터 획득한 특성을 융합하여 제1 융합 데이터를 획득하고, 상기 대화 데이터 및 상기 대상 질의에 대한 맥락 처리 결과를 획득하고, 상기 맥락 처리 결과 및 상기 제1 융합 데이터를 조합하여 제2 융합 데이터를 획득하고, 상기 제2 융합 데이터로부터 상기 대상 질의에 대한 응답을 획득하는 대화 처리 시스템.
KR1020200113990A 2020-09-07 2020-09-07 영상에 관한 대화 처리 장치, 방법 및 시스템 KR102311218B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200113990A KR102311218B1 (ko) 2020-09-07 2020-09-07 영상에 관한 대화 처리 장치, 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200113990A KR102311218B1 (ko) 2020-09-07 2020-09-07 영상에 관한 대화 처리 장치, 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102311218B1 true KR102311218B1 (ko) 2021-10-12

Family

ID=78078745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200113990A KR102311218B1 (ko) 2020-09-07 2020-09-07 영상에 관한 대화 처리 장치, 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102311218B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150156A1 (en) * 2007-12-11 2009-06-11 Kennewick Michael R System and method for providing a natural language voice user interface in an integrated voice navigation services environment
KR20180045165A (ko) 2016-10-25 2018-05-04 네이버 주식회사 시각적 질의응답을 위해 원소단위곱과 다중모달 잔차 학습을 이용한 데이터 처리 방법 및 시스템
KR20190023547A (ko) 2017-08-29 2019-03-08 서울대학교산학협력단 시각 대화를 통해 객체의 위치를 알아내기 위한 주의 기억 방법 및 시스템
KR20190078899A (ko) 2017-12-27 2019-07-05 연세대학교 산학협력단 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
KR20190092043A (ko) 2018-01-30 2019-08-07 연세대학교 산학협력단 추론 과정 설명이 가능한 시각 질의 응답 장치 및 방법
WO2019203863A1 (en) * 2018-04-20 2019-10-24 Facebook, Inc. Aggregating semantic information for improved understanding of users

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150156A1 (en) * 2007-12-11 2009-06-11 Kennewick Michael R System and method for providing a natural language voice user interface in an integrated voice navigation services environment
KR20180045165A (ko) 2016-10-25 2018-05-04 네이버 주식회사 시각적 질의응답을 위해 원소단위곱과 다중모달 잔차 학습을 이용한 데이터 처리 방법 및 시스템
KR20190023547A (ko) 2017-08-29 2019-03-08 서울대학교산학협력단 시각 대화를 통해 객체의 위치를 알아내기 위한 주의 기억 방법 및 시스템
KR20190078899A (ko) 2017-12-27 2019-07-05 연세대학교 산학협력단 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
KR20190092043A (ko) 2018-01-30 2019-08-07 연세대학교 산학협력단 추론 과정 설명이 가능한 시각 질의 응답 장치 및 방법
WO2019203863A1 (en) * 2018-04-20 2019-10-24 Facebook, Inc. Aggregating semantic information for improved understanding of users

Similar Documents

Publication Publication Date Title
WO2020238985A1 (zh) 模型训练方法、对话生成方法、装置、设备及存储介质
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
CN110826344B (zh) 神经网络模型压缩方法、语料翻译方法及其装置
CN111226224B (zh) 用于翻译语音信号的方法及电子设备
CN111933115B (zh) 语音识别方法、装置、设备以及存储介质
EP3857459B1 (en) Method and system for training a dialogue response generation system
CN112214591B (zh) 一种对话预测的方法及装置
Chen et al. Dynamic time-aware attention to speaker roles and contexts for spoken language understanding
CN110114765B (zh) 通过共享话语的上下文执行翻译的电子设备及其操作方法
CN111428015A (zh) 一种信息生成方法、装置、设备及存储介质
US11314951B2 (en) Electronic device for performing translation by sharing context of utterance and operation method therefor
CN113421547B (zh) 一种语音处理方法及相关设备
WO2023207541A1 (zh) 一种语音处理方法及相关设备
CN113822076A (zh) 文本生成方法、装置、计算机设备及存储介质
CN116310983A (zh) 多模态情感识别方法及装置
KR20210028041A (ko) 전자 장치 및 그 제어 방법
CN113868451A (zh) 基于上下文级联感知的社交网络跨模态对话方法及装置
KR102311218B1 (ko) 영상에 관한 대화 처리 장치, 방법 및 시스템
CN111797220A (zh) 对话生成方法、装置、计算机设备和存储介质
CN116861363A (zh) 多模态的特征处理方法、装置、存储介质与电子设备
CN116312613A (zh) 数字人表情口型驱动方法、系统、电子设备和存储介质
CN115101075A (zh) 一种语音识别的方法以及相关装置
KR102491931B1 (ko) 대화 수행 시스템, 장치 및 방법
KR102478367B1 (ko) 이미지 인식 기반 음원 매칭 및 추천 방법, 장치 및 시스템
KR102663654B1 (ko) 적응형 시각적 스피치 인식

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant