KR20200010061A - 전자 장치 및 전자 장치의 학습 방법 - Google Patents

전자 장치 및 전자 장치의 학습 방법 Download PDF

Info

Publication number
KR20200010061A
KR20200010061A KR1020190084270A KR20190084270A KR20200010061A KR 20200010061 A KR20200010061 A KR 20200010061A KR 1020190084270 A KR1020190084270 A KR 1020190084270A KR 20190084270 A KR20190084270 A KR 20190084270A KR 20200010061 A KR20200010061 A KR 20200010061A
Authority
KR
South Korea
Prior art keywords
sentence
conversation
clusters
electronic device
sentences
Prior art date
Application number
KR1020190084270A
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 US16/518,300 priority Critical patent/US11347966B2/en
Publication of KR20200010061A publication Critical patent/KR20200010061A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

전자 장치 및 전자 장치의 학습 방법이 개시된다. 본 전자 장치의 학습 방법은 복수의 대화 문장(conversation sentence)을 획득하는 단계; 상기 복수의 대화 문장들의 유사도를 바탕으로 상기 복수의 대화 문장에 대한 복수의 클러스터를 획득하는 단계; 사용자로부터 입력 문장이 획득되면, 상기 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 상기 복수의 클러스터 중 하나를 선택하는 단계; 상기 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하는 단계; 상기 제공된 응답 문장에 대한 보상 값을 획득하는 단계; 및 상기 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트 하는 단계; 를 포함한다.

Description

전자 장치 및 전자 장치의 학습 방법 {Learning method of electronic apparatus and electronic apparatus}
본 개시는 전자 장치 및 전자 장치의 학습 방법에 관한 것으로, 더욱 상세하게는 사용자로부터 입력 문장이 획득되면, 입력 문장에 대한 보상 값을 바탕으로 응답 문장을 사용자에게 제공하는 전자 장치 및 전자 장치의 학습 방법에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점자 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
기계학습을 활용하는 기술 중 하나로는 챗봇(chatter robot) 시스템이 있으며, 챗봇 시스템은 텍스트 또는 음성으로 대화하는 기능이 있는 인공지능을 의미할 수 있다. 종래의 챗봇 시스템은 사용자의 대화 문장에 대응하여 응답 문장을 사용자에게 제공하기 위해 의도(mean) 또는 키워드(keyword)가 태깅 된 대화 문장을 사용하여야 했다. 따라서 챗봇 시스템에는 수많은 대화 문장이 사용되므로, 대화 문장 각각에 의도 또는 키워드를 태깅하는 작업에는 오랜 시간과 비용이 드는 문제점이 발생될 수 있었다.
본 개시는 의도 또는 키워드가 태깅되지 않은 대화 문장을 사용하여 사용자의 입력 문장에 대한 응답 문장을 제공하기 위한 학습을 수행하는 전자 장치의 학습 방법 및 그 학습 방법에 관한 것이다.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른, 전자 장치의 학습 방법은, 복수의 대화 문장(conversation sentence)을 획득하는 단계; 상기 복수의 대화 문장들의 유사도를 바탕으로 상기 복수의 대화 문장에 대한 복수의 클러스터를 획득하는 단계; 사용자로부터 입력 문장이 획득되면, 상기 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 상기 복수의 클러스터 중 하나를 선택하는 단계; 상기 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하는 단계; 상기 제공된 응답 문장에 대한 보상 값을 획득하는 단계; 및 상기 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트 하는 단계; 를 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른, 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 복수의 대화 문장(conversation sentence)을 획득하고, 상기 복수의 대화 문장들의 유사도를 바탕으로 상기 복수의 대화 문장에 대한 복수의 클러스터를 획득하고, 사용자로부터 입력 문장이 획득되면, 상기 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 상기 복수의 클러스터 중 하나를 선택하고, 상기 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하고, 상기 제공된 응답 문장에 대한 보상 값을 획득하고, 상기 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트 한다.
상술한 바와 같은 본 발명의 다양한 실시 예에 의해, 전자 장치는 복수의 대화 문장 각각에 대한 의미 또는 키워드를 태깅하는 작업 없이 사용자로부터 입력 문장이 획득되면, 입력 문장에 대한 응답 문장을 사용자에게 제공하기 위한 학습을 수행할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치가 사용자 입력 문장에 대한 응답 문장을 제공하는 방법을 도시한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(200)의 구성을 나타낸 블록도 이다.
도 3는 본 개시의 일 실시 예에 따른 대화 문장이 클러스터 된 것을 나타내는 도면이다.
도 4는 본 개시의 일 실시 예에 따른 복수의 클러스터를 나타내는 도면이다.
도 5a는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
도 5b는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
도 5c는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
도 5d는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
도 5e는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
도 6은 본 개시의 일 실시 예에 따른, 모든 대화 기록을 이용하여 실험을 수행한 결과를 도시한 그래프이다.
도 7은 본 개시의 일 실시 예에 따른 사용자의 입력 문장에 따른 응답 문장을 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 구체적 구성을 나타내는 블록도 이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치가 사용자 입력 문장에 대한 응답 문장을 제공하는 방법을 도시한 도면이다.
본 개시에 따른 전자 장치(100)는 대화 에이전트(110) 환경 시스템(Environment System (150))을 포함할 수 있으며, 환경 시스템(150)은 대화 기록(120), 보상 생성 모듈(130)및 응답 생성 모듈(140)을 포함할 수 있다.
본 개시에 따른 전자 장치(100)는 사용자의 입력 문장에 대한 응답 문장을 사용자에 제공하고, 제공된 입력 문장을 기존 대화 기록과 비교하여, 입력 문장이 적절한지 여부를 판단하고, 판단 결과를 바탕으로 인공지능 모델을 학습할 수 있다. 즉, 본 개시에 따른 전자 장치(100)는 사용자의 입력 문장을 획득하고, 입력 문장을 분석하여, 특정 문장이나 단어 등의 조건 일치에 따라 대답을 달리하여 입력 문장에 따른 응답 문장을 사용자에게 제공할 수 있다.
구체적으로, 전자 장치(100)는 복수의 대화 문장(conversation sentence)을 획득하고, 획득한 복수의 대화 문장들의 유사도를 바탕으로 복수의 대화 문장에 대한 복수의 클러스터를 획득할 수 있다. 구체적으로 유사도는 수학식 2 및 수학식 3에서 후술하듯이 복수의 대화 문장 마다 주어진 데이터 포인트 및 유사도 메트릭을 통해 획득될 수 있다. 대화 문장은 사용자간의 대화에 사용되는 문장으로, 예로 메신저 어플리케이션에서의 사용자의 입력 문장들을 포함할 수 있다. 복수의 클러스터는 유사한 대화 문장들을 묶은 집합들을 의미하며, 클러스터에 대한 상술한 내용은 도 3을 통해 후술하도록 한다.
그리고 전자 장치(100)는 복수의 클러스터를 바탕으로 본 개시에 따른 인공지능 모델에 대한 학습을 수행할 수 있다. 본 개시에 따른 인공지능 모델의 학습은 강화 학습 방법을 통해 수행될 수 있으며, 대화 에이전트(110)와 환경 시스템(150)간의 상호작용을 통해 강화 학습이 이루어 질 수 있다. 강화학습이란 인공지능 모델이 환경 시스템에 맞게 액션(Action)을 선택하고, 그 액션에 의해서 환경 시스템(150)이 변하는 것을 바탕으로 학습을 수행 하는 학습 방법이다. 강화학습에서 환경 시스템(150)이 변화하면 대화 에이전트(110)은 어떠한 보상을 얻게 되고, 대화 에이전트(110)는 더 나은 보상을 받는 쪽으로 액션(Action)을 바로 잡으며 학습될 수 있다.
환경 시스템(150)은 의도 또는 키워드가 태깅 되지 않은 대화 문장을 포함하는 대화기록(120), 응답 생성 모듈(130) 및 보상 생성 모듈(140)을 포함할 수 있다. 사용자로부터 입력 문장이 획득되면, 대화 에이전트(110)는 입력 문장에 대한 응답 문장을 제공하기 위해 복수의 클러스터 중 하나를 선택할 수 있다. 그리고, 전자 장치(100)는 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 사용자의 입력 문장에 대한 응답 문장으로 사용자에게 제공할 수 있다.
그리고, 보상 생성 모듈(130)은 환경 시스템(150)에 있는 대화 기록(120)과 전자 장치가 제공한 응답 문장을 비교하여 응답 문장에 대한 보상 값을 획득할 수 있다. 보상 생성 모듈(130)은 대화 기록(120)에 기 저장된 대화 문장들과 응답 문장을 비교하여 사용자에 제공된 응답 문장이 적절한지 여부를 판단하고, 판단 결과를 바탕으로 응답 문장에 대한 보상(reward) 값을 판단할 수 있다. 예로, 사용자에게 제공된 응답 문장이 대화 주제에 적절한 경우, 보상 값으로 +1이, 대화 주제에 어긋나는 경우 보상 값으로 -1을 획득할 수 있다.
그리고, 응답 생성 모듈(140)는 기존의 대화 기록(120)에 사용자의 입력 문장 및 제공된 응답 문장을 포함시켜, 대화 기록(120)을 업데이트할 수 있다. 그리고, 응답 생성 모듈(140)은 업데이트된 대화 기록을 새로운 상태(state) 데이터로 대화 에이전트(110)에게 제공할 수 있다.
대화 에이전트(110)는 획득된 보상 값 및 업데이트된 대화 기록을 바탕으로 인공지능 모델의 가중치를 업데이트 할 수 있다. 본 개시에 따른 인공지능 모델 학습은 반복적으로 수행될 수 있으며, 학습이 수행됨에 따라 인공지능 모델의 성능이 향상되어, 사용자에게 적절한 응답 문장이 제공될 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(200)의 구성을 나타낸 블록도 이다. 본 개시에 따른 전자 장치(200)는 적어도 하나의 서버로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 예로, 사용자 단말 장치, 스마트폰 또는 가전 제품으로 구현될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(200)는 메모리(210) 및 프로세서(220)를 포함할 수 있다. 도 2에 도시된 구성들은 본 개시의 실시 예들을 구현하기 위한 예시도 이며, 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(200)에 추가로 포함될 수 있다.
메모리(210)는 전자 장치(200)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(210)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(210)는 프로세서(220)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(210), 프로세서(220) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 특히, 메모리(210)는 인공지능 에이전트를 수행하기 위한 프로그램을 저장할 수 있다. 이때, 인공지능 에이전트는 전자 장치(200)에 대한 다양한 서비스를 제공하기 위한 개인화된 프로그램이다.
그리고 메모리(210)는 본 개시의 일 실시 예에 따른 인공지능 모델의 학습을 수행하기 위해 리플레이 메모리를 포함할 수 있다. 리플레이 메모리란 강화 학습에 사용되는 메모리로 상태(s), 액션(a), 보상(r), 다음 상태(s') 세트(s, a, r, s')가 저장될 수 있다. 본 개시에 따르면, 상태는 대화 기록일 수 있으며, 액션은 전자 장치(200)가 복수의 클러스터 중 하나를 선택하는 액션일 수 있으며, 보상은 응답 문장에 대한 보상 값일 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서(220)와 메모리(210)를 통해 동작된다. 프로세서(220)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(220)는 후술할 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다. 프로세서(220)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP 등과 같은 범용 프로세서, GPU. VPU 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(210)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델의 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
본 개시에 따른 프로세서(220)는 메모리(210)에 저장된 적어도 하나의 명령을 실행함으로써, 복수의 대화 문장을 획득하고, 복수의 대화 문장들의 유사도를 바탕으로 복수의 대화 문장에 대한 복수의 클러스터를 획득할 수 있다.
그리고, 프로세서(220)는 복수의 대화 문장간의 유사도를 획득하고, 획득한 유사도를 바탕으로 복수의 대화 문장을 군집화 하여 복수의 클러스터를 획득할 수 있다. 본 개시에 따른 전자 장치(200)가 직접 복수의 클러스터를 생성하여 획득할 수 있으나, 이에 한정되지 않고 다른 서버로부터 복수의 클러스터들을 획득할 수 있다. 즉, 외부 서버에서 생성된 복수의 클러스터들을 전송 받아 전자 장치(200)가 외부 서버로부터 복수의 클러스터를 획득할 수 있다.
사용자로부터 입력 문장이 획득되면, 프로세서(220)는 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 복수의 클러스터 중 하나를 선택하고, 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 사용자의 입력 문장에 대한 응답 문장으로 제공할 수 있다. 본 개시의 일 실시 예에 따르면, 프로세서(220)는 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 무작위로 선택하여 사용자에게 응답 문장으로 제공할 수 있다.
그리고, 프로세서(220)는 제공된 응답 문장에 대한 보상 값을 획득하고, 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트할 수 있다. 그리고, 프로세서(220)는 대화 기록을 획득하고, 응답 문장과 대화 기록에 기 저장된 대화 문장을 비교하여 응답 문장에 대한 보상 값을 획득할 수 있다.
또한, 프로세서(220)는 상기 업데이트된 가중치를 상기 인공지능 모델에 적용하고, 상기 가중치가 적용된 인공지능 모델을 바탕으로 사용자로부터 입력 문장이 획득되면, 상기 클러스터 중 하나를 선택하고 상기 선택된 클러스터에 속한 대화 문장 중 하나의 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공할 수 있다. 즉, 응답 문장이 사용자에게 제공될 때 마다, 프로세서(220)는 사용자의 입력 문장 및 응답 문장을 대화기록에 포함시켜 대화 기록을 업데이트 할 수 있다. 그리고, 프로세서(220)는 업데이트 된 대화 기록 및 응답 문장에 대한 보상 값을 바탕으로 인공지능 모델을 학습 하고, 인공지능 모델의 가중치를 계속하여 업데이트 하여, 사용자에게 적절한 응답 문장이 제공될 수 있다.
그리고, 프로세서(220)는 기 설정된 확률로 상기 복수의 클러스터 중 하나를 무작위로 선택하고, 상기 복수의 클러스터 중 하나를 무작위로 선택하지 않을 경우, 상기 입력 문장에 대한 인공지능 모델의 출력 값이 최대인 클러스터를 선택할 수 있다. 본 개시에 따른 일 실시 예에 따르면, 기 설정된 확률은 10%일 수 있다. 프로세서(220)는 기 설정된 확률이 10%인 경우, 복수의 클러스터 중 하나를 10% 확률로 무작위로 선택하여 무작위로 선택된 복수의 클러스터에 속한 대화 문장 중 하나의 대화 문장을 응답 문장으로 제공하고, 90%의 확률로 입력 문장에 대한 인공지능 모델의 출력 값이 최대인 클러스터를 선택할 수 있다. 본 개시에 따르면, 인공지능 모델이 Q-함수일 수 있다. 따라서, 프로세서(220)는 입력 문장에 대해 Q-함수 값이 최대인 클러스터를 선택하고, 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 응답 문장으로 제공될 수 있다. Q-함수에 대한 상세한 내용은 수학식 4를 통해 후술하도록 한다.
그리고, 프로세서(220)는 상기 입력 문장을 음성 또는 텍스트로 입력 받고, 응답 문장을 음성 또는 텍스트로 제공할 수 있다. 입력 문장을 텍스트로 입력 받는 경우, 메시지와 같은 어플리케이션 등이 활용될 수 있으며, 입력 문장을 음성으로 입력 받는 경우, 음성을 텍스트로 변환해 주는 어플리케이션 등이 활용될 수 있다.
이하에서는 도 3 내지 도 6을 참조하여 본 개시에 대해 설명하기로 한다.
특히, 전자 장치(100)는 복수의 대화 문장을 바탕으로 복수의 클러스터를 획득할 수 있다. 즉, 도 3에 도시된 바와 같이 제1 클러스터(310)에는 인사와 관련된 (안녕, 안녕하세요, 만나서 반가워)의 대화 문장들이 포함되어 있고, 제2 클러스터(320)에는 감사와 관련된 (감사합니다. 땡큐, 고맙습니다.)의 문장들이 포함되어 있을 수 있다. 본 개시에 따르면 클러스터에 속한 복수의 대화 문장은 의도(mean) 또는 키워드(keyword)가 태깅(tagging)되어 있지 않은 대화 문장일 수 있다. 즉, 본 개시에 따르면 복수의 대화 문장에 의도 또는 키워드를 태깅하는 작업인 라벨링 작업에 드는 비용 및 시간을 줄일 수 있다.
본 개시에 따른 전자 장치(200)는 인공지능 모델의 학습을 위해 딥 강화 학습(Deep Reinforce Learning, DRL)을 수행할 수 있으며, 딥 강화 학습을 수행한 인공지능 모델을 통해 복수의 대화 문장들이 군집화(cluster)된 복수의 클러스터를 이용하여 사용자에게 응답 문장을 제공할 수 있다. 복수의 클러스터는 복수의 대화 문장들의 유사도를 바탕으로 복수의 대화 문장에 대해 획득될 수 있다. 본 개시의 일 실시 예에 따르면, 전자 장치(200)는 복수의 대화 문장 마다 주어진 데이터 포인트 {x1, x2 . . . xn} 및 유사도 메트릭(similarity metric) d(xi, xi')을 이용한 군집화 알고리즘을 바탕으로 k개의 클러스터를 획득할 수 있으며, k의 개수는 사용자가 직접 설정할 수 있다.
[수학식 1]
Figure pat00001
본 개시에 따르면, 수학식 1을 통해 각 대화 문장 마다 평균 단어 삽입(mean word embedding)을 이용하여 각각의 대화 문장 마다 각각의 데이터 포인트 xi 가 생성될 수 있다. cj는 단어 j의 계수(coefficient) 벡터이며, Ni는 문장 i의 단어 개수를 나타낸다.
[수학식 2]
Figure pat00002
본 개시의 일 실시 예에 따르면, m개의 단어에 대해 수학식 2를 통해 유사도 메트릭 d(xj i, xj i,)이 생성될 수 있다.
본 개시에 따르면, 상술한 수학식 1 및 수학식 2를 통해 복수의 대화 문장에 대한 클러스터가 획득될 수 있다.
또한, 전자 장치(100)는 제공된 응답 문장에 대한 보상 값을 바탕으로 인공지능 모델의 가중치를 업데이트 할 수 있다. 이때, 가중치를 업데이트 하기 위한 본 개시에 따른 대화식 보상 값(함수) Ri는 수학식 3과 같다.
[수학식 3]
Figure pat00003
i는 사용자와 전자 장치간 대화를 나타내며, j는 전자 장치가 제공한 응답 문장에 관한 것이다.
Figure pat00004
는 전자 장치가 제공한 응답 문장이 대화 주제에 적절한 경우 +1을 나타내며, 대화 주제에 어긋나는 경우 -1을 나타낼 수 있다.
Figure pat00005
Sentences with reward r = +1 Sentences with reward r = -1
-hello what are doing today? -i'm good, i just got off work and tired, i have two jobs. -hello what are doing today?
-do your cats like candy?
-i just got done watching a horror movie -i rather read, i have read about 20 books this year. -i just got done watching a horror movie
-do you have any hobbies?
-wow! i do love a good horror movie. loving this cooler weather -but a good movie is always good. -wow! i do love a good horror movie. loving this cooler weather
-good job ! if you live to 100 like me, you will need all that learning.
-yes! my son is in junior high and i just started letting him watch them -i work in the movies as well. -yes! my son is in junior high and i just started letting him watch them
-what a nice gesture. i take my dog to compete in agility classes.
표 1은 본 개시의 일 실시 예에 따른 응답 문장에 따른 보상 값을 판단한 도표이다.표 1에서 나타나듯이 전자 장치(200)가 제공한 응답 문장이 사용자의 입력 문장에 대해 적절한 경우 +1의 보상 값을 획득할 수 있으나, 응답 문장이 사용자의 입력 문장에 대해 적절하지 않은 경우 -1의 보상 값을 획득할 수 있다.
또한, 전자 장치(200)는 누적된 보상 값을 나타내는 Q-함수(Q*)을 최대로 만드는 과정을 통해 학습을 수행할 수 있다. 즉, 전자 장치(200)는 복수의 클러스터 중 사용자의 입력 문장에 대한 Q-함수 값이 최대인 클러스터를 선택하고, 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 응답 문장으로 사용자에게 제공할 수 있다.
누적된 보상 값(Q*)은 수학식 4와 같다.
[수학식 4]
Figure pat00006
수학식 4에서 r은 시간 간격 t의 상태 s에서 액션 a를 선택 함에 따른 보상을 나타내며,
Figure pat00007
은 discounting factor이고,
Figure pat00008
는 최적 상태 값 함수(optimal action-value function)로, Q-함수이다. 전자 장치(200)는 보상 값을 향상시키기 위해 위해 새로운 (상태, 액션) 쌍을 탐색(explore)하거나, 이미 학습된 값을 활용하기 위해 확률적 방식(probabilistic manner)으로 액션을 선택할 수 있다. 테스트 과정 중 전자 장치(200)는
Figure pat00009
에 따라 액션을 선택할 수 있다.
본 개시에 따른 전자 장치의 학습 수행 과정을 알고리즘1(Algorithm 1)을 통해 설명한다.
전자 장치(200)는 DQN 방법[21]의 일반화를 사용하여 인공지능 모델의 강화 학습을 수행할 수 있다.
Figure pat00010
알고리즘1을 참조하면, 전자 장치(200)는 리플레이 메모리(D), 대화 기록(H) 및 Q-함수(Q,
Figure pat00011
)를 초기화 하고, 사람간의 대화 기록으로부터 학습 대화를 샘플링 할 수 있다. 사용자가 입력 문장을 입력함으로 대화가 시작되고, 전자 장치(200)는 실제 사람의 반응에 대한 응답 문장 및 무작위로 선택한 응답 문장을 포함하는 복수의 클러스터를 생성할 수 있다. 복수의 클러스터는 상술한 바와 같이 군집화된 복수의 대화 문장으로 구성될 수 있으며, 전자 장치(200)는 복수의 클러스터를 바탕으로 복수의 클러스터 중 하나를 선택하는 액션을 획득할 수 있다. 전자 장치(200)는 기 설정된 확률(∈)로 상기 복수의 클러스터 중 하나를 무작위로 선택하고, 상기 복수의 클러스터 중 하나를 무작위로 선택하지 않을 경우, 상기 입력 문장에 대한 인공지능 모델의 출력 값이 최대인 클러스터를 선택할 수 있다. 기 설정된 확률은 상술한 바와 같이 10%일 수 있다. 획득된 액션은 환경 시스템(S)으로 전달(convey)되고, 획득된 액션을 바탕으로 보상(값)이 판단될 수 있다. 그리고, 전자 장치(200)는 사용자의 입력 문장에 대한 응답 문장을 대화 기록(H)에 포함시켜 대화 기록(H)을 업데이트 할 수 있다. 상술한 과정을 통해 리플레이 메모리(D)에 상태(s), 액션(a), 보상(r), 다음 상태(s') 세트(s, a, r, s')가 업데이트되며, 업데이트된 리플레이 메모리(D)에 의해 대화 기록(H)으로부터 새로운 단어 삽입(word embedding)이 생성될 수 있다. 그리고, 인공지능 모델의 가중치
Figure pat00012
가 업데이트 되기 위해 리플레이 메모리(D) 로부터 미니 배치법에 의한 실험 데이터 MB = (sj, aj, rj, s'j)가 샘플링 될 수 있다. 인공지능 모델의 가중치(
Figure pat00013
)의 업데이트는 수학식 5에 따라 수행될 수 있다.
[수학식5]
Figure pat00014
가중치의 업데이트에 따라 타겟 함수(target function)인 Q-함수
Figure pat00015
및 상태 s가 업데이트되고, 상술한 가중치 업데이트과정이 계속 수행되어 인공지능 모델에 대한 학습이 수행 될 수 있다.
이하에서는, 도 4 내지 도 6을 통해 본 개시에 따른 전자 장치의 학습 방법에 관한 실험 수행 과정을 설명하도록 한다.
본 개시에 따른 학습 방법의 실험에는 도 4에 도시된 바와 같이 100개의 클러스터를 바탕으로 실험을 수행 하였다. 클러스터의 개수가 많을수록 동일한 클러스터를 사용자에게 제공하는 문제를 해결할 수 있으나, 클러스터의 개수가 많을수록 계산 비용 또한 커질 수 있다. 따라서, 본 개시에 따른 실험에서는 100개의 클러스터를 사용하여 실험을 수행하였으며, 100개의 클러스터에는 인사말을 나타내는 대화 문장들이 같은 클러스터로 할당될 수 있으며, 선호도를 나타내는 질문 대화 문장들이 같은 클러스터로 할당될 수 있다.
도 5a 내지 5e는 본 개시의 일 실시 예에 따른 인공지능 학습 실험 데이터를 도시한 표이다.
본 개시에 따른 실험에서는 100개의 학습 대화 기록을 사용하여 실험을 진행하고, 또한 모든 학습 대화 기록을 사용하여 실험을 진행하였다. 100개의 학습 대화 기록을 사용한 실험에서는 20,000번의 학습을 수행하였으며, 모든 학습 대화 기록을 사용한 실험에서는 120,000번의 학습을 수행하였다. 그리고, 각 실험에서 100개의 클러스터를 바탕으로 실험을 진행하였다. 도 5a 내지 5e를 참조하면 전자 장치(200)가 100번의 실험으로 100개의 응답 문장을 제공하는 액션을 하는 경우에도 성능이 향상됨을 볼 수 있다. 그래프에서 각 점은 하나의 대화를 나타낼 수 있다. 즉, 사용자의 입력 문장에 대응되는 하나의 응답 문장을 나타낼 수 있다.
도 5a는 0 내지 100개의 대화기록을 바탕으로 실험을 진행한 결과를 나타내는 그래프이며, 도 5b는 100 내지 200개의 대화기록을 바탕으로, 도 5c는 200 내지 300개의 대화기록을 바탕으로, 도 5d는 300 내지 400개의 대화기록을 바탕으로, 도 5e는 400 내지 500개의 대화기록을 바탕으로 실험을 진행한 결과를 나타내는 그래프이다.
각 도면에서 좌측 그래프(1)는 20,000번의 학습을 수행한 결과를 나타내며, 각 도면의 우측 그래프(2)는 120,000번의 학습을 수행한 결과를 나타낸다. 각 그래프를 참조하면, 학습이 수행될수록 누적되는 보상 값이 증가하는 경향을 볼 수 있다.
도 6은 본 개시의 일 실시 예에 따른, 모든 대화 기록을 이용하여 실험을 수행한 결과를 도시한 그래프이다.
도 6의 그래프는 도 5a 내지 5e와 달리 모든 대화 기록을 이용하여 실험을 수행한 결과를 나타낸다. 일부 대화 기록을 이용한 실험과 비교해 볼 때, 모든 대화 기록을 이용하여 실험을 수행한 경우, 인공지능 모델의 성능이 더 좋을 것을 알 수 있다.
Data
Splits
|Embedding|=100 |Embedding|=300
Training Test Training Test
0-100 2.5049 -2.0305 2.4145 -0.9488
100-200 2.3676 -2.1609 2.4602 -0.5761
200-300 1.9599 -2.0796 2.4883 -0.8967
300-400 1.9288 -2.2653 2.5492 -0.9488
400-500 2.2941 -2.1830 2.2389 -1.0070
500-600 2.5941 -2.0440 2.5146 -2.2715
0-17877 -0.4027 -1.8757 -0.2885 -0.4539
Average 1.8924 -2.0913 2.0539 -1.0147
Upper Bound TBF 7.5942 TBF 7.5942
Lower Bound TBF -7.7276 TBF -7.7276
Random -2.4139 -2.5526 -2.4139 -2.5526
표 2는 100개 및 300개의 클러스터를 이용하여 20,000번 학습을 수행한 결과를 나타내는 표이다.표 2를 참조하면 100개의 클러스터(|Embedding|=100)를 사용하여 20,000번 학습을 수행한 결과와 300개의 클러스터(|Embedding|=300)를 사용하여 20,000번 학습을 수행한 결과를 나타내고 있다. 표 2를 참조하면 300개의 클러스터를 사용하여 학습을 수행한 것이 더 높은 성능을 나타내는 것을 알 수 있다. 또한, 대화 기록(Data Splits)을 사용할수록 더 높은 성능을 나타내는 것을 알 수 있다.
Data
Splits
|Embedding|=100 |Embedding|=300
Training Test Training Test
0-100 0.7349 TBF 1.0104 -2.3377
100-200 1.1612 TBF 1.7355 -1.6193
200-300 0.8504 TBF 2.3953 -1.3901
300-400 2.4840 TBF 2.5090 -1.5039
400-500 0.8349 TBF 2.8329 -1.6111
500-600 0.7853 TBF 2.6007 -1.5689
0-17877 -0.3060 TBF -0.2931 -1.2652
Average 0.9350 TBF 1.8272 -1.6137
표 3는 100개 및 300개의 클러스터를 이용하여 120,000번 학습을 수행한 결과를 나타내는 표이다.표 2를 참조하면 100개의 클러스터(|Embedding|=100)를 사용하여 120,000번 학습을 수행한 결과와 300개의 클러스터(|Embedding|=300)를 사용하여 120,000번 학습을 수행한 결과를 나타내고 있다.
도 7은 본 개시의 일 실시 예에 따른 사용자의 입력 문장에 따른 응답 문장을 제공하기 위한 방법을 설명하기 위한 흐름도이다.
전자 장치(200)는 복수의 대화 문장을 획득할 수 있다(S710). 복수의 대화 문장은 도 3에서 상술한 바와 같이 '안녕', '감사합니다'와 같은 문장일 수 있다. 그리고, 전자 장치(200)는 복수의 대화 문장들의 유사도를 바탕으로 복수의 대화 문장에 대한 복수의 클러스터를 획득할 수 있다(S720). 즉, 복수의 대화 문장간의 유사도를 획득하고, 획득한 유사도를 바탕으로 복수의 대화 문장을 군집화 하여 복수의 클러스터를 획득할 수 있다. 그리고, 전자 장치(200)는 사용자로부터 입력 문장이 획득되면, 복수의 클러스터 중 하나를 선택할 수 있다(S730). 본 개시의 일 실시 예에 따르면, 전자 장치(200)는 기 설정된 확률로 복수의 클러스터 중 하나를 무작위로 선택할 수 있다. 전자 장치(200)가 복수의 클러스터 중 하나를 무작위로 선택하지 않을 경우, 입력 문장에 대한 인공지능 모델의 출력 값이 최대인 클러스터를 선택할 수 있다. 그리고, 전자 장치(200)는 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 응답 문장으로 제공할 수 있다(S740). 본 개시의 일 실시 예에 따르면, 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 무작위로 선택하여 응답 문장으로 제공할 수 있다. 그리고, 전자 장치(200)는 제공된 응답 문장에 대한 보상 값을 획득할 수 있다(S750). 본 개시의 일 실시 예에 따르면 보상 값은 수학식 3을 통해 획득될 수 있다. 그리고 전자 장치(200)는 획득된 보상 값을 바탕으로 인공지능 모델의 가중치를 업데이트 할 수 있다(S760). 즉, 전자 장치(200)는 사용자의 입력 문장에 대한 응답 문장에 대한 보상 값이 높은 방향으로 인공지능 모델을 학습하여, 가중치를 업데이트 할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 구체적 구성을 나타내는 블록도 이다. 본 개시에 따른 전자 장치(800)는 스마트폰과 같은 전자 장치로 구현될 수 있으며, 전자 장치(800)는 메모리(810), 프로세서(820), 통신부(830), 디스플레이(840), 터치 센서(850)를 포함할 수 있다.
도 8에 도시된 구성 중 도 2에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
통신부(830)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신부(830)는 와이파이칩, 블루투스 칩, 무선 통신 칩, NFC 칩을 포함할 수 있다. 프로세서(820)는 통신부(830)를 이용하여 각종 외부 장치와 통신을 수행한다. 특히, 와이파이 칩, 블루투스 칩은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩은135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
통신부(830)는 외부 장치 및 서버와 통신을 수행할 수 있으며, 본 개시의 일 실시 예에 따르면 통신부(830)는 외부 장치 또는 서버로부터 복수의 대화 문장 또는 복수의 클러스터를 획득할 수 있다. 즉, 전자 장치(800)가 직접 복수의 대화 문장 및 복수의 클러스터를 생성할 수 있으나, 이에 한정되지 않고, 전자 장치(800)가 통신부(830)를 통해 외부 장치 또는 서버로부터 복수의 대화 문장 또는 복수의 클러스터를 획득할 수 있다.
디스플레이(840)는 프로세서(820)가 제공한 응답 문장을 사용자에게 표시할 수 있다. 또한, 본 개시의 일 실시 예에 따르면, 응답 문장이 디스플레이(840)에 표시되는 경우, 사용자가 직접 응답 문장이 적절한지를 평가하여 응답 문장에 대한 보상 값이 획득될 수 있다. 사용자의 응답 문장에 대한 평가는 디스플레이(840) 상의 UI를 따로 표시하여 평가하도록 할 수 있다. 디스플레이(840)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등으로 구현 될 수 있으나, 이에 한정되지 않는다.
터치 센서(850)는 사용자의 입력 문장을 입력 받을 수 있다. 즉, 터치 센서(850)는 디스플레이(840) 상에서의 사용자 터치 입력을 감지할 수 있다. 사용자 의 터치는 사용자의 손가락에 의한 터치 입력 및 전자펜에 의한 터치 입력을 포함할 수 있다. 사용자의 손가락에 의한 터치 입력의 경우 터치센서(850)는 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 입력 문장을 출력할 수 있다. 이때, 터치 신호에 대응하는 정보가 디스플레이(840)상에 표시될 수 있다.
도 8에 도시하지 않았지만, 사용자의 입력 문장이 음성을 통해 입력되는 경우에는, 전자 장치(800)는 마이크 등을 더 포함할 수 있다.
한편, 상술한 기재들은 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
본 개시에 따른 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, 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)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준 지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
본 개시에 따른 전자 장치는 사용자의 입력 문장에 대한 응답 문장을 제공하기 위해 강화 학습(reinforcement learning), 비감독 학습(unsupervised learning), 및 딥러닝(deep learning)을 통해 인공지능 모델의 학습을 수행할 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
200: 전자 장치 210: 메모리
220: 프로세서

Claims (18)

  1. 전자 장치의 학습 방법에 있어서,
    복수의 대화 문장(conversation sentence)을 획득하는 단계;
    상기 복수의 대화 문장들의 유사도를 바탕으로 상기 복수의 대화 문장에 대한 복수의 클러스터를 획득하는 단계;
    사용자로부터 입력 문장이 획득되면, 상기 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 상기 복수의 클러스터 중 하나를 선택하는 단계;
    상기 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하는 단계;
    상기 제공된 응답 문장에 대한 보상 값을 획득하는 단계; 및
    상기 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트 하는 단계; 를 포함하는 학습 방법.
  2. 제1항에 있어서,
    상기 복수의 대화 문장 각각에는 의도(mean) 또는 키워드(keyword)가 태깅(tagging)되지 않은 것을 특징으로 하는 학습 방법.
  3. 제1항에 있어서,
    상기 클러스터를 획득하는 단계는
    상기 복수의 대화 문장간의 유사도를 획득하고,
    상기 유사도를 바탕으로 상기 복수의 대화 문장을 군집화하여 복수의 클러스터를 획득하는 것을 특징으로 하는 학습 방법.
  4. 제1항에 있어서,
    대화기록을 획득하는 단계를 더 포함하고,
    상기 보상 값을 획득하는 단계는, 상기 응답 문장과 상기 대화기록을 비교하여 상기 응답 문장에 대한 보상 값을 획득하는 학습 방법.
  5. 제1항에 있어서,
    상기 업데이트 하는 단계는,
    상기 응답 문장이 제공될 때 마다 보상 값을 획득하고,
    상기 획득한 보상 값의 누적 값이 최대가 되도록 상기 가중치를 업데이트 하는 학습 방법.
  6. 제1항에 있어서,
    상기 업데이트된 가중치를 상기 인공지능 모델에 적용하는 단계; 및
    상기 가중치가 적용된 인공지능 모델을 바탕으로 사용자로부터 입력 문장이 획득되면, 상기 클러스터 중 하나를 선택하고 상기 선택된 클러스터에 속한 대화 문장 중 하나의 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하는 단계;를 더 포함하는 학습 방법.
  7. 제6항에 있어서,
    상기 복수의 클러스터 중 하나를 선택하는 단계는
    기 설정된 확률로 상기 복수의 클러스터 중 하나를 무작위로 선택하고,
    상기 복수의 클러스터 중 하나를 무작위로 선택하지 않을 경우, 상기 입력 문장에 대한 상기 인공지능 모델의 출력 값이 최대인 클러스터를 선택하는 학습 방법.
  8. 제1항에 있어서,
    상기 입력 받는 단계는,
    상기 입력문장을 음성 또는 텍스트로 입력 받고,
    상기 제공하는 단계는,
    상기 응답 문장을 음성 또는 텍스트로 제공하는 학습 방법.
  9. 제4항에 있어서,
    상기 획득된 입력 문장 및 응답 문장을 상기 대화기록에 포함시키는 단계를 더 포함하는 학습 방법.
  10. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 포함하는 메모리,
    상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    복수의 대화 문장(conversation sentence)을 획득하고,
    상기 복수의 대화 문장들의 유사도를 바탕으로 상기 복수의 대화 문장에 대한 복수의 클러스터를 획득하고,
    사용자로부터 입력 문장이 획득되면, 상기 입력 문장에 대한 응답 문장을 제공하기 위해 학습된 인공지능 모델에 상기 입력 문장을 입력하여 상기 복수의 클러스터 중 하나를 선택하고,
    상기 선택된 클러스터에 속한 대화 문장 중 하나의 대화 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하고,
    상기 제공된 응답 문장에 대한 보상 값을 획득하고,
    상기 보상 값을 바탕으로 상기 인공지능 모델의 가중치를 업데이트 하는 전자 장치.
  11. 제10항에 있어서,
    상기 복수의 대화 문장 각각에는 의도(mean) 또는 키워드(keyword)가 태깅(tagging)되지 않은 것을 특징으로 하는 것인 전자 장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    상기 복수의 대화 문장간의 유사도를 획득하고,
    상기 유사도를 바탕으로 상기 복수의 대화 문장을 군집화하여 복수의 클러스터를 획득하는 것을 특징으로 하는 전자 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    대화기록을 획득하고,
    상기 응답 문장과 상기 대화기록을 비교하여 상기 응답 문장에 대한 보상 값을 획득하는 전자 장치.
  14. 제10항에 있어서,
    상기 프로세서는,
    상기 응답 문장이 제공될 때 마다 보상 값을 획득하고,
    상기 획득한 보상 값의 누적 값이 최대가 되도록 상기 가중치를 업데이트 하는 전자 장치.
  15. 제10항에 있어서,
    상기 프로세서는,
    상기 업데이트된 가중치를 상기 인공지능 모델에 적용하고,
    상기 가중치가 적용된 인공지능 모델을 바탕으로 사용자로부터 입력 문장이 획득되면, 상기 클러스터 중 하나를 선택하고 상기 선택된 클러스터에 속한 대화 문장 중 하나의 문장을 상기 사용자의 입력 문장에 대한 응답 문장으로 제공하는 전자 장치.
  16. 제15항에 있어서,
    상기 프로세서는,
    기 설정된 확률로 상기 복수의 클러스터 중 하나를 무작위로 선택하고,
    상기 복수의 클러스터 중 하나를 무작위로 선택하지 않을 경우, 상기 입력 문장에 대한 상기 인공지능 모델의 출력 값이 최대인 클러스터를 선택하는 전자 장치.
  17. 제10항에 있어서,
    상기 프로세서는,
    상기 입력 문장을 음성 또는 텍스트로 입력 받고,
    상기 응답 문장을 음성 또는 텍스트로 제공하는 전자 장치.
  18. 제13항에 있어서,
    상기 프로세서는,
    상기 획득된 입력 문장 및 응답 문장을 상기 대화기록에 포함시키는 전자 장치.
KR1020190084270A 2018-07-20 2019-07-12 전자 장치 및 전자 장치의 학습 방법 KR20200010061A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/518,300 US11347966B2 (en) 2018-07-20 2019-07-22 Electronic apparatus and learning method of electronic apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180084784 2018-07-20
KR20180084784 2018-07-20

Publications (1)

Publication Number Publication Date
KR20200010061A true KR20200010061A (ko) 2020-01-30

Family

ID=69322093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190084270A KR20200010061A (ko) 2018-07-20 2019-07-12 전자 장치 및 전자 장치의 학습 방법

Country Status (1)

Country Link
KR (1) KR20200010061A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832921A (zh) * 2020-06-30 2020-10-27 佛山科学技术学院 基于机器学习的工业机器人性能指标评价设备及方法
KR20210098293A (ko) * 2020-01-31 2021-08-10 한국전자인증 주식회사 대화 에이전트 시스템의 학습 방법 및 장치
WO2022177089A1 (ko) * 2021-02-17 2022-08-25 삼성전자주식회사 전자 장치 및 그 제어 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098293A (ko) * 2020-01-31 2021-08-10 한국전자인증 주식회사 대화 에이전트 시스템의 학습 방법 및 장치
CN111832921A (zh) * 2020-06-30 2020-10-27 佛山科学技术学院 基于机器学习的工业机器人性能指标评价设备及方法
CN111832921B (zh) * 2020-06-30 2023-09-26 佛山科学技术学院 基于机器学习的工业机器人性能指标评价设备及方法
WO2022177089A1 (ko) * 2021-02-17 2022-08-25 삼성전자주식회사 전자 장치 및 그 제어 방법

Similar Documents

Publication Publication Date Title
US11568260B2 (en) Exponential modeling with deep learning features
CN111602148B (zh) 正则化神经网络架构搜索
US20200242402A1 (en) Method and apparatus for recognizing object
US11553075B2 (en) Apparatus and control method for recommending applications based on context-awareness
US20190297381A1 (en) Artificial intelligence device and operating method thereof
KR102444932B1 (ko) 이미지를 암호화하여 외부 서버에 업로드하기 위한 전자 장치 및 이의 제어 방법
KR20220133147A (ko) 이미지를 암호화하여 외부 서버에 업로드하기 위한 전자 장치 및 이의 제어 방법
US11164565B2 (en) Unsupervised learning system and method for performing weighting for improvement in speech recognition performance and recording medium for performing the method
WO2020159890A1 (en) Method for few-shot unsupervised image-to-image translation
KR20200010061A (ko) 전자 장치 및 전자 장치의 학습 방법
US20190228294A1 (en) Method and system for processing neural network model using plurality of electronic devices
KR102607208B1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
KR20200046188A (ko) 인공 지능 모델을 재구성하기 위한 전자 장치 및 그의 제어 방법
KR102663375B1 (ko) 음성 및 영상 자동 포커싱 방법 및 장치
KR102438784B1 (ko) 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
US11853901B2 (en) Learning method of AI model and electronic apparatus
US11458624B2 (en) Control server and method for controlling robot using artificial neural network, and robot implementing the same
CN113039555A (zh) 通过使用基于注意力的神经网络在视频剪辑中进行动作分类
KR102377992B1 (ko) Ai 기반 템플릿 조합을 통한 사용자 맞춤형 광고 컨텐츠 제공 플랫폼을 제공하는 방법, 이를 위한 프로그램 및 시스템
US20220249906A1 (en) On-device activity recognition
KR20190140519A (ko) 전자 장치 및 그의 제어방법
KR102206181B1 (ko) 단말기 및 그의 동작 방법
US20190251355A1 (en) Method and electronic device for generating text comment about content
CN111512299A (zh) 用于内容搜索的方法及其电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal