KR20220071790A - 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치 - Google Patents

질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20220071790A
KR20220071790A KR1020200159324A KR20200159324A KR20220071790A KR 20220071790 A KR20220071790 A KR 20220071790A KR 1020200159324 A KR1020200159324 A KR 1020200159324A KR 20200159324 A KR20200159324 A KR 20200159324A KR 20220071790 A KR20220071790 A KR 20220071790A
Authority
KR
South Korea
Prior art keywords
query
response
model
information
difficulty
Prior art date
Application number
KR1020200159324A
Other languages
English (en)
Other versions
KR102433072B1 (ko
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 KR1020200159324A priority Critical patent/KR102433072B1/ko
Publication of KR20220071790A publication Critical patent/KR20220071790A/ko
Application granted granted Critical
Publication of KR102433072B1 publication Critical patent/KR102433072B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/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/334Query execution
    • G06F16/3347Query execution using vector based model
    • 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/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

본 개시는 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 이를 수행하는 전자 장치에 관한 것이다. 일 실시 예에 의하면, 전자 장치가 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 방법은 상기 질의를 획득하는 단계; 상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하는 단계; 상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함할 수 있다.

Description

질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치 {APPARATUS FOR PROVIDING QUERY RESPONSE BASED ON QUERY DIFFICULTY AND METHOD THERE OF}
본 개시는 질의에 대한 응답을 제공하는 방법 및 장치에 관한 것이다. 보다 상세하게는 질의 난이도에 기초하여 해당 질의에 대한 응답을 제공하는 방법 및 장치에 관한 것이다.
인터넷 상에 존재하는 데이터의 양이 기하급수적으로 증가함에 따라 오늘날 사용자가 원하는 정보를 제공하기 위한 데이터 처리 기술 개발이 활발하게 연구되고 있다. 이에 따라 사용자의 질의와 관련된 응답을 제공하는 기술 역시 활발하게 진행되고 있다.
기존의 질의 응답 시스템은 질의 난이도가 높은 질의일수록 질문과 정보간의 관계뿐만이 아닌 정보들간의 관계를 파악하지 못하는 한계가 있었다. 또한, 기존의 질의 응답 시스템은 질의와 미리 기 정의된 특정한 정보와의 관계로 질의 난이도를 분석하지만 질의 응답에서 사용할 수 있는 정보의 개수가 정해져 있지 않아 사용 가능한 정보의 개수에 따라 유연하게 대처하기 어려운 한계가 있었다.
또한, 기존의 질의 응답 시스템은 모든 질의 응답 환경에서 다양한 수준의 질의에 대한 응답을 유연하게 제공할 수 없는 한계가 있다.
따라서 다양한 질의 응답 환경에서 질의 난이도에 기초하여 유연하게 응답을 제공하기 위한 기술 개발이 요구되고 있다.
한국등록특허 제2146112호
일 실시 예에 의하면, 질의에 대한 응답을 제공하는 방법 및 이를 수행하는 전자 장치가 제공될 수 있다.
보다 상세하게는 질의에 대한 난이도를 결정하고, 결정된 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 이를 수행하는 전자 장치가 제공될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시 예에 의하면, 전자 장치가 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 방법은 상기 질의를 획득하는 단계; 상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하는 단계; 상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 또 다른 실시 예에 의하면, 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 전자 장치에 있어서, 네트워크 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 를 포함하고, 상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 질의를 획득하고, 상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하고, 상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하고, 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는, 전자 장치가 제공될 수 있다.
상술한 기술적 과제를 해결하기 위한 또 다른 실시 예에 의하면, 전자 장치가 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 방법에 있어서, 상기 질의를 획득하는 단계; 상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하는 단계; 상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함하는, 방법을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.
일 실시 예에 의하면 적은 비용으로 질의에 대한 응답을 제공할 수 있다.
일 실시 예에 의하면 다양한 난이도의 질의에 대하여 효과적으로 응답을 제공할 수 있다.
도 1은 일 실시 예에 따라 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 과정을 개략적으로 설명하기 위한 도면이다.
도 2는 일 실시 예에 따라, 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 과정을 설명하기 위한 블록도이다.
도 3은 일 실시 예에 따라 전자 장치가 이용하는 질의 난이도 분석 모델의 구조를 설명하기 위한 도면이다.
도 4는 일 실시 예에 따라 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법의 흐름도이다.
도 5는 일 실시 예에 따른 전자 장치의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시 예에 따라 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 과정을 개략적으로 설명하기 위한 도면이다.
일 실시 예에 의하면, 전자 장치(1000)는 질의(102)를 획득하고, 획득된 질의(102)에 대한 정답(104)을 제공할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 질의에 대한 정답을 생성하기 위해 서버(2000) 또는 질의에 대한 정답을 제공하기 위한 다른 전자 장치(미도시)와 연동함으로써 질의에 대한 정답을 제공할 수 있다. 일 실시 예에 의하면 전자 장치(1000)는 질의에 대한 복수의 응답들을 생성하고, 생성된 응답들 중 하나의 응답을 정답(104)으로 제공할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 전자 장치(1000) 내 적어도 하나의 프로세서는 메모리 내 하나 이상의 인스트럭션을 실행함으로써 질의에 대한 응답 또는 응답 중 하나의 응답을 정답으로 제공할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 대화 관리 모듈(142), 난이도 결정 모듈(144), 난이도 기반 응답 생성 모듈(146) 및 응답 선택 모듈(148)을 포함할 수 있다. 일 실시 예에 의하면, 대화 관리 모듈(142), 난이도 결정 모듈(144), 난이도 기반 응답 생성 모듈(146) 및 응답 선택 모듈(148)은 전자 장치(1000)내 메모리에 저장될 수 있다. 일 실시 예에 의하면 상술한 모듈들은 전자 장치 내 프로세서에 의해 수행될 수 있는 인스트럭션들의 집합을 의미할 수 있다.
본 명세서에서 전자 장치(1000)가 획득하는 질의(QUERY)는 특정 정보에 대한 요청을 의미할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)가 획득하는 질의는 특정 정보에 대한 질문(QUESTION)을 포함할 수 있다. 예를 들어, 전자 장치(1000)는 종래 질의 질의에 대한 응답 제공 기술들과 달리 질의 및 정보들간의 관계뿐만 아니라, 질의에 대한 응답을 제공하기 위한 정보들간의 관계를 분석하고, 분석 결과에 기초하여 질의에 대한 응답을 제공할 수 있다.
또한, 전자 장치(1000)는 인공 지능 모델을 이용하여 획득한 질의에 대한 난이도를 분석하고, 난이도 분석 결과에 기초하여 질의에 대한 응답을 제공하기 때문에 유연하게 응답을 제공할 수 있는 장점이 있다. 일 실시 예에 의하면 전자 장치(1000)가 이용하는 인공 지능 모델은 인공 지능 알고리즘에 의하여 학습될 수 있는 모델로써 심층 신경망(DNN:Deep Neural Network)를 포함할 수도 있다. 예를 들어, 인공 지능 모델은 CNN (Convolutional Neural Network), 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) 등이 있으나, 역시 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 전자 장치(1000)는 인공 신경망 기반의 질의 난이도 분석 모델을 이용하여 획득한 질의에 대한 난이도를 분석할 수 있다. 예를 들어, 전자 장치(1000)가 이용하는 질의 난이도 분석 모델은, 질의에 대한 응답을 제공하는데 필요한 정보의 개수가 증가하는 경우에도 충분한 학습을 통해 질의 난이도 분석을 위해 주어지는 정보를 유연하게 사용할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)가 이용하는 질의 난이도 분석 모델은 질의와 질의와 관련된 추가 정보들을 표현하기 위한 BERT 언어 모델을 포함하고, BERT 언어 모델을 이용하여 질의 및 추가 정보들에 대한 벡터 표현(Vector representation)을 획득할 수 있다. 전자 장치(1000)가 이용하는 질의 난이도 분석 모델은 벡터 표현으로 나타나는 다양한 정보와 질의와의 관계를 Dual Multi-head Attention(DuMA) 모듈을 이용하여, 양방향으로 파악할 수 있다. 전자 장치(1000)가 이용하는 질의 난이도 분석 모델은 벡터로 표현된 다양한 정보들을 유연하게 사용하고 정보간의 관계를 파악하기 위해 셀프 어텐션 엔코더를 더 포함할 수 있다. 질의 난이도 분석 모델은 셀프 어텐션을 사용하여 정보들을 표현하고 질의 난이도를 효과적으로 분석할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 메모리 장치 내 난이도 기반 응답 활성화 모듈(146)을 이용하여, 질의 난이도에 따라, 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 할 수 있다. 전자 장치(1000)는 질의에 대한 응답을 제공하기 위해 전자 장치에 저장된 모든 응답 모델을 이용하는 것이 아니라, 응답 모델 중 소정의 응답 모델만을 활성화하고, 활성화된 응답 모델에서 출력된 응답들만을 이용하여 정답을 제공함으로써, 효과적으로 질의에 대한 응답을 제공할 수 있다. 도 1에 도시된 대화 관리 모듈(142), 난이도 결정 모듈(144), 응답 선택 모듈(148)은 후술하는 도 2를 참조하여 구체적으로 설명하기로 한다.
도 2는 일 실시 예에 따라, 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 과정을 설명하기 위한 블록도이다.
도 2를 참조하면 전자 장치(1000)가 질의 난이도에 기초하여 질의에 대한 응답을 제공하기 위해 이용하는 응답 제공 모듈(200)이 도시된다. 도 1에서 상술한 바와 같이, 응답 제공 모듈은 전자 장치(1000)내 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션의 집합을 포함할 수 있다. 전자 장치(1000)는 메모리 내 응답 제공 모듈(200)에 관한 인스트럭션을 실행함으로써 질의(201)를 획득하고, 획득된 질의(201)에 대한 응답들 중 하나의 응답을 정답(202)으로 출력할 수 있다.
일 실시 예에 의하면 전자 장치(1000)가 이용하는 응답 제공 모듈(2000)은 대화 관리 모듈(210) 및 난이도 기반 응답 생성 모듈(220)을 포함할 수 있다. 일 실시 예에 의하면 대화 관리 모듈(210)은 질문 입력 모듈(212) 및 정답 제공 모듈(214)을 포함할 수 있다. 대화 관리 모듈(210)은 질의(201)를 획득하고, 획득된 질의에 대하여 생성된 응답들 중 하나의 응답들을 선택하며, 선택된 응답들 중 하나의 응답을 정답(202)으로 제공할 수 있다.
일 실시 예에 의하면, 질문 입력 모듈(212)은 질의(201)를 획득하는데 사용될 수 있다. 예를 들어, 질문 입력 모듈(212)은 사용자 또는 전자 장치(1000)와 연결된 장치에 대한 입력에 기초하여 질의(201)를 획득할 수 있다. 일 실시 예에 의하면, 질문 입력 모듈(212)은 획득한 질의(201)에 대한 정보를 난이도 기반 응답 생성 모듈(220)로 전달할 수 있다.
정답 제공 모듈(214)은 난이도 기반 응답 생성 모듈(220)로부터 생성된 응답들을 획득하고, 획득된 응답들 중 하나의 응답을 정답으로 선택할 수 있다. 일 실시 예에 의하면, 응답 제공 모듈(216) 및 응답 선택 모듈(218)을 포함할 수 있다. 일 실시 예에 의하면, 응답 선택 모듈(218)은 난이도 기반 응답 생성 모듈(220)로부터 전달된 응답들 중 하나의 응답을 선택할 수 있다. 응답 선택 모듈(218)에서 선택된 응답은 응답 제공 모듈(216)로 전달되고, 응답 제공 모듈은 선택된 하나의 응답을 정답(202)으로 제공할 수 있다.
또 다른 실시 예에 의하면, 정답 제공 모듈(214)은 획득한 질의(201)를 전자 장치(1000)와 연결된 다른 질의 응답 장치로 전송하고, 상기 다른 질의 응답 장치에서 전송된 응답 데이터에 기초하여 응답 모델을 생성할 수도 있다. 보다 상세하게는 응답 선택 모듈(218)은 전자 장치와 연결된 다른 질의 응답 장치(203)로부터 출력된 데이터에 기초하여 생성된 응답 모델로부터 응답을 수신할 수 있다. 응답 선택 모듈(218)은 다른 질의 응답 장치로부터 획득된 데이터에 기초하여 생성된 응답 모델에서 출력된 응답과, 난이도 기반 응답 생성 모듈(220)에서 획득된 응답들 중 하나의 응답을 선택할 수 있다.
또 다른 실시 예에 의하면 대화 관리 모듈(210)은 질의 변환 모듈을 더 포함할 수도 있다. 일 실시 예에 의하면, 질의 변환 모듈은 획득된 질의에 소정의 노이즈를 추가함으로써 질의와 동일하거나, 질의와 다른 유사 질의를 생성할 수 있다. 상기 유사 질의는 언어적으로는 질의와 의미가 유사하나, 질의 응답 장치로 하여금 다른 응답을 생성하도록 하는 질의를 의미할 수 있다.
또 다른 실시 예에 의하면 대화 관리 모듈(210)은 질의에 대한 응답을 제공하기 위해 사용되는 질의와 관련된 정보들을 획득하는데 사용되는, 추가 정보 획득 모듈(미도시)을 더 포함할 수도 있다. 추가 정보 획득 모듈은 질의와 관련된 정보들을 획득하고, 획득된 질의 관련 정보들을 질의 난이도 분석 모델(250)로 전달할 수 있다.
난이도 기반 응답 생성 모듈(220)은 대화 관리 모듈(210)로부터 질의를 획득하고 획득한 질의의 난이도를 분석하며 분석된 난이도에 기초하여 소정의 응답 모델을 활성화시키며, 활성화된 응답 모델로부터 소정의 응답들을 획득할 수 있다. 일 실시 예에 의하면 난이도 기반 응답 생성 모듈(220)은 스토리 학습 모듈(240), 질의 난이도 분석 모델(250) 및 질의 응답 모델(260)을 포함할 수 있다. 예를 들어 스토리 학습 모듈(240)은 대화 관리 모듈(210)로부터 획득된 질의에 관련된 컨텐츠 타입을 식별하고, 식별된 컨텐츠 타입 별 컨텐츠 이력 정보를 결정할 수 있다.
예를 들어 비디오 요약 모듈(242)은 질의와 관련된 컨텐츠가 비디오 타입으로 식별되는 경우, 상기 질의와 관련된 비디오 컨텐츠의 비디오 요약 정보를 획득할 수 있다. 일 실시 예에 의하면 스토리 서사 구축 모델(244)은 질의와 관련된 컨텐츠가 텍스트 타입으로 식별되는 경우, 상기 질의와 관련된 스토리 서사 구축 모델로부터 컨텐츠에 대한 스토리 정보를 획득할 수 있다.
질의 난이도 분석 모델(250)은 질의 및 상기 질의에 대한 응답을 제공하는데 필요한 적어도 하나의 질의 정보들이 입력되면, 상기 질의에 대한 난이도를 출력하고, 상기 난이도 분석 모델 내 적어도 하나의 레이어들 및 상기 레이어들 간의 연결 강도에 관한 가중치 값을 수정 및 갱신함으로써 학습되는 인공 신경망(Artificial Neural Network) 모델일 수 있다.
예를 들어, 질의 난이도 분석 모델(250)은 소정의 언어 모델, 변환 엔코더(transformer encoder), 듀얼 멀티 헤드 어텐션 모듈, 셀프 어텐션 엔코더, 풀링 레이어 및 분류기를 포함할 수 있다. 그러나, 이에 한정되는 것은 아니며 심층 신경망 질의 난이도를 분석하기 위한 기타 신경망 모델 구조를 포함할 수 있다. 질의 난이도의 동작 또는 구조는 후술하는 도 3을 참조하여 구체적으로 설명하기로 한다.
질의 응답 모델(260)은 질의 난이도 분석 모델(250)로부터 질의 난이도를 획득할 수 있다. 질의 응답 모델(260)은 질의와 관련된 컨텐츠 타입 별 컨텐츠 이력 정보를 스토리 학습 모듈(240)로부터 획득할 수 있다. 난이도 기반 응답 생성 모듈(220)은 컨텐츠 이력 정보 및 난이도에 기초하여 질의에 대한 응답을 생성할 수 있다.
보다 상세하게는 질의 응답 모델(260)은 복수의 응답 모델을 포함할 수 있다. 예를 들어, 질의 응답 모델(260)은 질의 난이도 분석 모델(250)로부터 획득된 질의 난이도에 기초하여, 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 시킬 수 있다. 예를 들어, 질의 응답 모델(260)은 메모리 기반 응답 모델(262), 멀티 모달 스토리 응답 모델(264), 지식 기반 응답 모델(266)을 포함할 수 있다.
일 실시 예에 의하면, 메모리 기반 응답 모델(262)은 질의와 관련된 스토리, 비디오등의 컨텐츠와 같이, 메모리에 미리 저장된 컨텐츠 또는 정보를 기반으로 응답 생성이 가능한 모델을 의미할 수 있다. 일 실시 예에 의하면, 멀티 모달 스토리 응답 모델(264)은 서로 다른 타입의 정보들을 함께 이용하여 질의에 대한 응답 생성이 가능한 모델을 의미할 수 있다. 지식 기반 응답 모델(266)은 knowledge 그래프, 인물간의 관계 그래프, 상황 지식 그래프와 같이 인간의 인지 작용을 기반으로 생성된 관계 정보에 기초하여 이용하여 질의에 대한 응답 생성이 가능한 모델을 의미할 수 있다.
일 실시 예에 의하면 질의 응답 모델(260)은 질의 난이도가 제1 난이도 레벨로 식별되는 경우 상기 전자 장치의 메모리에 기 저장된 응답 데이터를 기반으로 상기 질의에 대한 응답을 생성하는 메모리 기반 응답 모델(262)을 활성화할 수 있다. 또 다른 실시 예에 의하면 질의 응답 모델(260)은 질의 난이도가 제2 난이도 레벨로 식별되는 경우, 멀티 모달 정보를 이용하여 상기 질의에 대한 응답을 생성하는 멀티모달 스토리 응답 모델(264)을 활성화할 수 있다. 또 다른 실시 예에 의하면 질의 응답 모델(260)은 질의의 난이도가 제3 난이도 레벨로 식별되는 경우, 지식 기반 응답 모델을 활성화할 수 있다. 그러나, 상술한 예에 한정되는 것은 아니며 질의 응답 모델(260)은 질의 난이도에 따라, 복수의 응답 모델 중 서로 다른 수의 응답 모델들을 활성화할 수 있다.
질의 응답 모델(260)은 보유한 전체 응답 모델을 이용하여 질의에 대한 응답들을 생성할 수도 있지만, 질의 난이도에 기초하여 소정의 응답 모델들만을 활성화하고, 활성화된 응답 모델들만을 이용하여 응답들을 생성함으로써 정보의 개수 증가함에 따른 응답들을 유연하게 생성할 수 있다. 질의 응답 모델(260)은 활성화된 응답 모델로부터 생성된 응답들을 대화 관리 모듈(210)로 전달할 수 있다. 응답 선택 모듈(218)은 질의 응답 모델(260)중 활성화된 응답 모델들로부터 획득되는 응답들 중 하나의 응답을 선택하고, 선택된 응답을 응답 제공 모듈(216)로 전달할 수 있다.
도 3은 일 실시 예에 따라 전자 장치가 이용하는 질의 난이도 분석 모델의 구조를 설명하기 위한 도면이다.
일 실시 예에 의하면, 질의 난이도 분석 모델(300)은 질의(306) 및 상기 질의에 대한 응답을 제공하는데 필요한 적어도 하나의 질의 정보들(307, 308)이 입력되면, 질의에 대한 난이도 (308)를 출력할 수 있다. 일 실시 예에 의하면, 질의 난이도 분석 모델(300)은 적어도 하나의 레이어들 및 상기 레이어들 간의 연결 강도에 관한 가중치 값들을 수정 및 갱신함으로써 학습되는 인공 신경망(Artificial Neural Network)일 수 있다.
일 실시 예에 의하면, 상기 질의 난이도 분석 모델은 질의 또는 상기 질의 정보들 중 하나의 질의 정보 사이의 관계를 양방향으로 반영함으로써 상기 질의 및 상기 질의 정보들 사이의 관계 정보를 엔코딩하는 엔코더(302), 엔코더의 출력 값이 획득되면 소정의 비율로 상기 엔코더의 출력 값 중 일부를 선택하는 풀링 레이어(362), 상기 풀링 레이어의 출력 값을 획득하고, 상기 풀링 레이어의 출력 값이 상기 질의에 대한 난이도에 관한 레이블에 해당할 확률 값에 기초하여 상기 질의에 대한 난이도 정보를 출력하는 분류기(308)를 포함할 수 있다.
일 실시 예에 의하면, 엔코더(302)는 소정의 언어 모델(312, 318, 324), 변환 엔코더(transformer encoder, 314, 320, 326), 적어도 하나의 듀얼 멀티 헤드 어텐션(Dual Multi-Head Attention) 모듈, 셀프 어텐션 엔코더(342)를 포함할 수 있다. 예를 들어, 소정의 언어 모델(312, 318, 324)은 BERT 언어 모델일 수 있다. 예를 들어, 언어 모델(312, 318, 324)은 질의와 질의에 대한 응답을 제공하는데 필요한 추가 정보들을 벡터 표현(Representation)으로 표현할 수 있다. 도 3에는 복수의 언어 모델이 도시되었으나, 또 다른 실시 예에 의하면 상술한 언어 모델은 단일의 언어 모델로 마련될 수도 있다.
변환 엔코더(314, 320, 326)은 질의 또는 질의와 관련된 정보들에 대한 벡터 표현을 획득하고, 획득된 벡터 표현을 엔코딩함으로써 질의 난이도 분석에 최적화된 특징 벡터로 변환할 수 있다. 일 실시 예에 의하면, 변환 엔코더(314, 320, 326)에서 출력되는 특징 벡터는 고차원으로 변환된 벡터 표현일 수 있다. 일 실시 예에 의하면, 변환 엔코더(314, 320, 326)는 특징 벡터를 출력할 수도 있으나, 특징 맵을 생성할 수도 있다. 일 실시 예에 의하면, 변환 엔코더는 단어 단위의 벡터 표현이 획득되는 경우 특징 벡터를 출력하고, 문장 단위의 벡터 표현이 획득되는 경우 특징 맵을 생성할 수도 있다.
듀얼 멀티 헤드 어텐션 모듈(336, 338)은 변환 엔코더에서 출력된 특징 벡터 또는 특징 맵이 입력되면, 상기 특징 벡터 또는 특징 맵에 의하여 표현되는 질의 및 상기 질의 정보들 중 하나의 질의 정보와의 관계를 양방향으로 반영함으로써 어텐션 벡터를 생성할 수 있다. 예를 들어, 듀얼 멀티 헤드 어텐션(Dual Multi Head Attention, DuMA) 모듈은, 종래 질의 분석 모델이 질의 정보들을 질의 방향으로 반영하거나, 질의를 질의 정보들의 방향으로 반영하는등 일방향 반영에 따른 가중치 학습 과정을 수행했던 것과는 달리, 양방향으로 질의 및 질의 정보 간의 관계를 반영함으로써 학습될 수 있다.
셀프 어텐션 엔코더(342)는 적어도 하나의 듀얼 멀티 헤드 어텐션 모듈로부터 출력된 어텐션 벡터들 사이의 관계를 분석함으로써 어텐션 벡터들 사이의 관계 정보를 엔코딩함으로써 엔코딩 벡터를 출력할 수 있다. 일 실시 예에 의하면 셀프 어텐션 엔코더(342)는 멀티 헤드 어텐션 모듈(344), 제1 노멀라이제이션 레이어(346), 피드 포워드 레이어(348) 및 제2 노멀라이제이션 레이어(352)를 포함할 수 있다.
일 실시 예에 의하면 멀티 헤드 어텐션 모듈(344)은 듀얼 멀티 헤드 어텐션 모듈로부터 어텐션 벡터들을 획득하고, 획득된 어텐션 벡터들을 결합(concatenate)할 수 있다. 일 실시 예에 의하면 멀티 헤드 어텐션 모듈(344)이 어텐션 벡터들을 결합하는 동작은 어텐션 벡터들을 스택하는 동작에 대응될 수 있다. 멀티 헤드 어텐션 모듈(344)은 결합된 어텐션 벡터들을 이용하여 헤드(head) 별 어텐션 맵들을 생성할 수 있다. 멀티 헤드 어텐션 모듈(344) 헤드 별로 다양한 관점에서 어텐션 맵들을 생성할 수 있다.
제1 노멀라이제이션 레이어(346)는 멀티 헤드 어텐션 모듈(344)에서 출력된 값을 더하고, 더한 값을 노멀라이제이션한다. 일 실시 예에 의하면, 제1 노멀라이제이션 레이어(346)의 동작은 잔차 연결(residual connection)과 정규화(layer normalization) 동작에 대응될 수 있다.
피드 포워드(feedforward) 레이어(348)는 멀티 헤드 어텐션 모듈(344)의 출력 값을 전방향으로 전달하는 풀리커넥티드 레이어일 수 있다. 피드 포워드 레이어(348)는 제1 노멀라이제이션 레이어의 출력 값을 획득하고, 획득된 제1 노멀라이제이션 레이어의 출력 값이 입력되면 입력된 값을 은닉 레이어를 거쳐 마지막의 상위레이어인 출력 레이어로 내보낼 수 있다.
일 실시 예에 의하면 제2 노멀라이제이션 레이어(352)는 피드 포워드 레이어의 출력 값을 더하고, 더한 값을 노멀라이제이션할 수 있다. 일 실시 예에 의하면, 제2 노멀라이제이션 레이어(352)의 피드 포워드의 출력 값에 대하여 잔차 연결 연산 및 정규화 연산을 수행할 수 있다. 풀링 레이어(362)는 엔코더(302)의 출력 값이 획득되면 소정의 비율로 엔코더의 출력 값 중 일부를 선택할 수 있다. 예를 들어, 풀링 레이어(362)는 엔코더에서 소정의 차원으로 변환된 벡터들 중 소정의 비율로 벡터들 중 일부 벡터 값들만을 출력할 수 있다.
분류기(364)는 풀링 레이어(362)의 출력 값을 획득하고, 획득된 출력 값에 기초하여 질의에 대한 난이도 정보를 출력할 수 있다. 예를 들어, 븐류기(364)는 출력 값에 대응되는 질의 난이도 레이블을 포함할 수 있다. 분류기는 출력 값이 미리 저장된 난이도 레이블에 대응될 확률 값을 결정하고, 결정된 확률 값 중 가장 높은 확률 값을 나타내는 레이블에 해당하는 난이도 정보(308)를 출력할 수 있다.
본 개시에 따른 전자 장치(1000)는 상술한 구조의 난이도 분석 모델을 이용함으로써 벡터로 표현된 다양한 정보들을 유연하게 사용할 수 있을 뿐만 아니라 질의에 대한 응답을 제공하는데 필요한 질의 정보들 간의 관계를 파악함으로써 효과적으로 응답을 제공할 수 있다.
도 4는 일 실시 예에 따라 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법의 흐름도이다.
S410에서, 전자 장치(1000)는 질의를 획득할 수 있다. 예를 들어, 전자 장치(1000)는 사용자 입력에 기초하여 질의를 획득할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 질의와 함께 질의 정보를 획득할 수 있다. 일 실시 예에 의하면, 질의 정보는 질의에 대한 응답을 제공하는데 필요한 추가 정보들을 포함할 수 있다.
S420에서, 전자 장치(1000)는 획득한 질의를 질의 난이도 분석 모델에 입력함으로써 질의 난이도를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 미리 학습된 신경망 기반 질의 난이도 분석 모델을 이용하여 질의에 대한 질의 난이도를 결정할 수 있다.
S430에서, 전자 장치(1000)는 결정된 질의 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 할 수 있다. 예를 들어, 전자 장치(1000)는 질의에 대한 응답을 제공함에 있어 복수의 응답 모델들 모두를 이용하는 것이 아니라, 질의 난이도 별 소정의 응답 모델만을 이용하여 질의에 대한 응답을 제공할 수 있기 때문에 적은 비용으로도 질의에 대한 응답을 효과적으로 제공할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 질의에 대한 질의 난이도가 결정되면, 질의 난이도에 기초하여 질의에 대한 응답 생성 방식을 결정할 수 있다. 전자 장치(1000)는 결정된 응답 생성 방식에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 할 수도 있다. 예를 들어, 전자 장치(1000)가 보유하고 있는 복수의 응답 모델들은 적어도 하나의 응답 생성 방식과 미리 매칭될 수 있다. 전자 장치(1000)는 질의 난이도 및 응답 생성 방식에 기초하여 복수의 응답 모델들 중 적어도 하나의 응답 모델을 활성화할 수도 있다.
도 4에는 도시되지 않았지만, 전자 장치(1000)는 질의 및 질의 정보를 획득하고, 획득된 질의에 관련된 컨텐츠 타입 별 컨텐츠 이력 정보를 결정할 수 있다. 전자 장치(1000)는 컨텐츠 이력 정보를 복수의 응답 모델 중 적어도 하나의 응답 모델로 전송할 수 있다. 질의 난이도에 기초하여 활성화된 적어도 하나의 응답 모델은 컨텐츠 이력 정보에 기초하여, 질의에 대한 응답을 제공할 수 있다.
일 실시 예에 의하면 컨텐츠 타입은 비디오 타입, 텍스트 타입 중 적어도 하나를 포함하고, 상기 컨텐츠 타입 별 이력 정보는 상기 질의에 관련된 비디오 컨텐츠에 대한 요약 정보, 상기 질의에 관련된 텍스트 컨텐츠에 대한 스토리 정보를 포함할 수 있다.
S440에서, 전자 장치(1000)는 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공할 수 있다. 예를 들어, 전자 장치(1000)는 활성화된 응답 모델들로부터 출력되는 응답들을 획득하고, 응답들 중 하나의 응답을 선택하며, 선택된 응답을 출력할 수 있다.
또 다른 실시 예에 의하면, 전자 장치(1000)는 질의에 대한 정보를 전자 장치와 다른 질의 응답 장치로 전송할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 획득한 질의를 변환함으로써 유사 질의를 생성하고, 생성된 유사 질의에 대한 정보 및 질의에 대한 정보를 함께 다른 질의 응답 장치로 전송할 수 있다. 일 실시 예에 의하면 유사 질의는 언어적으로는 질의와 유사하나, 질의 응답 장치로 하여금 다른 응답을 제공하도록 하는 질의를 나타낼 수 있다.
전자 장치(1000)는 질의 및 유사 질의에 대한 정보를 획득함에 따라, 다른 질의 응답 장치로부터 출력되는 응답 데이터를 획득하고, 획득된 응답 데이터에 기초하여, 전자 장치가 기 보유한 응답 모델 또는 질의 난이도에 기초하여 활성화된 적어도 하나의 응답 모델과 다른 응답 모델을 생성할 수 있다. 전자 장치(1000)는 상기 다른 응답 모델 및 전자 장치(1000) 내 질의 난이도에 기초하여 활성화된 응답 모델로부터 생성된 응답들을 모두 획득하고, 상기 획득된 응답들 중 하나의 응답을 정답으로 출력할 수도 있다.
도 5는 일 실시 예에 따른 전자 장치의 블록도이다.
일 실시 예에 의하면, 전자 장치(1000)는 프로세서(1300), 네트워크 인터페이스(1500) 및 메모리(1700)를 포함할 수 있다. 전자 장치(1000) 내 프로세서(1300)는 메모리(1700)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 4에서 기재된 질의에 대한 응답을 제공하는 방법을 수행할 수 있다.
일 실시 예에 의하면, 프로세서(1300)는 네트워크 인터페이스(1500)를 제어함으로써 다른 질의 응답 장치 또는 서버와 연결될 수 있다. 프로세서(1300)는 네트워크 인터페이스(1500)를 통하여 다른 질의 응답 장치로부터 출력되는 응답 데이터를 획득하고, 획득된 응답 데이터에 기초하여 응답 모델을 생성할 수 있다.
일 실시 예에 의하면, 상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 질의를 획득하고, 상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하고, 상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하고, 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공할 수 있다.
일 실시 예에 의하면, 상기 적어도 하나의 프로세서(1300)는 상기 획득된 질의에 관련된 컨텐츠 타입 별 컨텐츠 이력 정보를 결정하고, 상기 결정된 컨텐츠 이력 정보를 상기 복수의 응답 모델 중 적어도 하나의 응답 모델로 전송하고, 상기 적어도 하나의 응답 모델은 상기 컨텐츠 이력 정보에 기초하여 상기 질의에 대한 응답을 결정할 수 있다.
일 실시 예에 의하면, 적어도 하나의 프로세서(1300)는 상기 획득된 질의에 대한 정보를 상기 전자 장치와 다른 질의 응답 장치로 전송하고, 상기 다른 질의 응답 장치로부터 출력된 응답 데이터에 기초하여 상기 적어도 하나의 응답 모델과 다른 응답 모델을 생성하고, 상기 생성된 다른 응답 모델로부터 출력된 응답들 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공할 수 있다.
일 실시 예에 의하면, 적어도 하나의 프로세서(1300)는 상기 결정된 질의의 난이도에 기초하여 상기 질의에 대한 응답 생성 방식을 결정하고, 상기 결정된 응답 생성 방식에 따라 상기 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화할 수 있다. 일 실시 예에 의하면, 상기 결정된 질의의 난이도가 제1 난이도 레벨로 식별되는 경우, 상기 전자 장치의 메모리에 기 저장된 응답 데이터를 기반으로 상기 질의에 대한 응답을 생성하는 메모리 기반 응답 모델을 활성화 하고, 상기 질의의 난이도가 제2 난이도 레벨로 식별되는 경우, 멀티 모달 정보를 이용하여 상기 질의에 대한 응답을 생성하는 멀티모달 스토리 응답 모델을 활성화 하고, 상기 질의의 난이도가 제3 난이도 레벨로 식별되는 경우, 지식 기반 응답 모델을 활성화할 수 있다.
일 실시 예에 의하면, 메모리(1700)는 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되는 질의, 전자 장치(1000)로부터 출력되는 데이터로써 응답 또는 정답 정보를 저장할 수도 있다. 또한, 메모리(1700)는 상술한 질문 입력 모듈(212), 정답 제공 모듈(214)을 포함하는 대화 관리 모듈(210)과 스토리 학습 모듈(240), 질의 난이도 분석 모델(250) 및 질의 응답 모델(260)을 포함하는 난이도 기반 응답 생성 모듈(220)에 대한 인스트럭션을 저장할 수 있다.
또한, 일 실시 예에 의하면 메모리(1700)에는 전자 장치(1000)가 이용하는 질의 난이도 분석 모델에 대한 정보들이 더 저장될 수 있다. 일 실시 예에 의하면, 메모리(1700)는 신경망 모델의 구조에 관한 정보, 레이어들 및 레이어들의 연결 강도에 관한 가중치 정보들이 더 저장될 수도 있다. 또한, 일 실시 예에 의하면 메모리(1700)에는 전자 장치(1000)가 질의에 대한 응답을 생성하기 위해 이용하는 응답 모델에 대한 정보들이 저장될 수 있다.
일 실시 예에 의하면, 메모리(1700)에는 전자 장치(1000)가 외부 질의 응답 장치로부터 획득된 데이터에 기초하여 새로 추가한 응답 결정 모듈에 대한 정보들이 미리 설정된 주기에 따라 추가 및 갱신될 수 있다. 메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시예에 따른 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
또한, 전자 장치가 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법을 수행하도록 하는 프로그램이 저장된 기록 매체를 포함하는 컴퓨터 프로그램 장치가 제공될 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. 또한, 일부 실시예는 컴퓨터에 의해 실행되는 컴퓨터 프로그램과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품(computer program product)으로도 구현될 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (20)

  1. 전자 장치가 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 방법에 있어서,
    상기 질의를 획득하는 단계;
    상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하는 단계;
    상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 및
    상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함하는, 방법.
  2. 제1항에 있어서, 상기 방법은
    상기 획득된 질의에 관련된 컨텐츠 타입 별 컨텐츠 이력 정보를 결정하는 단계; 및
    상기 결정된 컨텐츠 이력 정보를 상기 복수의 응답 모델 중 적어도 하나의 응답 모델로 전송하는 단계; 를 포함하고,
    상기 적어도 하나의 응답 모델은 상기 컨텐츠 이력 정보에 기초하여 상기 질의에 대한 응답을 결정하는 것을 특징으로 하는, 방법.
  3. 제1항에 있어서, 상기 방법은
    상기 획득된 질의에 대한 정보를 상기 전자 장치와 다른 질의 응답 장치로 전송하는 단계;
    상기 다른 질의 응답 장치로부터 출력된 응답 데이터에 기초하여 상기 적어도 하나의 응답 모델과 다른 응답 모델을 생성하는 단계; 및
    상기 생성된 다른 응답 모델로부터 출력된 응답들 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함하는, 방법.
  4. 제1항에 있어서, 상기 질의 난이도 분석 모델은
    상기 질의 및 상기 질의에 대한 응답을 제공하는데 필요한 적어도 하나의 질의 정보들이 입력되면, 상기 질의에 대한 난이도를 출력하고, 상기 난이도 분석 모델 내 적어도 하나의 레이어들 및 상기 레이어들 간의 연결 강도에 관한 가중치 값을 수정 및 갱신함으로써 학습되는 인공 신경망(Artificial Neural Network) 모델인 것을 특징으로 하는, 방법.
  5. 제4항에 있어서, 상기 질의 난이도 분석 모델은
    상기 질의 또는 상기 질의 정보들 중 하나의 질의 정보 사이의 관계를 양방향으로 반영함으로써, 상기 질의 및 상기 질의 정보들 사이의 관계 정보를 엔코딩하는 엔코더;
    상기 엔코더의 출력 값이 획득되면 소정의 비율로 상기 엔코더의 출력 값 중 일부를 선택하는 풀링 레이어; 및
    상기 풀링 레이어의 출력 값을 획득하고, 상기 풀링 레이어의 출력 값이 상기 질의에 대한 난이도에 관한 레이블에 해당할 확률 값에 기초하여, 상기 질의에 대한 난이도 정보를 출력하는 분류기; 를 포함하는 것을 특징으로 하는, 방법.
  6. 제5항에 있어서, 상기 엔코더는
    상기 질의 또는 상기 질의 정보들이 입력되면 상기 질의 또는 상기 질의 정보들에 대응되는 벡터 표현(representation)을 출력하는 언어 모델;
    상기 언어 모델로부터 출력된 벡터 표현을 엔코딩함으로써 상기 질의 또는 상기 질의 정보들 각각에 대응되는 특징 벡터를 출력하는 변환 엔코더;
    상기 질의에 대응되는 특징 벡터 및 상기 질의 정보들 중 하나의 질의 정보에 대응되는 특징 벡터가 입력되면, 상기 질의 및 상기 질의 정보들 중 하나의 질의 정보와의 관계를 양방향으로 반영하는 적어도 하나의 듀얼 멀티 헤드 어텐션 모듈; 및
    상기 적어도 하나의 듀얼 멀티 헤드 어텐션 모듈로부터 출력된 어텐션 벡터들 사이의 관계를 분석함으로써 어텐션 벡터들 사이의 관계 정보를 엔코딩하는 셀프 어텐션 엔코더; 를 포함하는 것을 특징으로 하는, 방법.
  7. 제6항에 있어서, 상기 셀프 어텐션 엔코더는
    상기 듀얼 멀티 헤드 어텐션 모듈로부터 출력된 어텐션 벡터들을 결합(concatenate)하고, 상기 결합된 어텐션 벡터들을 이용하여 헤드 별 어텐션 맵들을 생성하는 멀티 헤드 어텐션 모듈;
    상기 멀티 헤드 어텐션 모듈에서 출력된 값들을 더하고(adding), 더한 값들을 노멀라이제이션 하는 제1 노멀라이제이션 레이어;
    상기 제1 노멀라이제이션 레이어의 출력 값을 상위 레이어로 전달하는 피드포워드(feed forward) 레이어; 및
    상기 피드포워드 레이어의 출력 값을 노멀라이제이션 하는 제2 노멀라이제이션 레이어; 를 포함하는 것을 특징으로 하는, 방법.
  8. 제1항에 있어서, 상기 적어도 하나의 응답 모델을 활성화 하는 단계는
    상기 결정된 질의의 난이도에 기초하여 상기 질의에 대한 응답 생성 방식을 결정하는 단계; 및
    상기 결정된 응답 생성 방식에 따라 상기 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 를 포함하는, 방법.
  9. 제1항에 있어서, 상기 적어도 하나의 응답 모델을 활성화 하는 단계는
    상기 결정된 질의의 난이도가 제1 난이도 레벨로 식별되는 경우, 상기 전자 장치의 메모리에 기 저장된 응답 데이터를 기반으로 상기 질의에 대한 응답을 생성하는 메모리 기반 응답 모델을 활성화 하는 단계;
    상기 질의의 난이도가 제2 난이도 레벨로 식별되는 경우, 멀티 모달 정보를 이용하여 상기 질의에 대한 응답을 생성하는 멀티모달 스토리 응답 모델을 활성화 하는 단계; 및
    상기 질의의 난이도가 제3 난이도 레벨로 식별되는 경우, 지식 기반 응답 모델을 활성화 하는 단계; 를 포함하는, 방법.
  10. 제2항에 있어서, 상기 컨텐츠 타입은 비디오 타입, 텍스트 타입 중 적어도 하나를 포함하고, 상기 컨텐츠 타입 별 이력 정보는 상기 질의에 관련된 비디오 컨텐츠에 대한 요약 정보, 상기 질의에 관련된 텍스트 컨텐츠에 대한 스토리 정보를 포함하는 것을 특징으로 하는, 방법.
  11. 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 전자 장치에 있어서,
    네트워크 인터페이스;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 를 포함하고,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 질의를 획득하고,
    상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하고,
    상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하고,
    상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는, 전자 장치.
  12. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 획득된 질의에 관련된 컨텐츠 타입 별 컨텐츠 이력 정보를 결정하고,
    상기 결정된 컨텐츠 이력 정보를 상기 복수의 응답 모델 중 적어도 하나의 응답 모델로 전송하고,
    상기 적어도 하나의 응답 모델은 상기 컨텐츠 이력 정보에 기초하여 상기 질의에 대한 응답을 결정하는 것을 특징으로 하는, 전자 장치.
  13. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 획득된 질의에 대한 정보를 상기 전자 장치와 다른 질의 응답 장치로 전송하고,
    상기 다른 질의 응답 장치로부터 출력된 응답 데이터에 기초하여 상기 적어도 하나의 응답 모델과 다른 응답 모델을 생성하고,
    상기 생성된 다른 응답 모델로부터 출력된 응답들 및 상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는, 전자 장치.
  14. 제11항에 있어서, 상기 질의 난이도 분석 모델은
    상기 질의 및 상기 질의에 대한 응답을 제공하는데 필요한 적어도 하나의 질의 정보들이 입력되면, 상기 질의에 대한 난이도를 출력하고, 상기 난이도 분석 모델 내 적어도 하나의 레이어들 및 상기 레이어들 간의 연결 강도에 관한 가중치 값을 수정 및 갱신함으로써 학습되는 인공 신경망(Artificial Neural Network) 모델인 것을 특징으로 하는, 전자 장치.
  15. 제14항에 있어서, 상기 난이도 분석 모델은
    상기 질의 또는 상기 질의 정보들 중 하나의 질의 정보 사이의 관계를 양방향으로 반영함으로써, 상기 질의 및 상기 질의 정보들 사이의 관계 정보를 엔코딩하는 엔코더;
    상기 엔코더의 출력 값이 획득되면 소정의 비율로 상기 엔코더의 출력 값 중 일부를 선택하는 풀링 레이어; 및
    상기 풀링 레이어의 출력 값을 획득하고, 상기 풀링 레이어의 출력 값이 상기 질의에 대한 난이도에 관한 레이블에 해당할 확률 값에 기초하여, 상기 질의에 대한 난이도 정보를 출력하는 분류기; 를 포함하는 것을 특징으로 하는, 전자 장치.
  16. 제15항에 있어서, 상기 엔코더는
    상기 질의 또는 상기 질의 정보들이 입력되면 상기 질의 또는 상기 질의 정보들에 대응되는 벡터 표현(representation)을 출력하는 언어 모델;
    상기 언어 모델로부터 출력된 벡터 표현을 엔코딩함으로써 상기 질의 또는 상기 질의 정보들 각각에 대응되는 특징 벡터를 출력하는 변환 엔코더;
    상기 질의에 대응되는 특징 벡터 및 상기 질의 정보들 중 하나의 질의 정보에 대응되는 특징 벡터가 입력되면, 상기 질의 및 상기 질의 정보들 중 하나의 질의 정보와의 관계를 양방향으로 반영하는 적어도 하나의 듀얼 멀티 헤드 어텐션 모듈; 및
    상기 적어도 하나의 듀얼 멀티 헤드 어텐션 모듈로부터 출력된 어텐션 벡터들 사이의 관계를 분석함으로써 어텐션 벡터들 사이의 관계 정보를 엔코딩하는 셀프 어텐션 엔코더; 를 포함하는 것을 특징으로 하는, 전자 장치.
  17. 제16항에 있어서, 상기 셀프 어텐션 엔코더는
    상기 듀얼 멀티 헤드 어텐션 모듈로부터 출력된 어텐션 벡터들을 결합(concatenate)하고, 상기 결합된 어텐션 벡터들을 이용하여 헤드 별 어텐션 맵들을 생성하는 멀티 헤드 어텐션 모듈;
    상기 멀티 헤드 어텐션 모듈에서 출력된 값들을 더하고(adding), 더한 값들을 노멀라이제이션 하는 제1 노멀라이제이션 레이어;
    상기 제1 노멀라이제이션 레이어의 출력 값을 상위 레이어로 전달하는 피드포워드(feed forward) 레이어; 및
    상기 피드포워드 레이어의 출력 값을 노멀라이제이션 하는 제2 노멀라이제이션 레이어; 를 포함하는 것을 특징으로 하는, 전자 장치.
  18. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 결정된 질의의 난이도에 기초하여 상기 질의에 대한 응답 생성 방식을 결정하고,
    상기 결정된 응답 생성 방식에 따라 상기 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는, 전자 장치.
  19. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 결정된 질의의 난이도가 제1 난이도 레벨로 식별되는 경우, 상기 전자 장치의 메모리에 기 저장된 응답 데이터를 기반으로 상기 질의에 대한 응답을 생성하는 메모리 기반 응답 모델을 활성화 하고,
    상기 질의의 난이도가 제2 난이도 레벨로 식별되는 경우, 멀티 모달 정보를 이용하여 상기 질의에 대한 응답을 생성하는 멀티모달 스토리 응답 모델을 활성화 하고,
    상기 질의의 난이도가 제3 난이도 레벨로 식별되는 경우, 지식 기반 응답 모델을 활성화 하는, 전자 장치.
  20. 전자 장치가 질의 난이도에 기초하여 상기 질의에 대한 응답을 제공하는 방법에 있어서,
    상기 질의를 획득하는 단계;
    상기 획득된 질의를 질의 난이도 분석 모델에 입력함으로써 상기 질의의 난이도를 결정하는 단계;
    상기 결정된 난이도에 기초하여 복수의 응답 모델 중 적어도 하나의 응답 모델을 활성화 하는 단계; 및
    상기 활성화된 응답 모델로부터 출력되는 응답들 중 하나의 응답을 정답으로 제공하는 단계; 를 포함하는, 방법을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020200159324A 2020-11-24 2020-11-24 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치 KR102433072B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200159324A KR102433072B1 (ko) 2020-11-24 2020-11-24 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200159324A KR102433072B1 (ko) 2020-11-24 2020-11-24 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220071790A true KR20220071790A (ko) 2022-05-31
KR102433072B1 KR102433072B1 (ko) 2022-08-16

Family

ID=81786610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200159324A KR102433072B1 (ko) 2020-11-24 2020-11-24 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102433072B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726176B1 (ko) * 2005-12-09 2007-06-11 한국전자통신연구원 질의응답 시스템에 있어서 다중 정답 추출 방법 및 장치
KR102146112B1 (ko) 2018-07-27 2020-08-19 (주)웅진씽크빅 빅데이터를 이용한 학습 문항 분석 정보 제공방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726176B1 (ko) * 2005-12-09 2007-06-11 한국전자통신연구원 질의응답 시스템에 있어서 다중 정답 추출 방법 및 장치
KR102146112B1 (ko) 2018-07-27 2020-08-19 (주)웅진씽크빅 빅데이터를 이용한 학습 문항 분석 정보 제공방법

Also Published As

Publication number Publication date
KR102433072B1 (ko) 2022-08-16

Similar Documents

Publication Publication Date Title
US10824658B2 (en) Implicit dialog approach for creating conversational access to web content
CN111027327B (zh) 机器阅读理解方法、设备、存储介质及装置
US10915588B2 (en) Implicit dialog approach operating a conversational access interface to web content
Scheutz et al. An overview of the distributed integrated cognition affect and reflection diarc architecture
US20190212879A1 (en) Semantic representation and realization for conversational systems
Sukthankar et al. Plan, activity, and intent recognition: Theory and practice
KR101790092B1 (ko) 인공지능형 에이전트 또는 시스템을 작성 및 구현하는 시스템 및 방법
US11227581B2 (en) Systems and methods for generating a response based on task-independent conversational responses or task-specific responses
US20220138432A1 (en) Relying on discourse analysis to answer complex questions by neural machine reading comprehension
Gorniak et al. Situated language understanding as filtering perceived affordances
CN113268609B (zh) 基于知识图谱的对话内容推荐方法、装置、设备及介质
US20190103107A1 (en) Inference on date time constraint expressions
US10818312B2 (en) Affect-driven dialog generation
JP2022503838A (ja) 対話生成方法と装置、コンピュータ機器及びプログラム
KR102464121B1 (ko) 응답과 질의 토큰의 관계에 기초하여 상기 질의에 대한 답변을 제공하는 방법 및 전자 장치
US20200174776A1 (en) Methods and systems for automated screen display generation and configuration
CN115617972B (zh) 一种机器人对话方法、装置、电子设备及存储介质
CN110059164B (zh) 用于呈现对话系统的用户界面的方法和系统
KR102433072B1 (ko) 질의 난이도에 기초하여 질의에 대한 응답을 제공하는 방법 및 장치
US20230350928A1 (en) Systems and methods for implementing a virtual agent performing context and query transformations using unsupervised machine learning models
Honold et al. The automated interplay of multimodal fission and fusion in adaptive HCI
Stark et al. Dobby: a conversational service robot driven by GPT-4
CN115759262A (zh) 基于知识感知注意力网络的视觉常识推理方法及系统
Wu et al. Interactive question-posing system for robot-assisted reminiscence from personal photographs
KR20220071789A (ko) 질의에 대한 응답을 제공하는 방법 및 장치

Legal Events

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