KR102102287B1 - 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법 - Google Patents

챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법 Download PDF

Info

Publication number
KR102102287B1
KR102102287B1 KR1020170175923A KR20170175923A KR102102287B1 KR 102102287 B1 KR102102287 B1 KR 102102287B1 KR 1020170175923 A KR1020170175923 A KR 1020170175923A KR 20170175923 A KR20170175923 A KR 20170175923A KR 102102287 B1 KR102102287 B1 KR 102102287B1
Authority
KR
South Korea
Prior art keywords
data
conversation
conversation model
model
flow
Prior art date
Application number
KR1020170175923A
Other languages
English (en)
Other versions
KR20190074508A (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 KR1020170175923A priority Critical patent/KR102102287B1/ko
Publication of KR20190074508A publication Critical patent/KR20190074508A/ko
Application granted granted Critical
Publication of KR102102287B1 publication Critical patent/KR102102287B1/ko

Links

Images

Classifications

    • 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
    • G06Q50/30
    • 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/50Business processes related to the communications industry
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 챗봇의 대화 모델에 관한 것으로서, 더욱 상세하게는 발화 데이터 수집과 이 수집된 발화 데이터에 기초하여 학습 상황으로 유도하므로 착화 데이터가 확장되어 대화 모델이 확장되는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법에 관한 것이다.
이와 같은 목적을 달성하기 위하여 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법으로서, (a) 사용자 데이터가 입력되는 단계; (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계; (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계; (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및 (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계를 포함하되, 상기 대화 모델 수정은, 상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 것이다.

Description

챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법{Method for crowdsourcing data of chat model for chatbot}
본 발명은 챗봇의 대화 모델에 관한 것으로서, 더욱 상세하게는 발화 데이터 수집과 이 수집된 발화 데이터에 기초하여 학습 상황으로 유도하므로 착화 데이터가 확장되어 대화 모델이 확장되는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법에 관한 것이다.
전세계적으로 사람들이 페이스북, 트위터, 밴드 등 소셜미디어 보다 메신저를 더 많이 쓰기 시작했다. 메신저 앱(예를 들면; 카카오톡이나 위챗)을 보면 거의모든 서비스앱(예를 들면; 페북, 페이팔, 우버, 금융 서비스 등)을 메신저 앱 하나 안에서 서비스한다. 이와 같이 메신저 앱이 이미 라이프스타일 플랫폼으로 자리잡아 가고 있는 추세인 것이다.
챗봇은 대화형 인터페이스의 한 형태로 채팅 화면에서 사람대신 대화하는 로봇이라고 생각할 수 있으며 전화로 하는 ARS 자동응답시스템이 메신저 안으로 들어왔다고 생각할 수 있다. 다시 말하면 아이폰의 시리는 목소리 봇(Voice bot)이고, 시리가 메신저 안으로 들어와서 목소리 말고 문자로 사용자와 대화하는 것이다.
그러나 기존의 챗봇들은 단순매칭으로 미리 정의된 키워드를 인식해서 대답하므로 사용자의 발화를 정확하게 인식하지 못하였을 때 그에 상응하게 대응하지 못하거나 더 이상 대화가 불가능한 형태로 대응하여 사용자가 당혹감을 느끼게 하는 문제가 발생하였다. 또한 데이터가 충분치 못하여 여러 대화 상황에 대응하지 못하는 문제도 발생하였다.
본 발명은 이와 같은 문제점을 해결하기 위하여 창안된 것으로서, 발화 데이터 수집과 이 수집된 발화 데이터에 기초하여 학습 상황으로 유도하여 착화 데이터가 확장됨으로 대화 모델을 확장시키는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 제공하는 것을 그 목적으로 한다.
이와 같은 목적을 달성하기 위하여 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법으로서, (a) 사용자 데이터가 입력되는 단계; (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계; (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계; (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및 (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계를 포함하되, 상기 대화 모델 수정은, 상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 것이다.
바람직하게는 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이상인 경우, 현재 대화 모델 흐름으로 대화가 이루어지는 것이다.
바람직하게는 상기 기준치는 0.8를 의미하는 것이다.
바람직하게는 상기 인식 신뢰도가 낮은 이유는 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이거나 또는 현재의 대화 모델 흐름 상 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우 중 하나 인 것이다.
바람직하게는 상기 새로운 대화 흐름을 추가하는 과정은, (e1) 다음 대화 모델이 어떻게 이어질 지에 대한 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 수집하는 단계; 및 (e2) 상기 단계 (e1)에서 제공된 질문 이후 어떻게 확장될 수 있는지에 대한 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 수집하는 단계를 포함하는 것이다.
바람직하게는 상기 단계 (e2) 이후, 상기 수집된 답변 데이터가 신뢰할 수 있는지를 묻는 질문을 통해 신뢰도를 확인하는 것이다.
바람직하게는 상기 데이터를 추가하는 과정은 사용자 데이터의 핵심이 되는 명사가 사용된, 질문을 이용하여 핵심이 되는 단어들이 무엇인지 파악함으로 이루어지는 것이다.
바람직하게는 상기 흐름은 대화 노드 및 대화 엣지를 포함한다.컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,
상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법으로서, (a) 사용자 데이터가 입력되는 단계; (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계; (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계; (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및 (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계를 포함하되, 상기 대화 모델 수정은, 상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 방법이 수행되도록 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱을 위한 장치이다.
이와 같은 목적을 달성하기 위하여 본 발명에 따른 다른 측면은 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되면, (a) 사용자 데이터가 입력되는 단계; (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계; (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계; (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및 (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계를 포함하되, 상기 대화 모델 수정은, 상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 컴퓨터 프로그램이다.
본 발명에 의하면, 사용자의 다양한 발화에 대응할 수 있는 대화 모델을 제작할 수 있는 효과가 있다.
도 1은 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 나타낸 순서도.
도 2는 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 설명하기 위한 대화 모델 구조의 일 예를 나타낸 도면.
도 3은 도 1에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법의 일예로 설명하기 위한 도면.
도 4는 도 3에 따른 과정을 보여주기 위한 학습의 일예를 나타낸 도면.
도 5는 도 1에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법의 다른 예를 설명하기 위한 도면.
도 6은 도 5에 따른 과정을 보여주기 위한 학습의 일예를 나타낸 도면.
도 7은 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 적용하는데 있어 분류기의 성능이 좋지 못한 경우를 보여주기 위한 도면.
도 8은 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 적용하는데 있어 대화 모델이 대응할 수 없는 경우를 보여주는 도면.
도 9는 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 장치를 나타낸 블록도.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 나타낸 순서도이고, 도 2는 본 발명에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법을 설명하기 위한 대화 모델 구조의 일 실시예를 나타낸 도면이다.
먼저 본 발명의 이해를 돕기 위하여 도 2를 참조하여 본 발명에서 표현된 대화 모델의 구조를 설명하면, 대화 모델이란 하나의 대화 노드(원으로 표시)로 시작하여 다수의 대화 노드와 대화 엣지(화살표 실선으로 표시)를 포함한다. 대화 노드는 대화에 있어서 현재의 상태를 명시하며, 더불어 챗봇이 발화해야하는 내용을 담고 있는 자료 구조체이다. 대화 노드에서의 노드 ID는 전체 대화 모델에 대한 현재 대화의 위치를 표시하고, 노드 컨텐츠는 현재 대화 상황에서 챗봇이 출력 가능한 문장들의 모음이며, 현재 사용자의 인풋에 대해 대응할 수 있도록 교체 가능한 명사 같은 부분은 따로 명시(예; You went to {place/}) 되어 있다. 대화 엣지는 대화에 있어서 사용자의 입력과 대응되는 자료 구조체로 대화 노드들을 연결하여 사용자의 입력에 대해 어떤 노드로 이동해야하는지 알려준다. 즉 엣지 ID는 전체 대화 모델이 현재 노드 중에 어느 방향으로 이동해야하는지 알려준다. 본 발명에서는 대화 노드 및 대화 엣지를 포함하여 대화 흐름으로 표현하기도 한다.
본 발명에 따른 대화 모델의 데이터 크라우드소싱을 위한 방법은 도 1에 도시된 바와 같이 사용자 데이터가 입력된다(S100). 사용자 데이터는 음성 데이터 또는 텍스트 데이터 일 수 있으며 본 발명에서는 음성 데이터 및 텍스트 데이터를 포괄하여 사용자 데이터라 칭한다.
사용자 데이터가가 입력되면, 이 입력된 사용자 데이터를 챗봇이 이해할 수 있도록 자연어 기법에 의하여 자연어로 처리한다(S110).
이후 자연어 기법으로 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단(S120)하는데, 이 때 인식 신뢰도가'1'이라 할 때, 이 인식 신뢰도가 기준치 이상인지를 판단한다(S130). 여기서 기준치는 0.8을 의미한다.
판단 결과(S130), 인식 신뢰도가 기준치 이상인 경우, 현재 대화 모델 흐름으로 대화를 수행한다(S140).
반면 인식 신뢰도가 기준치 이하이면 사용자에게 질문을 제공하고 이 제공된 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악한다(S150). 여기서 인식 신뢰도가 낮은 이유는 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이거나 또는 현재의 대화 모델 흐름 중 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이다.
이어서 단계 (S150)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정한다(S160). 여기서 수정하는 방법은 단계 (S150)에서 파악된 이유에 따라 다르며, 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가한다.
또한 새로운 대화 흐름을 추가하는 과정은 다음 대화 모델이 어떻게 이어질 지에 대한 질문을 제공하고 제공된 질문에 대한 사용자의 답변 데이터를 수집한다. 그리고 어떻게 확장될 수 있는지에 대한 질문을 제공하고 이 질문에 대한 사용자의 답변 데이터를 수집한다.
그리고 데이터를 추가하는 과정은 사용자 데이터의 핵심이 되는 명사가 사용된, 질문을 이용하여 핵심이 되는 단어들이 무엇인지 파악함으로 이루어진다.
본 발명에서 대화 모델의 데이터 크라우드소싱이 이루어지는 상황은 크게 두 상황에 대응하기 위한 것으로써 첫째 인식 신뢰도를 판단하는 분류기(대화관계 모듈)의 성능이 좋지 않아 문장이 오인식 되는 경우와, 둘째 대화 모델이 대응할 수 없는 문장이 입력되는 경우로, 두 경우 모두 챗봇의 분류기에 있어 인식 신뢰도가 낮은 상황으로 도 7은 분류기의 성능이 좋지 못한 경우를 보여주기 위한 도면이고 도 8은 대화 모델이 대응할 수 없는 경우를 보여주는 도면이다.
도 3은 도 1에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법의 일예를 나타낸 도면으로 사용자 데이터가 입력되고, 이 입력된 사용자 데이터를 자연어 처리 기법으로 처리하여 '로마에 갔어요'라는 문장이 입력되면, 이 입력된 문장의 인식 신뢰도를 판단하게 된다. 이때 '로마에 갔어요'라는 문장이 노드_1에 대하여 인식 신뢰도가 기준치 이상이 되면, 도 3에 도시된 바와 같이'노드_2'의 대화 모델로 대화 흐름이 전개된다. 그리고 노드_2에 대하여 입력된 문장이 '파스타를 먹었어요','콜로세움을 봤어요','옷을 샀어요'등의 문장이 입력된 경우, 이 입력된 문장들의 인식 신뢰도가 기준치 이상인지를 판단한다. 이때 기준치에 따라 현재 모델에 포함된 대화 흐름(노드_3, 노드_4, 노드_5) 중 어느 하나에 해당하는지 파악하여 해당하는 대화 흐름으로 대화가 수행되도록 한다. 이때 분류기(대화관리 모듈)의 성능이 좋지 못한 경우 추가적으로 핵심이 되는 명사가 무언인지에 대한 정보 등을 받는 과정을 거쳐 사용자에게 단어의 사용에 대해 한 번 더 물음으로서 문장에서 핵심이 되는 단어들이 무엇인지 파악한다. 즉, 도 3의 노드_4 내지 노드_5와 같이 핵심이 되는 명사 '콜로세움'과 '옷'에 대하여 사용자에게 '콜로세움을 보셨구나''쇼핑하셨구나'라는 문장을 사용하면서 노드_6과 같은 흐름이 전개 될 수 있도록 대화 흐름을 유도한다. 이와 같이 대화의 인식 신뢰도가 낮은 상황에서 오류문장을 출력하는 대신 대화 데이터를 수집하는 자연스러운 학습상황으로 사용자를 유도하여 챗봇이 대화에 대응하지 못하는 상황을 자연스럽게 넘어가는 역할을 담당하도록 한다.
도 4는 도 3에 따른 과정을 보여주기 위한 학습의 일예를 나타낸 도면으로 현재 대화 흐름의 대화 엣지를 타고 다음 대화 흐름으로 넘어갈 수 있는 경우는 인식 신뢰도가 기준치 이상인 경우이며, 그 외의 경우에는 도 4와 같이 학습의 단계가 이루어진다. 이 경우 새로 습득된 데이터와 레이블을 포함하여 다시 학습시키는 과정을 통해 챗봇의 성능을 개선할 수 있다.
도 5는 도 1에 따른 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법 중 다른 예를 나타낸 도면이고 도 6은 도 5에 따른 과정을 보여주기 위한 학습의 일예를 나타낸 도면으로 사용자 데이터가 입력되고, 이 입력된 사용자 데이터를 자연어 처리 기법으로 처리하여 '로마에 갔어요'라는 문장이 입력되면, 이 입력된 문장의 인식 신뢰도를 판단하게 된다. 이때 '로마에 갔어요'라는 문장이 노드_1에 대하여 인식 신뢰도가 기준치 이상이 되면 도 5에 도시된 바와 같이'노드_2'의 대화 모델로 대화 흐름이 전개되거나 기준치 이하이면 현재 대화 모델에 새로운 대화 모델로 추가하는 과정을 수행하게 되는데 도 5에 도시된 바와 같이 노드_1에 대하여 입력된 문장이'돈이 없어서 여행을 못갔어"와 같이 인식 신뢰도가 기준치 이하이고 기준치 이하인 이유가 사용자 데이터를 처리할 수 없는 대화 모델이 존재하지 않은 경우 새로운 대화 모델(노드_N#)을 추가하는 과정이 수행된다. 이때 새로운 대화 모델(노드_N#)이 추가 수행되는 과정은 판단된 오류가 해당 챗봇이 대응할 수 없는 발화 때문이므로 다음 발화가 어떻게 이어질지에 대해 물음으로서 대화 모델이 어떻게 확장될 수 있는지에 대한 데이터를 수집할 수 있다. 또한 이러한 과정을 통해 학습자들이 생각하지 못했던, 혹은 단순히 대화 모델이 제공하지 못하는 대화 상황에 대해서도 발화들에 대해 생각할 기회를 주고 학습자들의 언어 사용 실력을 증진할 수 있다.
그리고 이와 같이 대화 모델을 확장하는 데이터를 수집한 경우 학습자에게 받은 데이터가 정답이라는 확신을 하기 어려우니 향후 사용자들에게 해당 노드의 데이터가 신뢰할 수 있는 데이터인지를 묻는 과정을 통해 해당 데이터의 신뢰도를 확인 한 후 대화 모델에 추가시키며 이는 도 6에 도시되어 있다.
또한 대화를 확장하는 도중에 대화 모델이 끊기는 경우, 본 대화 모델은 결국 하나의 지점으로 수렴하므로'그런데...'와 같은 화제를 전환하는 발화와 함께 현재의 대화 노드를 챗봇의 대화가 수렴하는 지점으로 이동시킨다.
도 9는 본 발명에 따른 대화 모델의 데이터 크라우드소싱을 위한 챗봇을 간략하게 도시한 블록도이다.
챗봇은 컴퓨터 프로그램으로 구현되어 컴퓨팅 장치에 의하여 수행될 수 있다. 컴퓨터 프로그램으로 구현된 본 발명의 챗봇은 일반적인 컴퓨터 시스템일 수 있다.
챗봇(10)은 도 1에 도시된 바와 같이, 하나 이상의 프로세서(100), 하나 이상의 메모리(200), 하나 이상의 입력장치(300), 하나 이상의 출력장치(400), 하나 이상이 통신장치(500), 하나 이상의 저장장치(700) 및 이들간의 통신을 위한 통신채널(600)을 구비한다.
프로세서(100)는 챗봇(10) 내에서 명령을 실행하도록 구성된다. 메모리(200)는 컴퓨터 판독 가능한 일시적인 저장 매체로서, 전원이 공급되지 않으면 저장된 데이터를 유지하지 않는다. 메모리(200)는 예를 들어 프로세서(100)가 실행하기 위한 명령, 명령을 실행하기 위하여 필요한 데이터, 명령의 실행에 의하여 발생된 데이터 등을 일시적으로 저장하기 위해 사용된다.
입력장치(300)는 사용자로부터 다양한 형태의 데이터를 입력받기 위하여 사용되며, 데이터의 형태 및 컴퓨팅 장치(10)에 따라 다양한 종류의 것이 사용될 수 있다. 예를 들어 컴퓨팅 장치(10)가 일반적인 컴퓨터 시스템인 경우에는 키보드와 마우스가 사용될 수 있으며, 태블릿 컴퓨터인 경우에는 터치 디스플레이에 표시되는 키보드가 사용될 수 있다. 또한 입력되는 데이터가 영상인 경우에는 카메라가 사용될 수 있으며, 음향인 경우에는 마이크가 사용될 수 있다.
출력장치(400)는 사용자에게 다양한 형태의 데이터를 제공하기 위하여 사용되며, 데이터의 형태 및 컴퓨팅 장치(10)에 따라 다양한 종류의 것이 사용될 수 있다.
컴퓨팅 장치(10)는 통신장치(500)를 이용하여 외부의 기기 또는 네트워크와 통신한다. 통신장치(500)를 이용한 통신은 유선, 무선 등 다양한 방식으로 이루어질 수 있다.
저장장치(700)는 컴퓨터로 판독 가능한 장기간의 저장을 위한, 하드 디스크와 같은 저장 매체이다. 컴퓨팅 장치(10)는 프로세서(100)에 의하여 실행 될 수 있는 오퍼레이팅 시스템(20)을 저장하며 오퍼레이팅 시스템(20)은 컴퓨팅 장치(10)의 작동 및 컴퓨터 프로그램의 실행을 제어한다. 저장장치(700)는 컴퓨팅 장치(10)에 의해 실행되는 컴퓨터 프로그램 및/또는 데이터를 저장할 수 있다.
저장장치(700)는 컴퓨팅 장치(10)에 의하여 실행되는 컴퓨터 프로그램을 포함하는 복수개의 모듈, 즉 채팅관리 모듈(710), 자연어처리 모듈(720), 대화관리 모듈(730), 학습관리 모듈(750)을 저장한다. 또한 저장장치(700)는 이들 복수개의 모듈에 저장된 컴퓨터 프로그램을 실행하기 위하여 필요한 대화 모델 데이터 베이스가 구비되어 있다.
챗봇(10)에서의 일부 모듈은 사용자 단말기에 일부 포함되거나 일부는 서버(도시되지 않음)에 포함될 수 있으며, 챗팅관리 모듈(710)은 사용자 인터페이스를 처리하는 모듈로서 사용자와 사물 또는 시스템, 특히 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체이다. 사용자 인터페이스는 물리적인 하드웨어와 논리적인 하드웨어 요소를 포함하며 사용자가 시스템을 조작할 수 있는 입력과, 시스템이 사용자가 이용한 것에 대한 결과를 표시하는 출력이 가능할 수 있도록 한다.
자연어처리 모듈(720)은 입력된 텍스트 데이터를 가장 작은 단위인 형태소 단위로 구분해 각 형태소가 어떤 품사를 가지는지 분석하고 형태소 분석으로 입력된 데이터에 대해 명사, 동사, 형용사, 조사 등의 품사 정보를 알아내어 구문분석 과정을 거쳐 의미 관계 분석에 활용된다. 구문분석은 명사구, 동사구, 형용사구 등 특정 기준을 가지고 구분하고, 구분된 각 덩어리(chunk) 사이에 어떠한 관계가 존재하는지 분석한다. 이러한 구문분석을 주어, 목적어, 수식어구들을 파악할 수 있다. 이 정보들은 그 자체로도 의미를 지니지만 추가적인 화행분석으로 활용도가 높아진다. 화행분석이란 사용자 발화에 대한 의도를 분석하는 작업으로 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 단순한 감정 표현인지 문장의 의도를 구분해 내는 것이다.
대화관리 모듈(730)은 인식 신뢰에 따라 입력된 사용자 데이터 대해 어떠한 대답으로 대화가 이루어져야 할지, 호응을 할지를 판단하므로 적절한 답변을 위한 대화처리 과정이 이루어지도록 한다.
학습관리 모듈(740)은 습득한 데이터와 레이블을 포함하여 다시 학습시키는 과정을 통해 챗봇의 성능을 개선시키도록 한다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
10: 챗봇
20: 오퍼레이팅시스템
100: 프로세서
200: 메모리
300: 입력장치
400: 출력장치
500: 통신장치
600: 통신채널
700: 저장장치
710: 챗팅관리 모듈
720: 자연어처리 모듈
730: 대화관리 모듈
740: 학습관리 모듈

Claims (11)

  1. 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법으로서,
    (a) 사용자 데이터가 입력되는 단계;
    (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계;
    (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계;
    (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및
    (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계
    를 포함하되,
    상기 대화 모델 수정은,
    상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 것
    를 포함하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  2. 청구항 1에 있어서,
    상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이상인 경우, 현재 대화 모델 흐름으로 대화가 이루어지는 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  3. 청구항 1에 있어서,
    상기 기준치는 0.8를 의미하는 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  4. 청구항 1에 있어서,
    상기 인식 신뢰도가 낮은 이유는 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이거나 또는 현재의 대화 모델 흐름 상 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우 중 하나 인 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  5. 삭제
  6. 청구항 1에 있어서,
    상기 새로운 대화 흐름을 추가하는 과정은,
    (e1) 다음 대화 모델이 어떻게 이어질 지에 대한 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 수집하는 단계; 및
    (e2) 상기 단계 (e1)에서 제공된 질문 이후 어떻게 확장될 수 있는지에 대한 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 수집하는 단계
    를 포함하는 것을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  7. 청구항 6에 있어서,
    상기 단계 (e2) 이후, 상기 수집된 답변 데이터가 신뢰할 수 있는지를 묻는 질문을 통해 신뢰도를 확인하는 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  8. 청구항 1에 있어서,
    상기 데이터를 추가하는 과정은
    사용자 데이터의 핵심이 되는 명사가 사용된 질문을 이용하여 핵심이 되는 단어들이 무엇인지 파악함으로 이루어지는 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  9. 청구항 2에 있어서
    상기 흐름은 대화 노드 및 대화 엣지를 포함하는 것
    을 특징으로 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법.
  10. 컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법으로서,
    (a) 사용자 데이터가 입력되는 단계;
    (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계;
    (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계;
    (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및
    (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계
    를 포함하되,
    상기 대화 모델 수정은,
    상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 것
    를 포함하는 방법이 수행되도록 하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱을 위한 장치.
  11. 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되면,
    (a) 사용자 데이터가 입력되는 단계;
    (b) 상기 단계 (a)에서 입력된 사용자 데이터를 자연어 기법으로 처리하는 단계;
    (c) 상기 단계 (b)에서 처리된 사용자 데이터에 대응되는 대화 모델의 인식 신뢰도를 판단하는 단계;
    (d) 상기 단계 (c)에서 판단된 인식 신뢰도가 기준치 이하인 경우 질문을 제공하고 상기 질문에 대한 사용자의 답변 데이터를 이용하여 인식 신뢰도가 낮은 이유를 파악하는 단계; 및
    (e) 상기 단계 (d)에서 파악된 낮은 이유에 기초하여 대화 모델을 수정하는 단계
    를 포함하되,
    상기 대화 모델 수정은,
    상기 단계 (d)에서 파악된 이유가 현재의 대화 모델로 대응 가능하나 데이터가 부족한 경우이면, 현재의 대화 모델에 포함된 대화 흐름 중 어느 하나에 해당하는지 여부를 파악하여 해당하는 대화 모델 흐름에 데이터를 추가하고, 현재의 대화 모델 흐름 중 상기 사용자 데이터를 처리할 수 있는 대화 모델 흐름이 존재하지 않는 경우이면, 새로운 대화 흐름을 추가하는 것
    을 실행하는 챗봇을 위한 대화 모델의 데이터 크라우드소싱을 위한 컴퓨터 프로그램





KR1020170175923A 2017-12-20 2017-12-20 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법 KR102102287B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170175923A KR102102287B1 (ko) 2017-12-20 2017-12-20 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170175923A KR102102287B1 (ko) 2017-12-20 2017-12-20 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법

Publications (2)

Publication Number Publication Date
KR20190074508A KR20190074508A (ko) 2019-06-28
KR102102287B1 true KR102102287B1 (ko) 2020-04-20

Family

ID=67065994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175923A KR102102287B1 (ko) 2017-12-20 2017-12-20 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법

Country Status (1)

Country Link
KR (1) KR102102287B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102660276B1 (ko) 2023-10-11 2024-04-25 주식회사 마인즈앤컴퍼니 거대언어모델을 활용한 업무수행 챗봇 서비스장치 및 그 장치의 구동방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095932A1 (ko) * 2019-11-14 2021-05-20 주식회사 셀바스에이아이 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치
KR102310725B1 (ko) * 2019-11-14 2021-10-08 주식회사 셀바스에이아이 대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치
KR102468418B1 (ko) * 2021-01-21 2022-11-21 한국과학기술원 크라우드소싱을 통한 대화형 텍스트 내 질문, 답변, 질문 유형 수집 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122618A1 (en) 2012-10-26 2014-05-01 Xiaojiang Duan User-aided learning chatbot system and method
CN105094315B (zh) * 2015-06-25 2018-03-06 百度在线网络技术(北京)有限公司 基于人工智能的人机智能聊天的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102660276B1 (ko) 2023-10-11 2024-04-25 주식회사 마인즈앤컴퍼니 거대언어모델을 활용한 업무수행 챗봇 서비스장치 및 그 장치의 구동방법

Also Published As

Publication number Publication date
KR20190074508A (ko) 2019-06-28

Similar Documents

Publication Publication Date Title
KR102494643B1 (ko) 적절한 에이전트의 자동화된 어시스턴트 호출
KR102394289B1 (ko) 맥락을 인식하는 인간-대-컴퓨터 대화
US20220237233A1 (en) Method and system for generating a conversational agent by automatic paraphrase generation based on machine translation
US9865264B2 (en) Selective speech recognition for chat and digital personal assistant systems
US9805718B2 (en) Clarifying natural language input using targeted questions
KR102102287B1 (ko) 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
US11238226B2 (en) System and method for accelerating user agent chats
KR102342172B1 (ko) 제작자 제공 콘텐츠 기반 인터랙티브 대화 애플리케이션 테일링
US11797772B2 (en) Word lattice augmentation for automatic speech recognition
US11694032B2 (en) Template-based intent classification for chatbots
WO2015096564A1 (zh) 一种在线语音翻译方法和装置
KR20190096304A (ko) 대화 내용에 대한 요약문 생성 장치 및 방법
JP2020505643A (ja) 音声認識方法、電子機器、及びコンピュータ記憶媒体
US11164562B2 (en) Entity-level clarification in conversation services
EP3495928A1 (en) Candidate input determination method, input suggestion method, and electronic apparatus
US20240118910A1 (en) Adapting client application of feature phone based on experiment parameters
US10713288B2 (en) Natural language content generator
US20220188525A1 (en) Dynamic, real-time collaboration enhancement
JP6449368B2 (ja) 会話提供装置、会話提供方法及びプログラム
US10282417B2 (en) Conversational list management
CN110249326B (zh) 自然语言内容生成器
US20210118434A1 (en) Pattern-based statement attribution
CN108108350B (zh) 名词识别方法及装置
JP2019109424A (ja) 計算機、言語解析方法、及びプログラム
US20230281396A1 (en) Message mapping and combination for intent classification

Legal Events

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