KR102199423B1 - 심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법 - Google Patents

심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법 Download PDF

Info

Publication number
KR102199423B1
KR102199423B1 KR1020180140321A KR20180140321A KR102199423B1 KR 102199423 B1 KR102199423 B1 KR 102199423B1 KR 1020180140321 A KR1020180140321 A KR 1020180140321A KR 20180140321 A KR20180140321 A KR 20180140321A KR 102199423 B1 KR102199423 B1 KR 102199423B1
Authority
KR
South Korea
Prior art keywords
text
unit
machine learning
data
conversation
Prior art date
Application number
KR1020180140321A
Other languages
English (en)
Other versions
KR20190125154A (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 아토머스 주식회사
Publication of KR20190125154A publication Critical patent/KR20190125154A/ko
Application granted granted Critical
Publication of KR102199423B1 publication Critical patent/KR102199423B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Child & Adolescent Psychology (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Psychology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Developmental Disabilities (AREA)
  • Educational Technology (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Data Mining & Analysis (AREA)
  • Social Psychology (AREA)
  • Pathology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)

Abstract

본 개시는 전문 상담자의 심리 상담 데이터를 기계학습하여 학습모델을 획득하고, 사용자가 작성한 텍스트에 기계학습모델을 적용하여 사용자에게 자동으로 심리 상담 글을 생성하는 방법 및 장치에 관한 것이다. 심리 상담 데이터를 기계 학습한 자동 대화 방법은 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계, 기계학습을 위하여 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계, 및 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계포함할 수 있다. 수신된 텍스트는 상담자와 상기 사용자의 대화 텍스트를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 전문 상담자의 응답 텍스트인 제 2 텍스트를 포함한다. 자동대화장치는 제 1 텍스트와 제 2 텍스트의 상관 관계를 기계학습한다.

Description

심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법 {An apparatus for machine learning the psychological counseling data and a method thereof}
본 개시는 전문 상담자의 심리 상담 데이터를 기계학습하여 학습모델을 획득하는 방법 및 장치에 관한 것이다. 또한, 사용자가 작성한 텍스트를 학습모델에 적용하여 사용자에게 자동으로 심리 상담 글을 생성하는 방법 및 장치에 관한 것이다.
삭제
정신건강치료 산업은 급격히 성장하고 있으며, 전문 상담자 대신 자동으로 심리 상담을 해주는 자동 대화 장치에 대한 수요가 증가하고 있다. 사용자와 자동 대화 장치가 자연스럽게 대화를 나누기 위해서, 자동 대화 장치는 사용자의 의도를 파악하고, 폭넓은 범위의 주제에 대한 응답을 사용자에게 제시할 필요성이 있다. 또한, 자동 대화 장치는 사용자의 유사한 발화에 대해서 다양한 응답을 생성하여 사용자의 몰입도를 높일 필요성이 있다. 또한, 자동 대화 장치가 기계학습을 할 때, 심리상담과 관련된 내용을 학습하도록 하여, 사용자와 대화 시 심리상담의 주제에 벗어나지 않는 응답을 생성할 필요성이 있다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다. 기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 추론/예측, 지식 표현 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다.
본 개시는 사용자와 전문 상담자의 대화문들을 기계학습하여 학습모델을 획득하는 방법 및 장치에 관한 것이다. 또한, 학습모델에 기초하여 사용자의 대화문에 대한 응답을 생성하여, 사용자와 자연스럽게 대화하는 자동대화장치 및 방법에 관한 것이다.
삭제
본 개시의 일 실시예에 따른 자동대화장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함할 수 있다. 메모리는 적어도 하나의 프로그램이 프로세서에서 실행될 때, 프로세서가, 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계, 기계학습을 위하여 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계, 및 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계를 실행하도록 하는 명령어들을 저장하고, 수신된 텍스트는 상담자와 사용자의 대화 텍스트를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 상담자의 응답 텍스트인 제 2 텍스트를 포함하고, 기계학습모델을 획득하는 단계는, 제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델을 획득하는 단계인 것을 특징으로 한다.
본 개시의 일 실시예에 따른 자동대화장치의 프로세서가 데이터 셋을 획득하는 단계를 실행하도록 하는 명령어는, 수신된 텍스트를 제 1 텍스트 및 제 2 텍스트로 구분하는 단계; 및 제 1 텍스트 및 제 2 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 포함한다.
삭제
본 개시의 일 실시예에 따른 자동대화장치의 메모리는 적어도 하나의 프로그램이 프로세서에서 실행될 때, 프로세서가, 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계, 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계, 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계, 제 2 텍스트를 출력하는 단계를 실행하도록 하는 명령어들을 저장한다.
삭제
삭제
본 개시의 일 실시예에 따른 자동대화장치의 프로세서가 데이터 셋을 획득하는 단계를 실행하도록 하는 명령어는, 제 1 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 포함한다.
삭제
본 개시의 일 실시예에 따른 자동대화장치의 프로세서가 제 2 텍스트를 자동으로 획득하는 단계를 실행하도록 하는 명령어는, 미리 학습된 기계학습모델에 기초하여 제 1 텍스트를 임베딩하여 임베딩된 제 1 텍스트를 획득하는 단계, 임베딩된 제 1 텍스트와 미리 학습된 기계학습모델에 기초하여 제 2 텍스트에 포함된 제 1 단위를 획득하는 단계, 제 2 텍스트에 포함된 제 1 단위, 임베딩된 제 1 텍스트 및 미리 학습된 기계학습모델에 기초하여 제 1 단위 다음에 오는 제 2 텍스트에 포함된 제 2 단위를 획득하는 단계를 포함하고, 제 1 단위 및 제 2 단위는 제 2 텍스트에 포함되는 형태소 또는 어절인 것을 특징으로 한다.
본 개시의 일 실시예에 따른 자동대화장치의 메모리는 적어도 하나의 프로그램이 프로세서에서 실행될 때, 프로세서가, 제 2 단위가 제 1 단위 이후에 나오는 단위로써, 적절한 정도를 나타내는 펄플렉시티(perplexity) 정보를 획득하는 단계, 및 펄플렉시티 정보가 임계값보다 높은 경우, 폴벡(fallback) 응답을 출력하는 단계를 실행하도록 하는 명령어들을 저장한다.
본 개시의 일 실시예에 따른 자동대화방법은 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계, 기계학습을 위하여 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계, 및 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계를 포함하고, 수신된 텍스트는 상담자와 사용자의 대화 텍스트를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 상담자의 응답 텍스트인 제 2 텍스트를 포함하고, 기계학습모델을 획득하는 단계는, 제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델을 획득하는 단계인 것을 특징으로 한다.
본 개시의 일 실시예에 따른 자동대화방법은 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계, 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계, 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계, 및 제 2 텍스트를 출력하는 단계를 포함한다.
또한, 상술한 바와 같은 자동대화방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 프로세서(100)의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 데이터 학습부(110)의 블록도이다.
도 3은 본 개시의 일 실시예에 따른 데이터 인식부(120)의 블록도이다.
도 4는 본 개시의 일 실시예에 따른 디바이스(400) 및 서버(420)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 5는 본 개시의 일 실시예에 따른 학습모델을 획득하는 방법에 관한 흐름도를 도시한다.
도 6은 본 개시의 일 실시예에 따른 제 1 텍스트와 제 2 텍스트를 나타낸다.
도 7 은 본 개시의 일 실시예에 따른 자동대화장치의 학습부를 나타낸 도면이다.
도 8은 본 개시의 실시예에 따라 기계학습모델을 이용하여 사용자의 대화문에 따른 응답을 생성하는 방법에 관한 흐름도이다.
도 9는 본 개시의 실시예에 따근 자동대화장치의 인식부에 대한 블록도이다.
도 10은 본 개시의 일 실시예에 따라 자동대화장치의 동작화면을 나타낸 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 프로세서(100)의 블록도이다.
도 1을 참조하면, 일부 실시예에 따른 프로세서(1300)는 데이터 학습부(110) 및 데이터 인식부(120)를 포함할 수 있다.
데이터 학습부(110)는 사용자의 대화문에 대한 응답을 생성하기 위한 기준을 학습할 수 있다. 대화문(대화 텍스트)는 사용자 또는 전문 상담자의 생각을 나타낸 음성 또는 글이다. 하나의 대화문은 상대방의 말이 끝난 후 당사자의 말이 시작될 때부터 당사자의 말이 끝날 때까지 당사자가 한 말이다. 대화문은 하나 이상의 문장일 수 있다. 대화문은 하나의 단어일 수 있다.
데이터 학습부(110)는 사용자의 대화문에 대한 응답을 생성하기 위하여 어떤 데이터를 이용할지, 데이터를 이용하여 심리 상태를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(110)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 학습모델에 적용함으로써, 사용자의 대화문에 대한 응답을 생성하기 위한 기준을 학습할 수 있다.
데이터 인식부(120)는 데이터에 기초하여 사용자의 대화문에 대한 응답을 생성할 수 있다. 데이터 인식부(120)는 학습된 데이터 학습모델을 이용하여, 소정의 데이터로부터 사용자의 대화문에 대한 응답을 생성할 수 있다. 데이터 인식부(120)는 학습에 의한 미리 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 학습모델을 이용함으로써, 소정의 데이터에 기초한 소정의 사용자의 대화문에 대한 응답을 생성할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 학습모델에 의해 출력된 결과 값은, 데이터 학습모델을 갱신하는데 이용될 수 있다.
데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부(110) 및 데이터 인식부(120)는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(110) 및 데이터 인식부(120)는 유선 또는 무선으로 통하여, 데이터 학습부(110)가 구축한 모델 정보를 데이터 인식부(120)로 제공할 수도 있고, 데이터 인식부(120)로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부(110)로 제공될 수도 있다.
한편, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 2는 본 개시의 일 실시예에 따른 데이터 학습부(110)의 블록도이다.
도 2를 참조하면, 일부 실시예에 따른 데이터 학습부(110)는 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250)를 포함할 수 있다.
데이터 획득부(210)는 사용자의 대화문에 대한 응답을 생성하는데 필요한 데이터를 획득할 수 있다. 데이터 획득부(210)는 사용자의 대화문에 대한 응답을 생성하기 위한 학습을 위하여 필요한 데이터를 획득할 수 있다. 데이터 획득부(210)는 사용자와 전문 상담자의 대화 내용을 수신할 수 있다.
사용자는 PC, 스마트폰 등과 같은 전자 단말기를 이용하여 문자로 전문 상담자와 대화를 나눌 수 있다. 또한 사용자는 스마트폰, 전화 등과 같은 음성 통신 단말기를 이용하여 음성으로 전문 상담자와 대화를 나눌 수 있다. 데이터 획득부(210)는 문자로 되어 있는 대화내용을 수신할 수 있다. 또한 데이터 획득부(210)는 음성으로 되어 있는 대화내용을 수신하고 문자로 변환할 수 있다. 학습을 위해서는 많은 데이터가 필요하므로, 데이터 획득부(210)는 복수의 사용자와 전문 상담자의 대화내용을 수신할 수 있다.
전처리부(220)는 사용자의 대화문에 대한 응답을 생성하기 위해 획득된 데이터가 기계학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(320)는 후술할 모델 학습부(240)가 사용자의 대화문에 대한 응답을 생성하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 미리 설정된 포맷으로 가공할 수 있다. 예를 들어 전처리부(320)는 사용자와 전문상담자의 대화내용을 제 1 텍스트와 제 2 텍스트로 나눌 수 있다. 제 2 텍스트는 전문 상담자의 심리 분석과 관련된 내용이 담긴 마지막 텍스트이다. 제 1 텍스트는 제 2 텍스트가 나타나기 직전에 나온 전문 상담자와 사용자의 대화문들이다.
학습 데이터 선택부(230)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(240)에 제공될 수 있다. 학습 데이터 선택부(230)는 사용자의 대화문에 대한 응답을 생성하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 예를 들어 전문 상담자의 대화문이 선택될 수 있다. 또한 전문 상담자의 대화문 직전의 소정의 개수의 전문 상담자 또는 사용자의 대화문이 선택될 수 있다. 또한, 학습 데이터 선택부(230)는 후술할 모델 학습부(240)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(240)는 학습 데이터에 기초하여 사용자의 대화문에 대한 응답을 어떻게 생성할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(240)는 사용자의 대화문에 대한 응답을 생성하기 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
또한, 모델 학습부(240)는 사용자의 대화문에 대한 응답 생성에 이용되는 데이터 학습모델을 학습 데이터로써 이용하여 학습할 수 있다. 이 경우, 데이터 학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 학습모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)에 기초하여 미리 구축된 모델일 수 있다.
데이터 학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 데이터 학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(240)는 미리 구축된 데이터 학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 학습모델을 학습할 데이터 학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(240)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 학습모델을 학습시킬 수 있다.
또한, 모델 학습부(240)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 학습모델을 학습할 수 있다. 또한, 모델 학습부(240)는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 학습모델을 학습할 수 있다. 또한, 모델 학습부(240)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 학습모델을 학습할 수 있다.
또한, 데이터 학습모델이 학습되면, 모델 학습부(240)는 학습된 데이터 학습모델을 저장할 수 있다. 이 경우, 모델 학습부(240)는 학습된 데이터 학습모델을 데이터 인식부(120)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(240)는 학습된 데이터 학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(250)는 데이터 학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(240)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(250)는 평가 데이터에 대한 학습된 데이터 학습모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(250)는 학습된 데이터 학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 학습모델이 복수 개가 존재하는 경우, 모델 평가부(250)는 각각의 학습된 동영상 학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(250)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 학습모델로써 결정할 수 있다.
한편, 데이터 학습부(110) 내의 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(210), 전처리부(220), 학습 데이터 선택부(230), 모델 학습부(240) 및 모델 평가부(250) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 3은 본 개시의 일 실시예에 따른 데이터 인식부(120)의 블록도이다.
도 3을 참조하면, 일부 실시예에 따른 데이터 인식부(120)는 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350)를 포함할 수 있다.
데이터 획득부(310)는 사용자의 대화문에 대한 응답을 생성하기 위해 필요한 데이터를 획득할 수 있으며, 전처리부(320)는 사용자의 대화문에 대한 응답을 생성하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(320)는 후술할 인식 결과 제공부(340)가 사용자의 대화문에 대한 응답을 생성하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(330)는 전처리된 데이터 중에서 사용자의 대화문에 대한 응답을 생성에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(340)에게 제공될 수 있다. 인식 데이터 선택부(330)는 사용자의 대화문에 대한 응답을 생성하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(330)는 모델 학습부(240)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(340)는 선택된 데이터를 데이터 학습모델에 적용하여 사용자의 대화문에 대한 응답을 생성할 수 있다. 인식 결과 제공부(340)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(340)는 인식 데이터 선택부(330)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 학습모델에 적용할 수 있다. 또한, 인식 결과는 데이터 학습모델에 의해 결정될 수 있다.
모델 갱신부(350)는 인식 결과 제공부(340)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 학습모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부(350)는 인식 결과 제공부(340)에 의해 제공되는 인식 결과를 모델 학습부(240)에게 제공함으로써, 모델 학습부(240)가 데이터 학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(120) 내의 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 4는 본 개시의 일 실시예에 따른 디바이스(400) 및 서버(420)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 4를 참조하면, 서버(420)는 사용자의 대화문에 대한 응답을 생성하기 위한 기준을 학습할 수 있으며, 디바이스(400)는 서버(420)에 의한 학습 결과에 기초하여 사용자의 대화문에 대한 응답을 생성할 수 있다.
이 경우, 서버(420)의 모델 학습부(430)는 도 2에 도시된 데이터 학습부(110)의 기능을 수행할 수 있다. 서버(420)의 모델 학습부(430)는 사용자의 대화문에 대한 응답을 생성하기 위하여 어떤 데이터를 이용할지, 데이터를 이용하여 사용자의 대화문에 대한 응답을 어떻게 생성할지에 관한 기준을 학습할 수 있다. 모델 학습부(430)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 학습모델에 적용함으로써, 사용자의 대화문에 대한 응답을 생성하기 위한 기준을 학습할 수 있다.
또한, 디바이스(400)의 인식 결과 제공부(404)는 인식 데이터 선택부(403)에 의해 선택된 데이터를 서버(420)에 의해 생성된 데이터 학습모델에 적용하여 사용자의 대화문에 대한 응답을 생성할 수 있다. 예를 들어, 인식 결과 제공부(404)는 인식 데이터 선택부(403)에 의해 선택된 데이터를 서버(420)에게 전송하고, 서버(420)가 인식 데이터 선택부(403)에 의해 선택된 데이터를 학습모델에 적용하여 사용자의 대화문에 대한 응답을 생성할 것을 요청할 수 있다. 또한, 인식 결과 제공부(404)는 서버(420)에 의해 생성된 사용자의 대화문에 대한 응답에 관한 정보를 서버(420)로부터 수신할 수 있다.
또는, 디바이스(400)의 인식 결과 제공부(404)는 서버(420)에 의해 생성된 학습모델을 서버(420)로부터 수신하고, 수신된 학습모델을 이용하여 사용자의 대화문에 대한 응답을 생성할 수 있다. 이 경우, 디바이스(400)의 인식 결과 제공부(404)는 인식 데이터 선택부(403)에 의해 선택된 데이터를 서버(420)로부터 수신된 데이터 학습모델에 적용하여 사용자의 대화문에 대한 응답을 생성할 수 있다.
도 4는 디바이스(400)에 인식부(410)를 포함하고, 서버(420)에 학습부(430)를 포함하는 구성을 기재하였으나 이에 한정되는 것은 아니다. 디바이스(400)는 서버(420)와 다른 서버로 구현될 수 있다. 사용자는 디바이스(400)로부터 인식 결과 정보만 수신할 수 있다.
도 5는 본 개시의 일 실시예에 따른 학습모델을 획득하는 방법에 관한 흐름도를 도시한다.
자동대화장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함할 수 있다. 자동대화장치의 메모리는 프로세서에서 실행될 수 있는 적어도 하나의 프로그램을 저장할 수 있다.
자동대화장치는 전문 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계(510)를 수행할 수 있다. 자동대화장치는 기계학습을 위하여 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계(520)를 수행할 수 있다. 자동대화장치는 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계(530)를 수행할 수 있다. 수신된 텍스트는 전문 상담자와 사용자의 대화문(대화 텍스트)를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 전문 상담자의 응답 텍스트인 제 2 텍스트를 포함할 수 있다. 기계학습모델을 획득하는 단계(530)는 제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델을 획득하는 단계일 수 있다.
자동대화장치에 포함된 데이터 획득부(210)는 전문 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계(510)를 수행할 수 있다. 자동대화장치는 전문 상담자와 사용자의 대화 텍스트를 수신하기 위하여 상담 이론에 의한 주관식, 객관식 질문 셋(Q)을 사용자에게 제공할 수 있다. 자동대화장치는 사용자로부터 질문 셋에 대한 응답(R)을 수신할 수 있다. 자동대화장치는 전문 상담자로부터 사용자의 응답(R)에 대한 유형화된 응답(F)을 수신할 수 있다. 전문 상담자는 상담 매뉴얼에 따라 다양한 응답(F)을 사용자에게 제공할 수 있다.
자동대화장치는 객관식 질문 셋(Q)을 사용자에게 제공하고, 사용자로부터 질문 셋에 대한 응답(R)을 수신하고, 전문 상담자로부터 유형화된 응답(F)을 수신할 수 있다. 질문 셋(Q), 응답(R) 및 응답(F)은 구조가 유형화 되어 있으므로 자동대화장치의 학습부(110)는 기계학습을 신속하고 정확하게 수행할 수 있다.
또한, 자동대화장치는 질문 셋(Q)을 먼저 제시하고, 질문 셋(Q)은 특정 주제 또는 사용자의 특정 감정과 관련되어 있을 수 있다. 특정 주제는 사용자의 고민의 내용에 관련된 것으로서, 가족, 외모, 성, 결혼, 육아, 연애, 학교, 학업, 취업, 진로, 직장 등을 포함할 수 있다. 또한 특정 감정은 사용자의 심리 상태에 대한 것으로서, 기쁨(joy) 대 슬픔 (sadness), 분노(anger) 대 공포(fear), 신뢰(trust) 대 혐오(disgust), 및 놀람(surprise) 대 기대(anticipation)에 대한 것일 수 있다.
자동대화장치의 학습부(110)는 질문 셋(Q)을 먼저 제시함으로써, 특정 주제 또는 특정 감정에 대한 기계학습모델을 생성할 수 있다. 예를 들어, 사용자는 자동대화장치가 특정 주제 또는 특정 감정에 대한 질문 셋(Q)을 제시한 경우, 사용자는 특정 주제에 관련된 응답(R)을 작성할 수 있다. 또한 전문 상담자는 사용자의 응답(R)에 대하여 특정 주제 또는 특정 감정에 관련된 응답을 제공할 수 있다. 자동대화장치는 특정 주제 또는 특정 감정에 대한 질문 셋(Q), 응답(R) 및 응답(F)을 기계학습하여, 기계학습모델을 생성할 수 있다.
또한, 자동대화장치의 인식부(120)는 사용자의 대화 텍스트에 학습된 기계학습모델을 적용하여, 사용자의 대화 텍스트에 대한 응답 텍스트를 생성할 수 있다. 데이터 셋이 유형화 되어 있으므로 자동대화장치의 인식부의 응답 텍스트는 사용자에게 부정적인 반응을 유발하지 않을 수 있고, 심리상담에 대한 주제를 다룰 수 있다.
자동대화장치는 사용자와 전문 상담자들이 실시간 채팅 상담의 로그를 수신할 수 있다. 자동대화장치는 사용자와 전문 상담자들의 실시간 대화문들을 학습하여, 학습모델을 획득할 수 있다. 자동대화장치는 학습모델에 기초하여 사용자의 자유로운 대화문에 응답할 수 있다.
자동대화장치에 포함된 전처리부(220)는 기계학습을 위하여 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계(520)를 수행할 수 있다. 자동대화장치는 수신된 텍스트를 제 1 텍스트 및 제 2 텍스트로 구분하는 단계를 수행할 수 있다. 제 2 텍스트는 전문 상담자의 응답으로써 수신된 텍스트의 가장 마지막에 온 대화문일 수 있다. 제 1 텍스트는 제 2 텍스트 이전의 적어도 하나의 대화문들일 수 있다.
자동대화장치는 제 1 텍스트 및 제 2 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 수행할 수 있다. 자동대화장치는 제 1 텍스트 및 제 2 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하고, 각각의 단위의 시작점과 끝점을 나타내는 기호를 삽입할 수 있다. 예를 들어 자동대화장치는 제 1 텍스트 및 제 2 텍스트를 형태소로 나누고 하나의 형태소의 시작점에 시작을 나타내는 기호를 삽입할 수 있다. 또한 형태소의 끝점에 끝을 나타내는 기호를 삽입할 수 있다.
시작을 나타내는 기호와 끝을 나타내는 기호는 다를 수 있다. 하지만 이에 한정되는 것은 아니고 시작을 나타내는 기호와 끝을 나타내는 기호는 같을 수 있다. 하나의 단위의 끝을 나타내는 기호는 다른 단위의 시작을 나타내는 기호가 될 수 있기 때문이다.
자동대화장치는 서로 다른 단위를 구분하기 위하여, 서로 다른 기호를 사용할 수 있다. 예를 들어 단어를 구분하는 기호는 문장을 구분하는 기호와 다를 수 있다. 자동대화장치는 기호의 종류에 기초하여 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위를 이용하여 학습을 수행할 수 있다.
자동대화장치는 동일한 음을 가지는 음소, 음절, 형태소 또는 단어이지만 서로 다른 의미를 가지는 음소, 음절, 형태소 또는 단어를 구별하기 위하여, 음소, 음절, 형태소 또는 단어에 주석문자를 추가할 수 있다. 예를 들어 "가"는 조사일 수도 있고 "가다"의 "가"일 수 있다. 자동대화장치는 형태소의 하나인 조사 "가"에는 "XXX"를 추가하고 동사 "가"에는 XXY를 추가할 수 있다. 하지만 이에 한정되는 것은 아니다. 같은 음을 가지지만 다른 뜻을 가지는 음소, 음절, 형태소 또는 단어를 구별하기 위한 다양한 방법이 사용될 수 있다
자동대화장치에 포함된 학습 데이터 선택부(230)는 모델 학습을 위하여 사용할 텍스트를 선택할 수 있다. 도 2는 학습 데이터 선택부(230)가 전처리부(220) 이후에 기재되어 있으나, 이에 한정되는 것은 아니다. 학습 데이터 선택부(230)의 동작 수행 이후에 전처리부(220)의 동작이 수행될 수 있다.
학습 데이터 선택부(230)에 대해서는 도 6과 함께 보다 자세히 설명한다.
도 6은 본 개시의 일 실시예에 따른 제 1 텍스트와 제 2 텍스트를 나타낸다.
자동대화장치는 전문 상담자와 사용자의 자유로운 실시간 상담 텍스트를 수신할 수 있다. 화면(600)은 자동대화장치가 수신한 전문 상담자와 사용자의 자유로운 실시간 상담 텍스트의 일 예시이다. 자동대화장치는 실시간 상담 텍스트 중에서 심리 상담과 관련된 텍스트를 선택할 수 있다.
자동대화장치는 미리 학습된 학습모델을 이용하여 심리 상담과 관련된 텍스트를 선택할 수 있다. 예를 들어, 미리 학습된 학습모델은 복수의 전문 상담자의 대화 텍스트를 학습한 모델일 수 있다. 자동대화장치는 미리 학습된 학습모델에 기초하여, 전문 상담자의 대화 텍스트와 전문 상담자의 대화 텍스트가 아닌 것을 구분할 수 있다. 자동대화장치는 미리 학습된 학습모델에 기초하여 실시간 상담 텍스트들 중 전문 상담자의 대화 텍스트(620)를 선택할 수 있다.
또한 전문 상담자의 대화 텍스트 이전의 대화 텍스트들(610)을 함께 선택할 수 있다. 자동대화장치는 소정의 개수의 대화 텍스트들(610)을 선택할 수 있다. 예를 들어 선택된 대화 텍스트들은 3개의 대화 텍스트들(610)일 수 있다. 선택된 전문 상담자의 대화 텍스트는 제 2 텍스트(620)가 될 수 있다. 또한 전문 상담자의 대화 텍스트 이전의 대화 텍스트들은 제 1 텍스트(610)가 될 수 있다.
자동대화장치는 모델 학습을 위하여 사용할 텍스트를 자동으로 선택할 수 있으나 이에 한정되는 것은 아니다. 자동대화장치는 모델 학습을 위하여 사용할 텍스트를 사용자로부터 입력받을 수 있다. 자동대화장치는 입력받은 텍스트들의 마지막에 기재되어 있는 전문 상담자의 텍스트를 제 2 텍스트(620)로 결정할 수 있다. 또한 제 2 텍스트 이전의 텍스트를 제 1 텍스트(610)로 결정할 수 있다.
자동대화장치의 학습부(110)는 제 1 텍스트 및 제 2 텍스트에 기초하여 제 1 텍스트와 제 2 텍스트의 상관관계에 대한 기계학습모델을 획득할 수 있다. 자동대화장치(700)는 제 1 텍스트에 포함된 형태소/어절, 하나의 대화 텍스트, 또는 복수의 대화 텍스트에 대한 제 2 텍스트에 대한 관계를 기계학습모델로 획득할 수 있다. 기계학습모델은 자동대화장치의 인식부(120)로 전송될 수 있다. 상술한 바와 같이 학습부(110)와 인식부(120)는 동일 장치에 포함 수 있으며, 서로 다른 장치에 포함될 수 있다.
또한, 자동대화장치는 사용자와 전문 상담자의 대화의 주제 및 사용자의 감정을 획득할 수 있다. 자동대화장치는 미리 학습된 기계학습모델에 기초하여 제 1 텍스트 및 제 2 텍스트로부터 사용자와 전문 상담자의 대화 내용의 주제 및 사용자의 감정을 자동으로 판단 할 수 있다. 주제는 사용자의 고민의 내용에 관련된 것으로서, 가족, 외모, 성, 결혼, 육아, 연애, 학교, 학업, 취업, 진로, 직장 등을 포함할 수 있다. 또한 감정은 사용자의 심리 상태에 대한 것으로서, 기쁨(joy) 대 슬픔 (sadness), 분노(anger) 대 공포(fear), 신뢰(trust) 대 혐오(disgust), 및 놀람(surprise) 대 기대(anticipation)에 대한 것일 수 있다.
자동대화장치는 제 1 텍스트 및 제 2 텍스트에 대한 주제 및 사용자의 감정을 수신할 수 있다. 자동대화장치는 대화의 주제 또는 사용자의 감정 중 적어도 하나를 더 이용하여 제 1 텍스트와 대한 제 2 텍스트의 상관관계에 대한 기계학습모델을 획득할 수 있다.
이하에서는 도 7과 함께 자동대화장치의 학습부(110)에 대하여 설명한다.
도 7 은 본 개시의 일 실시예에 따른 자동대화장치의 학습부를 나타낸 도면이다.
자동대화장치(700)에 포함된 모델 학습부(710)는 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 데이터 셋을 기계학습하여 기계학습모델(712)을 획득하는 단계(530)를 수행할 수 있다.
계층적 인코더-디코더 모형은 데이터 셋으로 계층적으로 학습하는 모형이다. 인코더는 사용자와 전문 상담자의 대화문에 기초하여 기계학습모델(712)을 생성하는 과정을 나타낸다. 디코더는 사용자의 대화문을 기계학습모델(712)에 적용하여 사용자의 대화문에 이어질 자연스러운 응답을 생성하는 과정을 나타낸다.
데이터 셋에 포함된 데이터는 기계학습되어 {A1, A2, A3, A4, … Ak}와 같은 벡터 또는 메트릭스로 표현될 수 있다. A1, A2, A3, A4, … Ak는 각각 숫자일 수 있다. A1, A2, A3, A4, … Ak는 각각 실수 값을 가질 수 있다. k는 k차원으로 인코딩된 것을 의미한다. 데이터를 벡터로 표현하는 것을 임베딩이라고 할 수 있다. 단어 단위를 벡터로 표현한 것을 단어 임베딩이라고 할 수 있다. 또한 텍스트 단위를 벡터로 표현한 것을 텍스트 임베딩이라고 할 수 있다.
자동대화장치(700)는 단어 임베딩을 위하여 word2vec, fastText, GloVe, 음절 단위 word2vec 또는 자모 단위 word2vec 와 같은 알고리즘을 사용할 수 있다. 하지만 이에 한정되지 않고, 단어 임베딩을 위한 다양한 알고리즘들이 사용될 수 있다.
또한 자동대화장치(700)는 텍스트 임베딩을 위하여 Word Mover's Distance(WMD) 및 doc2vec 알고리즘을 사용할 수 있다. 하지만 이에 한정되지 않고, 텍스트 임베딩을 위한 다양한 알고리즘들이 사용될 수 있다.
자동대화장치(700)는 기계학습을 위하여 Recurrent Neural Networks (RNN)에 Long Short-Term Memory models(LSTM) 또는 Gated Recurrent Unit(GRU)라는 모듈을 추가하여 사용할 수 있다. LSTM 및 GRU는 RNN의 일종으로서 RNN의 장기 의존성 문제를 해결하기 위한 알고리즘이다. 또한 기본적인 모형을 개선하기 위하여 일방향성 기계학습을 역방향으로 수행해볼 수 있다. 또한 일방향성 기계학습을 양방향으로 수행해볼 수 있다.
자동대화장치(700)는 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 계층으로 기계학습을 수행할 수 있다. 자동대화장치(700)는 제 1 텍스트에 포함된 형태소/어절, 하나의 대화 텍스트, 또는 복수의 대화 텍스트에 대한 제 2 텍스트에 대한 관계를 기계학습모델로 획득할 수 있다.
음소, 음절, 형태소, 단어, 어절 또는 문장은 각각 계층 단위가 될 수 있다. 음소에서 음절, 형태소, 단어, 어절 및 문장으로 갈수록 하위 계층 단위에서 상위 계층 단위일 수 있다. 본 개시의 일 실시예에 따르면, 최하위 계층은 음절 또는 어절일 수 있다.
상위 계층을 이용하여 학습된 학습모델이 하위 계층을 이용하여 학습된 학습모델에 영향을 줄 수 있다. 반대로 하위 계층을 이용하여 학습된 학습모델이 상위 계층을 이용하여 학습된 학습모델에 영향을 줄 수 있다.
자동대화장치(700)는 제 1 텍스트의 상위 계층 단위와 제 2 텍스트의 상관관계를 기계학습을 수행하여, 제 1 텍스트의 상위 계층 단위에 대한 가중치를 획득하는 단계를 수행할 수 있다. 자동대화장치(700)는 제 1 텍스트의 하위 계층 단위와 제 2 텍스트의 상관관계를 기계학습을 수행하여, 제 1 텍스트의 하위 계층 단위에 대한 가중치를 획득하는 단계를 수행할 수 있다. 자동대화장치(700)는 상위 계층 단위에 대한 가중치 및 하위 계층 단위에 대한 가중치에 기초하여 수정된 하위 계층 단위에 대한 가중치를 획득하는 단계를 수행할 수 있다. 계층 단위는 음소, 음절, 형태소, 단어, 어절 및 문장으로 갈수록 하위 계층 단위에서 상위 계층 단위일 수 있다.
하위 계층 단위만으로 학습모델을 획득하는 경우 상위 계층 단위의 자연스러운 흐름이 학습모델에 반영되지 않을 수 있다. 또한 상위 계층 단위만으로 학습모델을 획득하는 경우 하위 계층 단위의 자연스러운 흐름이 학습모델에 반영되지 않을 수 있다. 자동대화장치는 계층적 인코더-디코더 모형을 이용하여 자연스러운 응답을 생성할 수 있다.
주목 메커니즘(attention mechanism)은 시퀀스 대 시퀀스 기반의 딥러닝(sequence to sequence based deep learning)에 사용되는 메커니즘이다. 시퀀스 대 시퀀스 기반의 딥러닝은 RNN(Recurrent Neural Network, 순환신경망)을 사용하여 문장을 학습하는 기법이다. 시퀀스 대 시퀀스 기반의 딥러닝은 시퀀스가 길어질수록 과거 상태를 기억하지 못하는 단점이 존재한다. 따라서 주목 메커니즘은 별도의 네트워크를 이용하여 자동대화장치가 결과를 도출하기 위해 주목해야하는 부분을 강조하는데 목적이 있다.
자동대화장치(700)의 학습부(710)는 주목 메커니즘을 사용할 수 있다. 자동대화장치는 제 1 텍스트와 제 2 텍스트의 상관관계에 대한 기계학습모델(712)을 학습할 수 있다. 자동대화장치(700)는 기계학습에서 제 1 텍스트에 포함된 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나에 주목할 수 있다. 왜냐하면, 제 1 텍스트에 포함된 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위가 제 2 텍스트와 가장 관련이 높을 수 있기 때문이다. 예를 들어 제 1 텍스트에 "우울"이라는 단어가 포함되어있고, 제 2 텍스트는 우울증에 도움이 되는 전문 상담자의 대화 텍스트일 수 있다. 제 1 텍스트의 "우울"이라는 단어는 제 2 텍스트를 도출하는데 가장 높은 영향을 미칠 수 있다. 따라서 자동대화장치의 학습부(110)는 제 1 텍스트의 "우울"이라는 단어에 집중하여 기계학습모델(712)을 생성할 수 있다.
자동대화장치의 인식부는 주목 메커니즘을 사용할 수 있다. 자동대화장치는 학습부(710)로부터 수신한 기계학습모델(712)을 저장할 수 있다. 자동대화장치는 사용자로부터 대화문을 수신할 수 있다. 사용자로부터 수신한 대화문은 제 1 텍스트에 대응될 수 있다. 자동대화장치는 제 1 텍스트를 학습모델에 적용하여 응답 텍스트를 생성할 수 있다. 응답 텍스트는 제 2 텍스트에 대응될 수 있다. 자동대화장치에 저장되어 있는 학습모델은 주목 메커니즘에 의하여 생성된 학습모델이므로, 제 1 텍스트의 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나에 집중하여 제 2 텍스트를 생성할 수 있다.
또한, 자동대화장치(700)는 사용자와 전문 상담자의 대화의 주제, 사용자의 감정 및 제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델(712)을 획득하는 단계를 수행할 수 있다. 자동대화장치는 미리 학습된 기계학습모델에 기초하여 제 1 텍스트 및 제 2 텍스트로부터 사용자와 전문 상담자의 대화 내용의 주제 및 사용자의 감정을 자동으로 판단할 수 있다. 주제는 사용자의 고민의 내용에 관련된 것으로서, 가족, 외모, 성, 결혼, 육아, 연애, 학교, 학업, 취업, 진로, 직장 등을 포함할 수 있다. 또한 감정은 사용자의 심리 상태에 대한 것으로서, 기쁨(joy) 대 슬픔 (sadness), 분노(anger) 대 공포(fear), 신뢰(trust) 대 혐오(disgust), 및 놀람(surprise) 대 기대(anticipation)에 대한 것일 수 있다. 하지만 이에 한정되는 것은 아니며, 자동대화장치는 제 1 텍스트 및 제 2 텍스트에 대한 주제 및 사용자의 감정을 수신할 수 있다. 자동대화장치는 대화의 주제 또는 사용자의 감정 중 적어도 하나를 더 이용하여 제 1 텍스트와 대한 제 2 텍스트의 상관관계에 대한 기계학습모델을 획득할 수 있다.
자동대화장치(700)는 제 1 텍스트, 사용자의 활동 로그 및 심리 프로파일과 제 2 텍스트의 상관 관계에 대한 기계학습모델(712)을 획득하는 단계를 수행할 수 있다. 사용자의 활동 로그는 게시글 열람, 댓글, 공감 및 북마크 중 적어도 하나를 포함할 수 있다. 심리 프로파일은 사용자의 성별, 나이, 성향 프로파일 및 성격형 테스트 결과 중 적어도 하나를 포함할 수 있다. 자동대화장치(700)의 학습부(710)는 사용자의 활동 로그 및 심리 프로파일을 기계학습하여 기계학습모델(712)을 생성하므로, 자동대화장치(700)의 인식부는 기계학습모델(712)을 사용하여 사용자의 상황에 더 적절한 응답을 생성할 수 있다.
도 8은 본 개시의 실시예에 따라 기계학습모델을 이용하여 사용자의 대화문에 따른 응답을 생성하는 방법에 관한 흐름도이다.
자동대화장치는 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계(810)를 수행한다. 자동대화장치는 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계(820)를 수행한다. 자동대화장치는 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계(830)를 수행한다. 자동대화장치는 제 2 텍스트를 출력하는 단계(840)를 수행한다.
도 9는 본 개시의 실시예에 따근 자동대화장치의 인식부에 대한 블록도이다.
자동대화장치(900)는 인식부(910)를 포함할 수 있다. 인식부(910)는 학습부(710)와 동일한 장치에 포함될 수 있다. 하지만 이에 한정되는 것은 아니며 학습부(710)는 인식부(910)와 서로 다른 장치에 존재할 수 있다. 학습부(710)는 기계학습모델을 인식부(910)에 제공할 수 있다.
인식부(910)는 도 3에서 설명한 바와 같이 데이터 획득부(310), 전처리부(320), 인식 데이터 선택부(330), 인식 결과 제공부(340) 및 모델 갱신부(350)를 포함할 수 있다. 인식부(910)는 제 1 텍스트(911)를 수신하여 제 2 텍스트(912)를 출력할 수 있다.
자동대화장치에 포함된 데이터 획득부(310)는 상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계(810)를 수행할 수 있다. 추가적으로 자동대화장치는 사용자의 활동 로그 및 심리 프로파일을 수신할 수 있다. 사용자의 활동 로그는 게시글 열람, 댓글, 공감 및 북마크 중 적어도 하나를 포함할 수 있다. 심리 프로파일은 사용자의 성별, 나이, 성향 프로파일 및 성격형 테스트 결과 중 적어도 하나를 포함할 수 있다.
자동대화장치에 포함된 전처리부(320)는 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계(820)를 수행할 수 있다. 자동대화장치는 제 1 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 수행할 수 있다.
자동대화장치에 포함된 인식데이터 선택부(330)는 사용자로부터의 대화 텍스트 중 일부 텍스트를 선택할 수 있다. 자동대화장치는 마지막 사용자의 대화 텍스트를 선택할 수 있다. 자동대화장치는 사용자의 대화 텍스트를 제 1 텍스트로 결정할 수 있다. 또한 자동대화장치는 마지막 사용자의 대화 텍스트 및 자동대화장치가 미리 생성한 질문 텍스트를 제 1 텍스트로 설정할 수 있다.
자동대화장치에 포함된 인식 결과 제공부(340)는 주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계(830)를 수행할 수 있다.
도 10은 본 개시의 일 실시예에 따라 자동대화장치의 동작화면을 나타낸 도면이다.
자동대화장치의 화면(1000)은 제 1 텍스트를 나타내고 있다. 제 1 텍스트는 자동대화장치의 대화 텍스트(1011) 및 사용자의 대화 텍스트(1012)를 포함할 수 있다.
자동대화장치는 학습부(110)에서 미리 학습한 기계학습모델을 수신할 수 있다. 기계학습모델은 주목 메커니즘을 동반한 계층적 인코더-디코더 모형에 기초하여 생성된 모델일 수 있다. 자동대화장치는 제 1 텍스트(1011, 1012)에 기계학습모델을 적용하여 제 2 텍스트(1060)를 생성할 수 있다. 제 2 텍스트(1060)는 전문 상담자의 대화를 모방한 대화 텍스트일 수 있다.
자동대화장치는 미리 학습된 기계학습모델에 기초하여 수신된 제 1 텍스트(1011, 1012), 사용자의 활동 로그 및 심리 프로파일로부터 제 2 텍스트(1060)를 자동으로 획득하는 단계를 수행할 수 있다. 자동대화장치는 제 1 텍스트(1011, 1012) 외에 사용자의 활동 로그 및 심리 프로파일을 이용하여 보다 자연스러운 제 2 텍스트(1060)를 생성할 수 있다.
자동대화장치가 수신한 기계학습모델은 주목 메커니즘을 동반한 계층적 인코더-디코더 모형이 반영되어 있을 수 있다. 자동대화장치는 미리 학습된 기계학습모델에 포함된 상위 계층 단위에 대한 가중치, 하위 계층 단위에 대한 가중치 및 제 1 텍스트에 기초하여 제 2 텍스트를 자동으로 획득하는 단계를 수행할 수 있다. 계층 단위는 음소, 음절, 형태소, 단어, 어절 및 문장으로 갈수록 하위 계층 단위에서 상위 계층 단위일 수 있다.
자동대화장치는 미리 학습된 기계학습모델에 기초하여 제 1 텍스트를 임베딩하여 임베딩된 제 1 텍스트를 획득할 수 있다. 상술한 바와 같이 임베딩된 제 1 텍스트는 텍스트를 벡터 또는 메트릭스 형식으로 표현한 것일 수 있다. 자동대화장치는 임베딩된 제 1 텍스트와 미리 학습된 기계학습모델에 기초하여 형태소 또는 어절 단위로 제 2 텍스트를 획득할 수 있다.
자동대화장치는 이전에 획득된 하나의 단위에 기초하여 하나의 단위 다음에 올 단위를 획득할 수 있다. 자동대화장치는 임베딩된 제 1 텍스트와 미리 학습된 기계학습모델에 기초하여 제 2 텍스트에 포함된 제 1 단위를 획득할 수 있다. 또한, 제 2 텍스트에 포함된 제 1 단위, 임베딩된 제 1 텍스트 및 미리 학습된 기계학습모델에 기초하여 제 1 단위 다음에 오는 제 2 텍스트에 포함된 제 2 단위를 획득할 수 있다. 자동대화장치는 제 1 단위, 제 2 단위, 임베딩된 제 1 텍스트 및 미리 학습된 기계학습모델에 기초하여 제 2 단위 다음의 제 3 단위를 획득할 수 있다. 제 1 단위 내지 제 3 단위는 제 2 텍스트에 포함될 수 있다. 자동대화장치는 연속된 단위를 획득하여 제 2 텍스트를 완성할 수 있다.
자동대화장치는 획득된 제 2 텍스트의 임베딩과 기준 텍스트의 임베딩의 코사인 유사도를 계산하는 단계를 수행할 수 있다. 기준 텍스트는 제 1 텍스트에 대해 알맞은 응답일 수 있다. 기준 텍스트는 메모리가 미리 저장하고 있거나, 전문 상담자, 사용자 또는 시스템 관리자로부터 수신한 텍스트일 수 있다.
또한. 기준 텍스트는 제 1 텍스트의 주제 또는 감정에 대한 것일 수 있다. 자동대화장치는 획득된 제 2 텍스트와 제 1 텍스트의 주제 또는 감정의 유사도를 계산하는 단계를 수행할 수 있다.
자동대화장치는 코사인 유사도가 임계값보다 낮은 경우, 적절한 응답을 생성하지 못했다는 메시지를 출력할 수 있다. 또한 자동대화장치는 데이터 셋에 기초하여 기계학습을 다시 수행할 수 있다. 또한, 지금까지 유사도가 낮은 경우 폴벡 응답을 출력하는 단계를 기재하였으나, 이에 한정되는 것은 아니다. 자동대화장치는 비유사도를 계산할 수 있다. 자동대화장치는 비유사도가 임계값보다 높은 경우, 폴벡(fallback) 응답을 출력하는 단계를 수행할 수 있다.
자동대화장치는 코사인 유사도 외에도 웨이티드 코사인(weighted cosine) 유사도, 아크코사인(arccosine) 유사도, 워드 무버 거리(word mover distance) 유사도 등을 이용할 수 있다. 이외에도 임베딩의 유사도를 수치화할 수 있는 다양한 알고리즘이 사용될 수 있음은 통상의 기술자에게 명확하므로 자세한 설명은 생략한다.
자동대화장치는 제 2 단위가 제 1 단위 이후에 나오는 단위로써 적절한 정도를 나타내는 펄플렉시티(perplexity) 정보를 획득하는 단계를 수행할 수 있다. 자동대화장치는 펄플렉시티 정보가 임계값보다 높은 경우, 폴벡(fallback) 응답을 출력하는 단계를 수행할 수 있다. 폴벡 응답은 사용자에게 다시 대화 텍스트를 입력하라는 응답일 수 있다. 또는 사용자의 대화 텍스트를 처리할 수 없음을 나타내는 응답일 수 있다.
제 2 텍스트가 하나의 단위씩 생성될 때마다 프로세서는 모델의 확신도를 나타내는 펄플렉시티 정보를 생성할 후 있다. 또한, 펄플렉시티 정보는 이미 생성된 제 2 텍스트의 단위들에 기초하여 새로이 생성된 제 2 텍스트의 하나의 단위가 적절한 정도를 나타낼 수 있다. 펄플렉시티 정보는 단위마다 생성되므로, 프로세서는 펄플렉시티 정보를 기계학습 모델의 품질 지표, 또는 문법성(grammaticality)의 지표로 사용할 수 있다.
예를 들어, 프로세서는 "정보"라는 단위 이후에 새로운 단위인 조사로써 "을"을 생성하였다면, 프로세서는 높은 펄플렉시티 정보를 획득할 수 있다. 즉, 프로세서는 획득된 높은 펄플렉시티 정보에 기초하여 "정보을"이 문법적으로 틀릴 가능성이 높다고 판단할 수 있다. 반대로 프로세서는 "정보"라는 단위 이후에 새로운 단위인 조사로써 "를"을 생성하였다면, 프로세서는 낮은 펄플렉시티 정보를 획득할 수 있다. 즉, 프로세서는 획득된 낮은 펄플렉시티 정보에 기초하여 "정보를"이 문법적으로 틀릴 가능성이 낮다고 판단할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
110: 학습부
120: 인식부
210: 데이터 획득부
220: 전처리부
230: 학습 데이터 선택부
240: 모델 학습부
250: 모델 평가부

Claims (14)

  1. 심리 치료를 위한 자동대화장치에 있어서,
    상기 자동대화장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함하고,
    상기 메모리는 상기 적어도 하나의 프로그램이 상기 프로세서에서 실행될 때, 상기 프로세서가,
    상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계;
    기계학습을 위하여 상기 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계; 및
    주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 상기 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계를 실행하도록 하는 명령어들을 저장하고,
    상기 수신된 텍스트는 상기 상담자와 상기 사용자의 대화 텍스트를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 상담자의 응답 텍스트인 제 2 텍스트를 포함하고,
    상기 기계학습모델을 획득하는 단계는,
    제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델을 획득하는 단계인 것을 특징으로 하는 자동대화장치.
  2. 제 1 항에 있어서,
    상기 프로세서가 상기 데이터 셋을 획득하는 단계를 실행하도록 하는 명령어는,
    상기 수신된 텍스트를 제 1 텍스트 및 제 2 텍스트로 구분하는 단계; 및
    상기 제 1 텍스트 및 제 2 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 포함하는 자동대화장치.
  3. 심리 치료를 위한 자동대화장치에 있어서,
    상기 자동대화장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함하고,
    상기 메모리는 상기 적어도 하나의 프로그램이 상기 프로세서에서 실행될 때, 상기 프로세서가,
    상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계;
    상기 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계;
    주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 상기 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계; 및
    상기 제 2 텍스트를 출력하는 단계를 실행하도록 하는 명령어들을 저장하고,
    상기 제 2 텍스트는 상기 제 1 텍스트와 연관된 응답 텍스트인, 자동대화장치.
  4. 제 3 항에 있어서,
    상기 프로세서가 상기 데이터 셋을 획득하는 단계를 실행하도록 하는 명령어는,
    상기 제 1 텍스트를 음소, 음절, 형태소, 단어, 어절 또는 문장 중 적어도 하나의 단위로 분리하는 단계를 포함하는 자동대화장치.
  5. 제 3 항에 있어서,
    상기 프로세서가 상기 제 2 텍스트를 자동으로 획득하는 단계를 실행하도록 하는 명령어는,
    상기 미리 학습된 기계학습모델에 기초하여 상기 제 1 텍스트를 임베딩하여 임베딩된 제 1 텍스트를 획득하는 단계;
    상기 임베딩된 제 1 텍스트와 상기 미리 학습된 기계학습모델에 기초하여 상기 제 2 텍스트에 포함된 제 1 단위를 획득하는 단계;
    상기 제 2 텍스트에 포함된 제 1 단위, 상기 임베딩된 제 1 텍스트 및 상기 미리 학습된 기계학습모델에 기초하여 제 1 단위 다음에 오는 제 2 텍스트에 포함된 제 2 단위를 획득하는 단계를 포함하고,
    상기 제 1 단위 및 상기 제 2 단위는 상기 제 2 텍스트에 포함되는 형태소 또는 어절인 것을 특징으로 하는 자동대화장치.
  6. 제 5 항에 있어서,
    상기 메모리는 상기 적어도 하나의 프로그램이 상기 프로세서에서 실행될 때, 상기 프로세서가,
    상기 제 2 단위가 상기 제 1 단위 이후에 나오는 단위로써 생성되는 경우, 상기 제1 단위와 상기 제2 단위의 조합이 문법적으로 틀릴 확률을 나타내는 펄플렉시티(perplexity) 정보를 획득하는 단계; 및
    상기 펄플렉시티 정보가 임계값보다 높은 경우, 폴벡(fallback) 응답을 출력하는 단계를 실행하도록 하는 명령어들을 저장하는 자동대화장치
  7. 심리 치료를 위한 자동대화방법에 있어서,
    상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 텍스트를 수신하는 단계;
    기계학습을 위하여 상기 수신된 텍스트를 전처리하여 데이터 셋을 획득하는 단계; 및
    주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 상기 데이터 셋을 기계학습하여 기계학습모델을 획득하는 단계를 포함하고,
    상기 수신된 텍스트는 상기 상담자와 상기 사용자의 대화 텍스트를 포함하는 제 1 텍스트 및 제 1 텍스트의 직후의 상담자의 응답 텍스트인 제 2 텍스트를 포함하고,
    상기 기계학습모델을 획득하는 단계는,
    제 1 텍스트와 제 2 텍스트의 상관 관계에 대한 기계학습모델을 획득하는 단계인 것을 특징으로 하는 자동대화방법.
  8. 심리 치료를 위한 자동대화방법에 있어서,
    상담자와 사용자의 대화 텍스트 중 심리분석과 관련된 제 1 텍스트를 수신하는 단계;
    상기 수신된 제 1 텍스트를 전처리하여 데이터 셋을 획득하는 단계;
    주목 메커니즘을 동반한 계층적 인코더-디코더 모형(hierarchical encoder-decoder with attention mechanism)을 이용하여 미리 학습된 기계학습모델에 기초하여 상기 수신된 제 1 텍스트로부터 제 2 텍스트를 자동으로 획득하는 단계; 및
    상기 제 2 텍스트를 출력하는 단계를 포함하고,
    상기 제 2 텍스트는 상기 제 1 텍스트와 연관된 응답 텍스트인, 자동대화방법.
  9. 제 7 항 또는 제 8 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적인 컴퓨터 판독가능 기록매체.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020180140321A 2018-04-27 2018-11-14 심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법 KR102199423B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180049445 2018-04-27
KR20180049445 2018-04-27

Publications (2)

Publication Number Publication Date
KR20190125154A KR20190125154A (ko) 2019-11-06
KR102199423B1 true KR102199423B1 (ko) 2021-01-06

Family

ID=68541703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140321A KR102199423B1 (ko) 2018-04-27 2018-11-14 심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102199423B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102327669B1 (ko) 2021-04-01 2021-11-23 이병관 인공지능을 이용한 멘탈 케어 시스템
KR20220133581A (ko) 2021-03-25 2022-10-05 이병관 인공지능을 이용한 멘탈 케어 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193656B1 (ko) * 2020-01-20 2020-12-21 권경애 상담 내용 분석을 지원하는 녹취 서비스 제공 시스템 및 방법
KR102441456B1 (ko) * 2020-02-03 2022-09-07 한국과학기술원 실제 사람의 말투와 문체를 흉내 내는 대화 방법 및 시스템
KR102173382B1 (ko) * 2020-02-25 2020-11-03 휴멜로 주식회사 텍스트 생성 장치 및 방법
KR102208387B1 (ko) * 2020-03-10 2021-01-28 주식회사 엘솔루 음성 대화 재구성 방법 및 장치
KR102372642B1 (ko) * 2021-01-27 2022-03-08 아주대학교산학협력단 자동 응답 생성 방법 및 장치
KR102359988B1 (ko) * 2021-02-02 2022-02-09 모바일 엔트로피 주식회사 도시가스 고객상담을 위한 비대면 화상 서비스 제공 시스템
KR102458666B1 (ko) * 2021-05-28 2022-10-26 주식회사 대도테크윈 인공지능 기반의 맞춤형 가상 캐릭터 서비스 시스템 및 방법.
KR102332740B1 (ko) * 2021-07-28 2021-12-01 주식회사 비플컨설팅 딥러닝을 이용하여 환자의 증상을 진단하는 방법, 장치 및 시스템
KR102385176B1 (ko) 2021-11-16 2022-04-14 주식회사 하이 심리 상담 장치 및 그 방법
KR20230079767A (ko) * 2021-11-29 2023-06-07 한국과학기술원 대화 상대방의 성격정보를 고려하여 신뢰도 증강을 위한 맞춤형 대화 생성 시스템 및 그 방법
KR102481216B1 (ko) 2022-03-25 2022-12-28 주식회사 하이 자기 대화 장치 및 방법
KR102495725B1 (ko) 2022-03-25 2023-02-07 주식회사 하이 자기 대화 장치 및 그 방법
KR102598304B1 (ko) * 2022-06-09 2023-11-03 주식회사 엘솔루 Stt 변환 방법 및 장치
KR102590930B1 (ko) 2023-02-01 2023-10-19 박정민 사용자의 심리 상태를 결정하는 서비스 제공 장치, 시스템, 방법 및 프로그램
CN117216230A (zh) * 2023-11-09 2023-12-12 智慧眼科技股份有限公司 一种ai心理医生对话交互处理方法、系统、终端及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248065A (ja) 2011-05-30 2012-12-13 Nippon Telegr & Teleph Corp <Ntt> 怒り感情推定装置、怒り感情推定方法およびそのプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101534413B1 (ko) * 2013-12-05 2015-07-09 포항공과대학교 산학협력단 상담 정보를 이용하여 상담 대화를 제공하는 방법 및 장치
KR101590908B1 (ko) * 2013-12-24 2016-02-03 서강대학교산학협력단 채팅 데이터 학습 및 서비스 방법 및 그에 따른 시스템
KR101883185B1 (ko) * 2016-08-09 2018-07-30 주식회사 피노텍 머신러닝을 활용한 정해진 시나리오로 고객과 상담하는 로봇 자동 상담 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248065A (ja) 2011-05-30 2012-12-13 Nippon Telegr & Teleph Corp <Ntt> 怒り感情推定装置、怒り感情推定方法およびそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133581A (ko) 2021-03-25 2022-10-05 이병관 인공지능을 이용한 멘탈 케어 시스템
KR102327669B1 (ko) 2021-04-01 2021-11-23 이병관 인공지능을 이용한 멘탈 케어 시스템

Also Published As

Publication number Publication date
KR20190125154A (ko) 2019-11-06

Similar Documents

Publication Publication Date Title
KR102199423B1 (ko) 심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법
KR102222451B1 (ko) 텍스트 기반 사용자심리상태예측 및 콘텐츠추천 장치 및 그 방법
US20230031521A1 (en) Automated assistants that accommodate multiple age groups and/or vocabulary levels
CN110728997B (zh) 一种基于情景感知的多模态抑郁症检测系统
Cahn CHATBOT: Architecture, design, & development
Chen et al. Gunrock: Building a human-like social bot by leveraging large scale real user data
US10431203B2 (en) Machine training for native language and fluency identification
KR20200015418A (ko) 순차적 운율 특징을 기초로 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체
KR20220000391A (ko) 순차적 운율 특징을 기초로 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체
KR20210070213A (ko) 음성 사용자 인터페이스
KR102062524B1 (ko) 음성 인식과 번역 방법 및 그를 위한 단말 장치와 서버
CN115599901B (zh) 基于语义提示的机器问答方法、装置、设备及存储介质
CN111897935B (zh) 基于知识图谱的话术路径选择方法、装置和计算机设备
KR20210059995A (ko) 학습 기반의 외국어 말하기 평가 방법 및 그 시스템
US20220230626A1 (en) Creative work systems and methods thereof
US11670285B1 (en) Speech processing techniques
Zhan et al. Application of machine learning and image target recognition in English learning task
CN113409768A (zh) 发音检测方法、装置及计算机可读介质
Imam et al. The Computation of Assimilation of Arabic Language Phonemes
Nothdurft et al. Application of verbal intelligence in dialog systems for multimodal interaction
US11532300B1 (en) System to determine sentiment from audio data
CN113555006B (zh) 一种语音信息识别方法、装置、电子设备及存储介质
Bañeras-Roux et al. HATS: An Open Data Set Integrating Human Perception Applied to the Evaluation of Automatic Speech Recognition Metrics
CN117828065B (zh) 一种数字人客服方法、系统、装置及储存介质
US11804225B1 (en) Dialog management system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant