KR102310725B1 - 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치 - Google Patents

대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치 Download PDF

Info

Publication number
KR102310725B1
KR102310725B1 KR1020190146097A KR20190146097A KR102310725B1 KR 102310725 B1 KR102310725 B1 KR 102310725B1 KR 1020190146097 A KR1020190146097 A KR 1020190146097A KR 20190146097 A KR20190146097 A KR 20190146097A KR 102310725 B1 KR102310725 B1 KR 102310725B1
Authority
KR
South Korea
Prior art keywords
text
current text
correlation
current
embedding
Prior art date
Application number
KR1020190146097A
Other languages
English (en)
Other versions
KR20210058532A (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 KR1020190146097A priority Critical patent/KR102310725B1/ko
Priority to PCT/KR2019/015609 priority patent/WO2021095932A1/ko
Publication of KR20210058532A publication Critical patent/KR20210058532A/ko
Application granted granted Critical
Publication of KR102310725B1 publication Critical patent/KR102310725B1/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
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치 가 개시된다. 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 이전 텍스트에 대한 임베딩 결과를 저장하는 단계; 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 포함한다.

Description

대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치 {APRRATUS AND METHOD FOR DETERMINING INPUT OF DIALOGUE PREDICTION MODEL, APRRATUS AND METHOD FOR EMBEDING TEXT}
개시되는 실시예들은 대화 예측 모델의 입력 결정 방법 및 장치와 관련된다. 보다 구체적으로는, 사용자와 수월한 대화를 수행하기 위한 대화 예측 모델의 입력 결정 방법 및 장치와 텍스트 임베딩 방법 및 장치와 관련된다.
사용자와 대화를 하기 위한 챗봇에는 대화 예측 모델이 사용된다. 사용자의 음성으로부터 텍스트를 추출하고, 상기 텍스트를 전처리하여 대화 예측 모델의 입력 값으로 사용한다. 텍스트를 전처리함에 있어서는 노이즈 제거, 형태소 추출 등 다양한 단계가 수반된다. 그리고, 텍스트를 대화 예측 모델에 입력하기 전에는 텍스트를 임베딩하는 단계가 수반된다. 이 단계를 소위 문장 임베딩이라고 한다. 문장 임베딩 단계는 보통 텍스트에 포함된 형태소 각각을 입력받아 상기 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 다차원 벡터 행렬의 합이나, 평균값을 계산하는 과정으로 이루어진다. 그리고, 상기 다차원 벡터 행렬의 합이나, 평균값을 대화 예측 모델에 입력한다. 이로써, 사용자의 음성에 대한 응답을 얻을 수 있다.
한편, 챗봇이 사용자와 수월한 대화를 수행하기 위해서는 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악할 수 있어야 한다. 또한, 챗봇이 사용자와 수월한 대화를 수행하기 위해서는 사용자의 상황에 보다 부합하는 응답을 할 수 있어야 한다. 또한, 챗봇이 대화 분위기나 대화 맥락을 보다 정확하게 파악할 수 있어야 한다.
개시되는 실시예들은 사용자와 수월한 대화를 수행하기 위한 대화 예측 모델의 입력 결정 방법 및 장치와 텍스트 임베딩 방법 및 장치를 제공하기 위함이다.
본 발명자는 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능하려면, 현재 텍스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정하는 대화 예측 모델의 입력 결정 방법 및 장치가 요구된다는 것을 알게 되었다.
본 발명자는 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능려면, 현재 텍스트에 포함된 형태소 및 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 텍스트 임베딩 방법 및 장치가 요구된다는 것을 알게 되었다.
본 발명자는 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현하려면, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 대화 예측 모델의 입력 결정 방법 및 장치가 요구된다는 것을 알게 되었다.
일 실시예에 따른 대화 예측 모델의 입력 결정 방법이 개시된다. 일 실시예에 따른 대화 예측 모델의 입력 결정 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 이전 텍스트에 대한 임베딩 결과를 저장하는 단계; 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 포함한다.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.
실시예에 따라, 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는, 상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정한다.
일 실시예에 따른 대화 예측 모델의 입력 결정 장치가 개시된다. 일 실시예에 따른 대화 예측 모델의 입력 결정 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 실행하기 위한 명령어들을 포함한다.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.
실시예에 따라, 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는, 상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정한다.
일 실시예에 따른 텍스트 임베딩 방법이 개시된다. 일 실시예에 따른 텍스트 임베딩 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및 상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 포함한다.
일 실시예에 따른 텍스트 임베딩 장치가 개시된다. 일 실시예에 따른 텍스트 임베딩 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및 상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 실행하기 위한 명령어들을 포함한다.
다른 실시예에 따른 대화 예측 모델의 입력 결정 방법이 개시된다. 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 및 상기 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 포함한다.
다른 실시예에 따른 대화 예측 모델의 입력 결정 장치가 개시된다. 다른 실시예에 따른 대화 예측 모델의 입력 결정 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 및 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 실행하기 위한 명령어들을 포함한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
일 실시예에 따르면, 현재 텍스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정함으로써, 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능해지며, 현재 텍스트가 불완전하지 않다면, 현재 텍스트와 이전 텍스트가 독립적이라 전제하여 이전 텍스트가 현재 텍스트에 대한 응답에 영향을 주는 것을 방지할 수 있다.
다른 실시예에 따르면, 현재 텍스트에 포함된 형태소 및 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산함으로써, 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능하다.
또 다른 실시예에 따르면, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력함으로써, 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현할 수 있다.
도 1은 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 과정을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 지시 대명사 형태소를 결정하는 과정을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 도시된 것이며, 본 발명이 도시된 구성의 크기 및 두께에 반드시 한정되는 것은 아니다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.
도 1에 도시된 방법은 예를 들어, 도 6에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.
먼저, 컴퓨팅 장치 (12) 는 이전 텍스트에 대한 임베딩 결과를 저장한다 (S110).
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S120).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.
다만, 이에 한정되는 것은 아니며, 텍스트는 예를 들어, 사용자의 키보드 타이핑으로부터 입력될 수도 있다.
예를 들어, 텍스트는 “커피 시켜줘”, “치킨 시켜줘”와 같은 음식 주문일 수 있다. 다만, 이에 한정되는 것은 아니며, 실시예에 따라 다양한 텍스트가 존재할 수 있다. 예를 들어, 텍스트는 “배가 아파요”, “어깨가 결려요”와 같은 질병 증상에 대한 내용일 수도 있다.
현재 텍스트는 현재 입력된 텍스트를 말하며, 이전 텍스트는 현재 텍스트가 입력되기 전에 입력된 텍스트를 말한다. 한편, 현재 텍스트는 발명의 실시 시점의 순간 (찰나) 를 지칭하기 위한 용어는 아니며, 이전 텍스트와 구별을 위한 용어이다.
예를 들어, 이전 텍스트는 “커피 시켜줘”와 같은 음식 주문일 수 있고, 현재 텍스트는 “그거 취소해줘”와 같은 음식 취소일 수 있다.
한편, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다.
예를 들어, 현재 텍스트에 포함된 형태소는 도 2에 도시된 형태소 분석기에 의해 추출될 수 있다.
도 3에 도시된 바와 같이, 현재 텍스트가 형태소 분석기에 입력된 경우 현재 텍스트에 포함된 하나 이상의 형태소가 출력될 수 있다.
예를 들어, “커피 시켜줘”가 형태소 분석기에 입력된 경우 “커피” 및 “시키다”가 출력될 수 있고, “그거 취소해줘”가 형태소 분석기에 입력된 경우 “그것” 및 “취소하다”가 출력될 수 있다.
한편, 컴퓨팅 장치 (12) 는 현재 텍스트를 임베딩할 수 있다.
예를 들어, 텍스트의 임베딩은 도 2에 도시된 임베딩 모델에 의해 수행될 수 있다.
임베딩 모델은 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 현재 텍스트에 대한 임베딩 결과로 결정할 수도 있다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트가 “커피 시켜줘”인 경우, “커피”, “시키다”를 임베딩 모델에 입력함으로써 “커피 시켜줘”에 대한 임베딩 결과를 계산할 수 있다. 이때, 임베딩 모델은 “커피”, “시키다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합을 “커피 시켜줘”에 대한 임베딩 결과로 결정할 수 있다.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트가 “그거 취소해줘”인 경우, “그것”, “취소하다”를 임베딩 모델에 입력함으로써 “그거 취소해줘”에 대한 임베딩 결과를 계산할 수 있다. 이때, 임베딩 모델은 “그것”, “취소하다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합을 “그것 취소해줘”에 대한 임베딩 결과로 결정할 수 있다.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트의 상관 관계를 파악한다 (S130).
일 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 기 저장된 지시 대명사 리스트를 비교함으로써 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다. 지시 대명사 리스트란 지시 대명사의 집합을 의미한다.
지시 대명사 리스트의 지시 대명사는 예를 들어, 사용자에 의해 설정될 수 있다. 예를 들어, “이것”, “저것”, “그것”, “이때”, “저때”, “그때”, “여기”, “거기”, “저기” 등이 지시 대명사로 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 사용자는 활용 목적을 고려하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위한 모든 형태소를 지시 대명사 리스트의 지시 대명사로 설정할 수 있다.
즉, 본 발명에 있어서 지시 대명사는 국어적 의미의 지시 대명사를 포함하지만, 이에 한정되는 것은 아니며, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위해 사용자가 설정 가능한 모든 용어를 포함한다.
한편, 지시 대명사 리스트는 사용자에 의해 계속하여 업데이트될 수 있다. 지시 대명사 리스트의 자유로운 변경이 가능함에 따라, 사용자는 학습 데이터의 축적 없이 챗봇의 활용범위를 자유롭고 빠르게 넓힐 수 있다. 즉, 컴퓨팅 장치 (12) 는 적은 학습 데이터 만으로도, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 기 저장된 지시 대명사 리스트에 포함되는 형태소의 존재 여부에 기초하여 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하지 않는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다. 일반적으로, 지시 대명사가 현재 택스트에 포함된 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 높다고 볼 수 있기 때문이다.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
일 실시예에 따른 상관 관계 예측 모델은 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다. 한편, 이 경우, 사용자는 상관 관계 예측 모델에 대하여 현재 텍스트와 이전 텍스트의 상관 관계를 학습시킬 수 있다.
이때, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.
실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 2 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정하고, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 미만 그리고 기 설정된 제 2 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정할 수 있다.
또 다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수도 있다.
이때, 상관 관계 예측 모델은 현재 텍스트와 이전 텍스트를 직접적으로 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다. 이 경우, 사용자는 상관 관계 예측 모델에 대하여 현재 텍스트와 이전 텍스트의 상관 관계를 직접적으로 학습시킬 수 있다.
다음으로, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정한다 (S140).
예를 들어, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.
예를 들어, 이전 텍스트가 “커피 시켜줘”이고, 현재 텍스트가 “그거 취소해줘”인 경우, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 판단하고, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.
이후, 컴퓨팅 장치 (12) 가 이전 텍스트인 “커피 시켜줘”에 대한 임베딩 결과 및 현재 텍스트인 “그거 취소해줘”에 대한 임베딩 결과를 대화 예측 모델에 입력하게 되면, 예를 들어, 대화 예측 모델은 “커피 취소해줘”에 대응되는 응답을 할 수 있다. 이로써, 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능해질 수 있다. 한편, 현재 텍스트가 불완전하지 않다면, 현재 텍스트와 이전 텍스트가 독립적이라 전제하여 이전 텍스트가 현재 텍스트에 대한 응답에 영향을 주는 것을 방지할 수 있다. 이로써, 현재 텍스트가 완전한지 불완전한지에 따라 응답 방법을 달리하여 선택 적으로 사용자와 대화를 수월하게 할 수 있는 챗봇을 구현할 수 있다.
구체적으로, 개시되는 실시예에 따르면, 현재 텍스트에 지시 대명사가 있어 현재 텍스트만으로 그 지시 대상을 파악할 수 없어도, 현재 텍스트에 이전 텍스트를 보충하여 그 지시 대상을 명확하게 파악할 수 있다. 보다 구체적으로, 개시되는 실시예에 따르면, 현재 텍스트에 지시 대명사가 있어 사용자의 음성을 통해 그 표시상의 의미를 명확하게 파악할 수 없는 경우라 하더라도, 이전 텍스트에 포함된 지시 대상을 현재 텍스트에 보충함으로써 현재 텍스트에 내재된 사용자의 내심적 의사까지 보다 정확하게 파악할 수 있는 챗봇을 구현할 수 있다.
한편, 실시예에 따라, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정된 경우, 사용자의 정책 내지 설정에 따라 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하거나 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.
한편, 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 2는 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 과정을 설명하기 위한 예시도이다.
컴퓨팅 장치 (12) 는 형태소 분석기, 임베딩 모델 및 지시 대명사 리스트를 포함하고, 대화 예측 모델을 더 포함할 수 있다.
먼저, 컴퓨팅 장치 (12) 는 이전 텍스트에 대한 임베딩 결과를 저장한다.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받을 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 마이크 (미도시) 를 통해 텍스트를 입력받을 수 있다. 다만, 이에 한정되는 것은 아니며, 컴퓨팅 장치 (12) 는 키보드 (미도시) 를 통해 텍스트를 입력받을 수도 있다. 한편, 텍스트는 사용자의 음성으로부터 잡음이 제거된 결과물일 수도 있다.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다.
형태소 분석기에는 오픈 소스인 한나눔 형태소 분석기, 꼬꼬마 형태소 분석기, 트위터 형태소 분석기, 고려대 형태소 분석기, 한라 형태소 분석기, 코머 형태소 분석기 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 형태소 분석기, 및 이들의 조합이 형태소 분석기로 이용될 수도 있다.
컴퓨팅 장치 (12) 는 임베딩 모델을 통해 현재 텍스트를 임베딩할 수 있다.
임베딩 모델은 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 텍스트에 대한 임베딩 결과로 결정할 수도 있다.
임베딩 모델에는 오픈 소스인 CBow 모델, skip-gram 모델, fasttext 모델, word2vec 모델, send2vec 모델 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 문장 임베딩 모델, 형태소 임베딩 모델, 및 이들의 조합이 임베딩 모델로 이용될 수도 있다.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트의 상관 관계를 파악한다.
일 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 기 저장된 지시 대명사 리스트를 비교함으로써 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 기 저장된 지시 대명사 리스트에 포함되는 형태소의 존재 여부에 기초하여 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하지 않는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.
일 실시예에 따른 상관 관계 예측 모델은 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다.
이때, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.
실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 2 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정하고, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 미만 그리고 기 설정된 제 2 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정할 수 있다.
다음으로, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정한다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.
이후, 컴퓨팅 장치 (12) 가 이전 텍스트에 대한 임베딩 결과 및 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다.
도 3은 본 발명의 일 실시예에 따른 지시 대명사 형태소를 결정하는 과정을 설명하기 위한 예시도이다.
컴퓨팅 장치 (12) 는 현재 텍스트를 입력받을 수 있다.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다. 예를 들어, 현재 텍스트에서는 도 3에 도시된 바와 같이, 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소가 추출될 수 있다.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부를 확인할 수 있다.
지시 대명사 리스트란 지시 대명사의 집합을 의미한다.
지시 대명사 리스트의 지시 대명사는 예를 들어, 사용자에 의해 설정될 수 있다. 예를 들어, “이것”, “저것”, “그것”, “이때”, “저때”, “그때”, “여기”, “거기”, “저기” 등이 지시 대명사로 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 사용자는 활용 목적을 고려하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위한 모든 용어를 지시 대명사 리스트의 지시 대명사로 설정할 수 있다.
즉, 본 발명에 있어서 지시 대명사는 국어적 의미의 지시 대명사를 포함하지만, 이에 한정되는 것은 아니며, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위해 사용자가 설정 가능한 모든 용어를 포함한다.
한편, 지시 대명사 리스트는 사용자에 의해 계속하여 업데이트될 수 있다. 지시 대명사 리스트의 자유로운 변경이 가능함에 따라, 사용자는 학습 데이터의 축적 없이 챗봇의 활용범위를 자유롭게 넓힐 수 있다.
예를 들어, 리시 대명사 리스트에 제 2 형태소가 지시 대명사로 포함되어 있는 경우, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 것으로 결정할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.
도 4에 도시된 방법은 예를 들어, 도 6에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.
먼저, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S410).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.
컴퓨팅 장치 (12) 는 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정할 수 있다 (S420).
일 예로, 컴퓨팅 장치 (12) 는 외부 장치로부터 현재 텍스트를 입력받을 때 동시에 외부 장치로부터 현재 텍스트의 생성 정보를 입력받을 수 있다. 다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트를 직접 입력받을 때 동시에 현재 텍스트의 생성 정보를 생성할 수 있다.
텍스트의 생성 정보는 예를 들어, 텍스트의 생성자 정보, 텍스트의 생성 시각, 텍스트의 생성 장소 등을 포함할 수 있다. 텍스트의 생성자 정보는 예를 들어, 대상 텍스트 발화자의 식별 정보일 수 있다. 텍스트의 생성 시각은 예를 들어, 대상 텍스트의 발화 시점일 수 있다. 텍스트의 생성 장소는 예를 들어, 대상 텍스트 발화 당시 발화자의 위치일 수 있다.
예를 들어, 컴퓨팅 장치 (12) 는 텍스트 생성 정보를 미리 정해진 기준에 따라 분류하여 발화자의 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지 (예: 바닷가, 병원, 마트) 확인할 수 있다.
구체적으로, 컴퓨팅 장치 (12) 는 텍스트의 식별 정보를 미리 정해진 기준에 따라 분류하여 발화자의 직업, 성별, 연령대 등을 확인할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 텍스트의 생성 시각을 미리 정해진 기준에 따라 분류하여 발화 시점이 아침, 점심, 저녁인지, 봄, 여름, 가을, 겨울인지 등을 확인할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 텍스트의 생성 장소를 미리 정해진 기준에 따라 분류하여 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지 등을 확인할 수 있다.
컴퓨팅 장치 (12) 는 텍스트의 생성 정보에 대응되는 속성 값 테이블을 이용하여, 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 현재 텍스트의 속성 값을 결정할 수 있다.
텍스트의 생성 정보에 대응되는 속성 값 테이블은 예를 들어, 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값 등을 포함할 수 있다.
사용자는 텍스트의 생성 정보에 대응되는 속성 값 테이블에 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값 등을 미리 지정하여 둘 수 있다.
이때, 컴퓨팅 장치 (12) 는 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응 되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값, 및 이들의 조합에 따라 현재 텍스트의 속성 값을 결정할 수 있다.
이로써, 컴퓨팅 장치 (12) 는 발화자의 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지에 따라, 및 이것들의 조합에 따라 현재 텍스트의 속성 값을 결정할 수 있다.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 현재 텍스트에 대한 임베딩 결과를 계산한다 (S430). 여기서의 현재 텍스트에 대한 임베딩 결과는 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과이다.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬 및 현재 텍스트의 속성 값에 대한 다차원 벡터 행렬을 계산하고, 상기 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬 및 상기 현재 텍스트의 속성 값에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다.
이후, 컴퓨팅 장치 (12) 가 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다.
대화 예측 모델은 발화자가 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지, 및 이것들의 조합을 반영하여 현재 텍스트에 대한 응답을 할 수 있다.
예를 들어, 대화 예측 모델은 현재 텍스트가 동일하여도, 발화자가 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지에 따라 응답을 달리할 수 있다.
이로써, 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능하다.
실시예에 따라, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소에 대한 임베딩 결과 및 현재 텍스트의 속성 값에 대한 임베딩 결과 각각을 대화 예측 모델에 입력할 수도 있다. 즉, 대화 예측 모델이 현재 텍스트에 포함된 형태소에 대한 임베딩 결과 및 현재 텍스트의 속성 값을 입력받을 수 있다.
도 5는 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.
도 5에 도시된 방법은 예를 들어, 도 6에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.
먼저, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S510).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.
실시예에 따라, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받기 전에 이전 텍스트에 대한 임베딩 결과를 저장할 수 있다.
현재 텍스트는 현재 입력된 텍스트를 말하며, 이전 텍스트는 현재 텍스트가 입력되기 전에 입력된 텍스트를 말한다. 한편, 현재 텍스트는 발명의 실시 시점의 순간 (찰나) 를 지칭하기 위한 용어는 아니며, 이전 텍스트와 구별을 위한 용어이다.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 임베딩 한다 (S520).
예를 들어, 텍스트의 임베딩은 도 2에 도시된 임베딩 모델에 의해 수행될 수 있다.
임베딩 모델은 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 현재 텍스트에 대한 임베딩 결과로 결정할 수도 있다.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다.
이로써, 대화 예측 모델이 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과에 대한 상관 관계를 자체적으로 반영하여 응답하도록 할 수 있다. 일반적으로, 현재 텍스트와 이전 텍스트는 상호 연관 관계가 어느 정도 존재하기 때문이다. 이로써, 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현할 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되는 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경 (10) 은 컴퓨팅 장치 (12) 를 포함한다. 컴퓨팅 장치 (12) 는 적어도 하나의 프로세서 (14), 컴퓨터 판독 가능 저장 매체 (16) 및 통신 버스 (18) 를 포함한다. 프로세서 (14) 는 컴퓨팅 장치 (12) 로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서 (14) 는 컴퓨터 판독 가능 저장 매체 (16) 에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서 (14) 에 의해 실행되는 경우 컴퓨팅 장치 (12) 로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체 (16) 는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체 (16) 에 저장된 프로그램 (20) 은 프로세서 (14) 에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체 (16) 는 메모리 (랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치 (12) 에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스 (18) 는 프로세서 (14), 컴퓨터 판독 가능 저장 매체 (16) 를 포함하여 컴퓨팅 장치 (12) 의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치 (12) 는 또한 하나 이상의 입출력 장치 (24) 를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스 (22) 및 하나 이상의 네트워크 통신 인터페이스 (26) 를 포함할 수 있다. 입출력 인터페이스 (22) 및 네트워크 통신 인터페이스 (26) 는 통신 버스 (18) 에 연결된다. 입출력 장치 (24) 는 입출력 인터페이스 (22) 를 통해 컴퓨팅 장치 (12) 의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치 (24) 는 포인팅 장치 (마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치 (24) 는 컴퓨팅 장치 (12) 를 구성하는 일 컴포넌트로서 컴퓨팅 장치 (12) 의 내부에 포함될 수도 있고, 컴퓨팅 장치 (12) 와는 구별되는 별개의 장치로 컴퓨팅 장치 (12) 와 연결될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (12)

  1. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    이전 텍스트에 대한 임베딩 결과를 저장하는 단계;
    현재 텍스트를 입력받는 단계;
    상기 현재 텍스트를 임베딩하는 단계;
    상기 현재 텍스트와 상기 현재 텍스트가 입력되기 전에 입력된 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및
    상기 상관 관계가 없는 경우, 상기 현재 텍스트가 불완전한 것으로 파악하고, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 있는 경우, 상기 현재 텍스트가 완전한 것으로 파악하고, 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,
    상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 방법.
  3. 제 1 항에 있어서,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,
    상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 방법.
  4. 삭제
  5. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하는 장치로서,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
    상기 프로그램은,
    현재 텍스트를 입력받는 단계;
    상기 현재 텍스트를 임베딩하는 단계;
    상기 현재 텍스트와 상기 현재 텍스트가 입력되기 전에 입력된 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및
    상기 상관 관계가 없는 경우, 상기 현재 텍스트가 불완전한 것으로 파악하고, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 있는 경우, 상기 현재 텍스트가 완전한 것으로 파악하고, 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.
  6. 제 5 항에 있어서,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,
    상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 장치.
  7. 제 5 항에 있어서,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,
    상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 장치.
  8. 삭제
  9. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    현재 텍스트를 입력받는 단계;
    상기 현재 텍스트의 생성자 정보, 생성 시각 및 생성 장소를 포함하는 생성 정보를 획득하고, 획득된 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계;
    상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 생성자 정보, 생성 시각 및 생성 장소에 대응되는 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계; 및
    상기 임베딩 결과를 대화 예측 모델에 입력하는 단계를 포함하는, 방법.
  10. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하는 장치로서,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
    상기 프로그램은,
    현재 텍스트를 입력받는 단계;
    상기 현재 텍스트의 생성자 정보, 생성 시각 및 생성 장소를 포함하는 생성 정보를 획득하고, 획득된 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계;
    상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 생성자 정보, 생성 시각 및 생성 장소에 대응되는 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계; 및
    상기 임베딩 결과를 대화 예측 모델에 입력하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.
  11. 삭제
  12. 삭제
KR1020190146097A 2019-11-14 2019-11-14 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치 KR102310725B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190146097A KR102310725B1 (ko) 2019-11-14 2019-11-14 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치
PCT/KR2019/015609 WO2021095932A1 (ko) 2019-11-14 2019-11-15 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146097A KR102310725B1 (ko) 2019-11-14 2019-11-14 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210058532A KR20210058532A (ko) 2021-05-24
KR102310725B1 true KR102310725B1 (ko) 2021-10-08

Family

ID=76152926

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146097A KR102310725B1 (ko) 2019-11-14 2019-11-14 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102310725B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127969A (ja) 2011-03-04 2015-07-09 株式会社日本総合研究所 自然言語バンキング処理サーバ及び自然言語バンキング処理方法
US20190236132A1 (en) 2018-01-26 2019-08-01 Ge Inspection Technologies, Lp Generating natural language recommendations based on an industrial language model

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101923650B1 (ko) * 2017-05-16 2018-11-29 동아대학교 산학협력단 문장 임베딩 및 유사 질문 검색을 위한 장치 및 방법
KR102186326B1 (ko) * 2017-09-28 2020-12-04 한국과학기술원 구조 정보 선행 학습을 통한 딥러닝 관계 추출 시스템 및 이를 이용한 딥러닝 관계 추출 성능 향상 방법
KR102102287B1 (ko) * 2017-12-20 2020-04-20 한국과학기술원 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
KR101999152B1 (ko) * 2017-12-28 2019-07-11 포항공과대학교 산학협력단 컨벌루션 신경망 기반 영문 텍스트 정형화 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127969A (ja) 2011-03-04 2015-07-09 株式会社日本総合研究所 自然言語バンキング処理サーバ及び自然言語バンキング処理方法
US20190236132A1 (en) 2018-01-26 2019-08-01 Ge Inspection Technologies, Lp Generating natural language recommendations based on an industrial language model

Also Published As

Publication number Publication date
KR20210058532A (ko) 2021-05-24

Similar Documents

Publication Publication Date Title
JP6771805B2 (ja) 音声認識方法、電子機器、及びコンピュータ記憶媒体
US11775254B2 (en) Analyzing graphical user interfaces to facilitate automatic interaction
CN112673421B (zh) 训练和/或使用语言选择模型以自动确定用于口头话语的话音辨识的语言
WO2015169134A1 (en) Method and apparatus for phonetically annotating text
US11322136B2 (en) System and method for multi-spoken language detection
EP3724875B1 (en) Text independent speaker recognition
JP5932869B2 (ja) N−gram言語モデルの教師無し学習方法、学習装置、および学習プログラム
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
CN109923515A (zh) 使用网络可寻址设备创建电影化的讲故事体验
US12046239B2 (en) Suggesting an alternative interface when environmental interference is expected to inhibit certain automated assistant interactions
JP6556381B2 (ja) モデル学習装置及びモデル学習方法
CN111914527A (zh) 自动聊天机器人语言表达生成
US20220004820A1 (en) Method and system for assisting a developer in improving an accuracy of a classifier
KR102310725B1 (ko) 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치
KR102019752B1 (ko) 컴퓨터 수행 가능한 ui/ux 전략제공방법 및 이를 수행하는 ui/ux 전략제공장치
KR20210058520A (ko) 텍스트 임베딩 방법 및 장치
KR20210127586A (ko) 문장 특징 벡터 임베딩 장치 및 방법

Legal Events

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