KR102598033B1 - 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법 - Google Patents

챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법 Download PDF

Info

Publication number
KR102598033B1
KR102598033B1 KR1020210175690A KR20210175690A KR102598033B1 KR 102598033 B1 KR102598033 B1 KR 102598033B1 KR 1020210175690 A KR1020210175690 A KR 1020210175690A KR 20210175690 A KR20210175690 A KR 20210175690A KR 102598033 B1 KR102598033 B1 KR 102598033B1
Authority
KR
South Korea
Prior art keywords
chatbot
conversation
user
topic
state
Prior art date
Application number
KR1020210175690A
Other languages
English (en)
Other versions
KR20230087082A (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 KR1020210175690A priority Critical patent/KR102598033B1/ko
Publication of KR20230087082A publication Critical patent/KR20230087082A/ko
Application granted granted Critical
Publication of KR102598033B1 publication Critical patent/KR102598033B1/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/50Business processes related to the communications industry
    • G06Q50/30
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (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)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법에 관합니다. 이러한 본 발명은 기계 독해 기술과 엔티티 벡터 기반으로 챗봇의 오답변을 탐지할 수 있습니다.
이전에 행해진 사용자와 챗봇과의 대화 내용을 분석하여 현재 대화에서 사용자와 챗봇 각각의 대화 상태를 파악하여 사용자와 챗봇의 대화 주제 방향을 비교하고 주제 방향이 다르다면 챗봇에 알림을 줄 수 있습니다.

Description

챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법{THE METHOD OF MATCHING DIALOG TOPICS IN THE CHATBOT CHATTING SYSTEM AND OF ALERTING THE SYSTEM}
본 발명은 기계학습 기반의 언어 분석 및 처리 기술에 관한 것이며, 특히 대화형 채팅을 수행하는 챗봇 기술에 관한 것이다.
기계에 의해 사람의 음성 또는 텍스트를 인식하여 반응하는 기술은 실생활의 여러 분야에서 인공지능 시스템으로 응용되고 있다. 이러한 시스템은 텍스트 마이닝 기술을 바탕으로 사용자의 입력 문장을 분석하여 의미를 파악하고, 그 의도에 맞게 응답을 생성, 출력하게 된다. 이러한 정보처리 기술 및 기계학습 기술의 발달로 상담사를 대신하여 고객의 질의에 대한 답변을 자동화할 수 있는 대화 시스템 (Dialog System) 또는 챗봇 (Chatbot)의 활용이 이곳 저곳 시도되고 있다. 또한, 최근 들어 콜센터 비용을 줄이는 추세가 챗봇 수요를 더 높이는 방향을 이끌고 있다.
그러나 챗봇이 사용자의 모든 질의에 언제나 적절한 답변을 제공할 수 있는 것은 아니다. 적절한 답변 제공이 챗봇의 핵심이기 때문에 이 문제를 극복하기 위해 챗봇 기술은 계속 개선되고 있다.
본 발명의 발명자들은 위와 같은 문제점을 해결하기 위하여 오랫동안 연구하고 노력한 끝에 본 발명을 완성하기에 이르렀다.
선행 특허문헌: 대한민국 특허공보 제10-2103273호
본 발명의 발명자들은 챗봇이 인간처럼 완벽한 대화를 하도록 한다는 관념에서 벗어나 챗봇은 언제든지 사용자의 대화 의도에서 벗어난 답변을 내놓을 수 있으며, 이를 현실로 받아들여 상황을 타개하는 방향으로 논의하였다. 따라서 본 발명의 발명자들은 챗봇과 사용자의 대화의도가 서로 어긋나는 '사태'를 정확하고 신속하게 발견하는 데 초점을 뒀다. 이를 통해 사용자와 챗봇의 대화가 원활하지 않다는 것을 파악할 수 있고, 이로 인해 챗봇이 아닌 '상담자'가 챗봇과 사용자 사이의 대화에 즉시 개입할 수 있는 방법론을 제공하는 것이 본 발명의 목적이다.
이러한 목적을 위해서 본 발명은, 첫째, 사용자의 대화 주제와 챗봇의 대화 주제를 기계적으로 판단하기 위해 대화 주제 방향을 수치화할 필요성 있고, 둘째 이렇게 수치화된 대화 주제 방향의 값을 서로 비교하여 사용자의 대화 주제와 챗봇의 대화 주제의 방향이 얼마나 멀어져 있는지 판단해야 한다.
한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론 할 수 있는 범위 내에서 추가적으로 고려될 것이다.
위와 같은 과제를 달성하기 위한 본 발명은 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법으로서:
사용자 단말이 채팅 대화 시스템에서 질의를 전송하면, 이전 사용자 질의와 챗봇의 답변이 존재하는 경우 사용자 전용 대화 상태 추적기가 사용자의 주제 상태를 추출하는 단계;
챗봇이 채팅 대화 시스템에서 상기 질의에 대한 답변을 전송하면, 챗봇 전용 대화 상태 추적기가 챗봇의 주제 상태를 추출하는 단계;
주제 벡터 변환기가 상기 사용자의 주제 상태 및 상기 챗봇의 주제 상태를 각각 임베딩하여 임베딩 벡터를 각각 생성하고, 이 임베딩 벡터를 범주형 데이터로 나타내서 주제 벡터로 각각 변환하는 단계
주제 벡터 비교기가 상기 주제 벡터들의 수치적으로 계산되는 유사도를 채팅 대화 시스템의 제어부로 전달하는 단계; 및
상기 제어부가 상기 유사도가 미리 설정한 임계 값보다 작은 경우 관리자 단말로 알람을 출력하는 단계를 포함하여, 사용자와 챗봇 사이의 대화가 원활하지 않는 경우 관리자 단말이 채팅 대화에 즉시 개입하도록 하는 것을 특징으로 한다.
본 발명의 바람직한 어느 실시예에 따른 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법에 있어서, 상기 주제 벡터들의 유사도는 코사인 유사도 계산에 의한 결과 값인 것이 좋다.
위와 같은 본 발명에 따르면 챗봇의 답변이 질문자의 질문 의도와 다른 답변을 내놓을 경우 이를 효과적으로 탐지해 내는 챗봇 대화 시스템을 구현할 수 있다. 이를 응용하면 사용자와 챗봇의 대화가 원활하지 않게 되는 상황을 신속하게 파악할 수 있고, 이로 인해 상담관이 대화에 즉시 개입할 수 있도록 조치를 취할 수 있다.
한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.
도 1은 본 발명의 바람직한 어느 실시예에 따른 시스템 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 바람직한 어느 실시예에 따른 챗봇 답변 상태 탐지기(100)의 모듈 구성을 예시하였다.
도 3은 본 발명의 바람직한 실시예에 따른 사용자 전용 대화 상태 추적기(110)와 챗봇 전용 대화 상태 추적기(120)의 모듈의 기능 구조를 개략적으로 나타내었다.
도 4는 본 발명의 바람직한 실시예에 따른 사용자 전용 대화 상태 추적기(110)와 챗봇 전용 대화 상태 추적기(120)의 동일한 모듈 구성을 개략적으로 나타낸다.
도 5는 도 4의 자세한 구성과 원리를 나타낸다.
도 6은 본 발명의 일 실시예에 따라 임베딩 벡터를 생성하는 과정을 예시하는 도면이다.
도 7은 본 발명의 일 실시예에 따라 주제 벡터를 생성하는 인코딩 과정을 예시하는 도면이다.
도 8은 본 발명의 방법의 전체 프로세스를 개략적으로 예시하고 있다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다. 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 바람직한 어느 실시예에 따른 시스템 구성을 개략적으로 나타내었다.
시스템 관리 서버(3)는 채팅 대화 시스템(10)을 관리한다. 시스템 관리 서버(3)는 하나 이상의 하드웨어/소프트웨어 장비를 포함하는 하나 이상의 서버 장치로 구성될 수 있다.
채팅 대화 시스템(10)은 웹 또는 앱으로 구축될 수 있다. 바람직하게는 채팅 대화 시스템(10)은 텍스트 기반으로 행해지는 실시간 채팅을 지원한다. 또 다른 실시예에서는 음성 기반의 실시간 대화일 수도 있다.
채팅 대화 시스템(10)에서 시스템 쪽 화자로서는 챗봇(2)이 설치된다. 챗봇(2)은 기계학습을 바탕으로 대화를 수행하도록 만들어진 컴퓨터 프로그램이다.
사용자 단말(1)은 이 채팅 대화 시스템(10)에서 챗봇(2)과 실시간으로 대화한다.
시스템 관리 서버(3)는 하나 이상의 데이터베이스(11)를 갖는다. 데이터베이스(11)에는 챗봇(2)이 기계학습을 할 수 있는 지식 베이스가 보관된다. 그밖에 시스템 관리 서버(3)는 본 발명의 모듈이 실행되는 데 필요한 데이터베이스를 갖는다.
본 발명에서 관리자 단말(30)은 챗봇(2)의 대화를 지원한다. 본 발명의 바람직한 실시예에 있어서 관리자 단말(30)은 채팅 대화 시스템(10)에 접속하여 챗봇(2)의 대화 권한을 중지시키고 사용자 단말(1)F과 직접 대화할 수 있다. 챗봇(2)과 사용자 단말(1) 사이의 대화에 문제가 없다면 관리자 단말(30)이 그 대화에 개입할 필요가 없다. 그러나 인공지능인 챗봇(2)이 사용자 단말(1)에서 입력되는 언어의 의미에 맞게 대응하기는커녕 완전히 벗어난 주제로 반응하는 상황이 발생할 수 있다. 종래의 기술에서는 이를 즉시 교정해 주지 못했다. 그러나 본 발명의 채팅 대화 시스템(10)에서는 그런 상황에서 관리자 단말(30)이 문제를 일으킨 챗봇(2)을 대신해서 사용자와의 대화를 즉시 교정해 줄 수 있다. 그러려면 채팅 대화 시스템(10)이 관리자 단말(30)에 채팅 대화에 참여할 수 있도록 알려줘야 한다. 이를 위해 챗봇 제어부(101)가 설치된다.
챗봇 제어부(101)는 챗봇 대화 시스템(10)에서 사용자와 챗봇의 대화 주제를 매칭하면서 대화 주제 매칭에 문제가 발생하는 경우, 그 이벤트를 관리자 단말(30)에 통지한다.
쳇봇 제어부(101)는 챗봇 답변 상태 탐지기(100)를 포함한다.
도 2는 본 발명의 바람직한 어느 실시예에 따른 챗봇 답변 상태 탐지기(100)의 주요 모듈을 예시하였다. 챗봇 답변 상태 탐지기(100)는 사용자 전용 대화 상태 추적기(110), 챗봇 전용 대화 상태 추적기(120), 주제 벡터 변환기(130), 주제 벡터 비교기(140), 알람 출력기(150)를 포함할 수 있다.
이전 채팅 기록(사용자 질의, 챗봇 답변)이 존재하면 이를 학습할 수 있다. 사용자가 질의를 하면 사용자 전용 대화 상태 추적기(110)는 사용자의 현재 주제 상태를 추출한다. 챗봇 전용 대화 상태 추적기(120)는 사용자 질의에 대한 챗봇의 답변에 대해 챗봇의 주제 상태를 추출한다.
주제 상태 추출 관련해서는 대화 상태 추적(Dialog State Tracking: DST) 기술이 사용될 수 있다. 이 기술은 챗봇이 하나의 목표를 위해 질문하면서 사용자에게 정보를 얻어내는 방법이다. 예를 들면 챗봇 대화 시스템이 고속철도 예약 시스템에 구축됐다고 가정하자. 사용자가 고속철도 ktx를 예약하려고 하면, 챗봇은 예약 프로세스를 진행하기 위해 목적지와 예약 시간을 물어볼 것이다. 대체로 DST 기술은 사용자의 대화 상태를 추출하는 데 사용되지만, 본 발명에서는 챗봇의 대화 상태를 추출하는 데도 DST 기술을 적용한다. 챗봇과 사용자의 대화 주제 방향이 같은지를 판별하기 위해서이다. 도 3을 통해 사용자 전용 대화 상태 추적기(110)와 챗봇 전용 대화 상태 추적기(120)의 모듈의 구조를 더 이해할 수 있다.
사용자와 챗봇이 챗봇 대화 시스템의 채팅 창에서 대화를 하고 있다. 사용자 전용 대화 상태 추적기(110)는 대화에서 사용자의 대화 상태를 추출할 수 있다. 예컨대 도 3의 대화 시나리오에서, '기차 예약해줘', '부산', '오후3시'라는 대화를 통해 '기차 예약: {행선지: 부산, 시간: 오후 3시}라는 대화 상태를 추출할 수 있다. 또한 챗봇 전용 대화 상태 추적기(120)는 챗봇의 대화, '질문해 주세요, 어디로 가나요? 몇 시에 갑니까?'라는 답변을 통해 '기차 예약: {행선지: 질문, 시간: 질문}이라는 대화 상태를 추출할 수 있다.
바람직하게는 사용자 전용 대화 상태 추적기(110) 및 챗봇 전용 대화 상태 추적기(120)는 동일한 모듈 구조로 구성된다. 예컨대 도 4에 도시된 것처럼, 상태를 나타내는 3개의 서브 모듈(115, 116, 117)과, 사용자와 챗봇의 대화를 인코딩해주는 대화 인코딩 모듈(111)을 포함할 수 있다.
도 5는 본 발명의 바람직한 어느 실시예에서 사용되는 대화 상태 추적기의 모듈 구조를 예시한다. 도 4 및 도 5를 이용하여 모듈 구성에 대해 설명한다.
대화 인코딩 모듈(111)에서 사용자와 챗봇의 대화가 다음처럼 정의 된다. {u1, a1, u2, a2, …, ut} 여기서 ui는 사용자의 질의문에 해당된다. ai는 챗봇의 답변을 의미한다. 각각의 대화마다의 단어를 토큰화하여 이미 학습시켜 놓은 언어모델 버트(Bidirectional Encorder Representations from Transformers: BERT)에 통과 하여 벡터 Pi를 출력으로 내놓는다. 이때 나온 벡터 Pi들은 RNN에 입력으로 들어가 {d1, d2, …, dL} 의 문맥 벡터가 출력으로 나온다. L은 총 대화의 개수를 의미한다.
슬롯 스판 예측 모듈(115)는 대화 인코딩 모듈(111)의 출력과 질의 벡터 qi를 입력받아 어떤 주제에 대한 상태인지를 추출해 낸다. 앞에서 예시한 것처럼 사용자가 '기차 예약해 줘"라고 하면 '기차예약' 부분이 현재 상태를 나타내는 단어라 예측하는 것이다.
슬롯 타입 예측 모듈(116)은 상기 슬롯 스판 예측 모듈(115)에 대한 정보를 나타내는 모듈이다. '긍정', '부정', '상관없음', 'Span', '질문받음'으로 나타낼 수 있다. 여기서 Span은 대화 중에서 찾을 수 있는 관련있는 엔티티를 의미하고, '질문 받음'은 현재 질문받은 상태라는 것을 나타낸다. 입력은 대화 인코딩 과정에서 RNN의 hidden layer의 상태 벡터와 질문 벡터q1로 받는다.
슬로 캐리오버 예측 모듈(117)은 대화 인코딩 과정에서 RNN의 hidden layer의 상태 벡터를 입력으로 받고, 이를 통해 이전의 상태를 지금의 상태로 그대로 가져 올지 말지를 결정한다.
다시 도 2로 돌아가서, 주제 벡터 변환기(130)는 사용자의 주제 상태 및 상기 챗봇의 주제 상태를 각각 임베딩하여 임베딩 벡터를 각각 생성한다. 그리고 이 임베딩 벡터는 주제 벡터로 각각 변환된다.
주제 벡터 비교기(140)는 주제 벡터들의 수치적으로 계산되는 유사도를 채팅 대화 시스템의 제어부로 전달한다.
주제 벡터 변환기9130)의 임베딩 벡터 생성은 도 6에 도시되어 있는 BERT와 Fully Connected Network를 이용할 수 있다.
이 네트워크에 "도시 : 서울" 상태값을 Tok1 ~ TokN에 입력으로 받으면 T'1,~T'M까지 임베딩된 벡터가 출력으로 나오고 출력 부분의 C 토큰을 Fully Connected Network와 Softmax로 이루어진 네트워크의 입력으로 들어가서 i1에서 in까지 확률값이 나온다. 이 확률값은 출력으로 나온 임베딩된 벡터가 Cat2Vec에서 어느 입력값으로 넣어야 하는지 판별해 주는 확률값이다. 이중에서 가장 높은 확률 값을 가진 곳이 임베딩된 벡터를 넣을 곳이다.
이제 본 발명의 바람직한 어느 실시예에 따라 임베딩된 벡터를 이용하여 주제 벡터를 생성하는 방법에 관해 설명한다. 도 7은 그중 Cat2Vec인코딩 모듈을 예시한다.
어떤 객체의 상태는 범주형 데이터로 나타낼 수 있다. 여기서 범주형 데이터는 어느 필드(field)에 어느 범주(category)가 속하는지 보여주는 데이터이다. 예를 들면 성별이라는 필드에 남자, 여자 라는 범주를 나타내는 데이터를 나타낸다. Cat2Vec는 여러 범주형 데이터를 범주 간의 상관관계를 보존하면서도 필드 간 관계성을 나타내는 벡터로 변환시킨다. 이를 위한 네트워크가 도 7이다. 상기 임베딩된 벡터를 이 네트워크에 입력으로 넣으면 주제 벡터가 생성되는 구조이다.
이러한 Cat2Vec은 다음과 같은 과정을 거친다. 임베딩된 벡터는 게이트를 통해 출력 벡터를 만들어 낸다. 이 출력 벡터들은 K-Max 풀링 레이어를 거쳐 K개가 선택된다. 게이트와 풀링 레이어의 반복이 최소 2 번 있고 난 뒤, 최종 벡터를 생성하기 위해 전 연결(fully connected) 레이어를 거친다.
Gate에서 사용하는 f 는 다음의 식 1과 같다.
(식 1)
여기서 는 Embeding Layer에서 입력 벡터값을 의미한다. f는 벡터 연산을 의미하는 function이며, f sum 은 여기에서 벡터 합을 뜻한다.
K-Max Pooling Layer 에서 선택하는 K는 학습 샘플의 원래 범주 수이다. Internaction Layer 중에서 Pooling Layer로 선택되는 K개의 Layer는 각 벡터의 L1 norm이 가장 긴 벡터 순으로 정해진다. 벡터의 L1 norm은 다음의 식 2와 같다. 즉, 벡터 v가 v = [v1, v2, …, vn]이라면 L1 norm은 다음과 같이 계산된다.
(식 2)
다음으로 주제 벡터 비교기(140)는 주제 벡터들의 수치적으로 계산되는 유사도를 채팅 대화 시스템의 제어부로 전달한다. 본 발명의 바람직한 실시예에서는 코사인 유사도를 이용한다. 상기 주제 벡터들이 출력되면, 벡터 간 코사인 유사도를 측정하여 주제 벡터들의 비교 값을 출력할 수 있다. 코사인 유사도는 아래의 식 3에 의해 계산될 수 있다. 주제 벡터의 벡터 간의 내적 값을 벡터의 크기 곱으로 나누어 준다. 수치는 0~1 사이의 값이다.
(식 3)
도 8은 본 발명의 방법의 전체 프로세스를 개략적으로 나타낸 것이며, 이 도 8을 이용하여 앞에서 설명한 내용을 다시금 정리한다.
사용자 단말이 채팅 대화 시스템에 접속하여 질의를 전송함으로써 사용자 질의가 시작된다(S100). 이전 사용자 질의와 챗봇의 답변이 존재하는 경우, 이전 채팅 기록을 통합한다(S110).
다음으로 사용자 전용 대화 상태 추적기가 사용자의 주제 상태를 추출한다(S210).
챗봇이 사용자 질의에 응답하여 답변할 것이다. 그러면 챗봇 전용 대화 상태 추적기가 챗봇의 주제 상태를 추출한다(S130).
다음으로 주제 벡터 변환기가 사용자의 주제 상태 및 챗봇의 주제 상태를 각각 임베딩하여 임베딩 벡터를 각각 생성한다(S140). ㄱ그리고 이 임베딩 벡터를 주제 벡터로 각각 변환한다(S150).
그다음 각 주제 벡터를 내적하여 주제가의 차이를 수치화해서 비교한다(S160). 바람직하게는 코사인 유사도를 이용할 수 있다.
이러한 수치는 쳇봇 제어부로 전달된다. 제어부는 출력된 유사도가 미리 설정한 임계 값보다 작은 경우 관리자 단말로 알람을 출력한다(S170). 그러면 관리자 단말이 챗봇 사이의 대화에 즉시 개입해서 사용자 대화 주제에 맞게 채팅에 임할 수 있다.
참고로, 본 발명의 일 실시예에 따른 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계 되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크 (floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐 만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.

Claims (2)

  1. 챗봇 제어부가 챗봇 대화 시스템에서 사용자와 챗봇의 대화 주제를 매칭하면서 대화 주제 매칭에 문제가 발생하는 경우, 그 이벤트를 관리자 단말에 통지하되, 이를 위해 상기 챗봇 제어부는 챗봇 답변 상태 탐지기를 포함하고, 상기 챗봇 답변 상태 탐지기는 사용자 전용 대화 상태 추적기, 챗봇 전용 대화 상태 추적기, 주제 벡터 변환기, 주제 벡터 비교기 및 알람 출력기를 포함하며, 이러한 챗봇 답변 상태 탐지기에 의해 실행되는 방법으로서:
    사용자 단말이 상기 챗봇 대화 시스템에서 질의를 전송하면, 이전 사용자 질의와 챗봇의 답변이 존재하는 경우 상기 사용자 전용 대화 상태 추적기가 사용자의 현재 주제 상태를 추출하는 단계;
    챗봇이 상기 챗봇 대화 시스템에서 상기 질의에 대한 답변을 상기 사용자 단말에게 전송하면, 상기 챗봇 전용 대화 상태 추적기가 챗봇의 주제 상태를 추출하는 단계;
    상기 주제 벡터 변환기가 상기 사용자의 현재 주제 상태 및 상기 챗봇의 주제 상태를 각각 임베딩하여 임베딩 벡터를 각각 생성하고, 이 임베딩 벡터를 범주형 데이터로 나타내서 주제 벡터로 각각 변환하는 단계;
    상기 주제 벡터 비교기가 상기 주제 벡터들의 수치적으로 계산되는 유사도를 상기 챗봇 대화 시스템의 상기 챗봇 제어부로 전달하는 단계;
    상기 챗봇 제어부가 상기 유사도가 미리 설정한 임계 값보다 작은 경우 상기 알람 출력기를 통해 상기 사용자 단말과 챗봇의 대화 주제 매칭에 문제가 있다는 이벤트를 상기 관리자 단말로 통지하는 단계; 및
    상기 관리자 단말이 해당 채팅 대화에 개입하여 사용자의 주제 상태에 맞게 대화를 교정하고 채팅을 지속하는 단계를 포함하며, 사용자와 챗봇 사이의 대화가 원활하지 않는 경우 관리자 단말이 채팅 대화에 즉시 개입하도록 하는 것을 특징으로 하는 챗봇 대화 시스템에서 사용자와 챗봇 사이의 대화를 즉시 교정하는 방법.
  2. 제1항에 있어서,
    상기 주제 벡터들의 유사도는 코사인 유사도 계산에 의한 결과 값인, 챗봇 대화 시스템에서 사용자와 챗봇 사이의 대화를 즉시 교정하는 방법.
KR1020210175690A 2021-12-09 2021-12-09 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법 KR102598033B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210175690A KR102598033B1 (ko) 2021-12-09 2021-12-09 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210175690A KR102598033B1 (ko) 2021-12-09 2021-12-09 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법

Publications (2)

Publication Number Publication Date
KR20230087082A KR20230087082A (ko) 2023-06-16
KR102598033B1 true KR102598033B1 (ko) 2023-11-03

Family

ID=86948175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210175690A KR102598033B1 (ko) 2021-12-09 2021-12-09 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법

Country Status (1)

Country Link
KR (1) KR102598033B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019133863A1 (en) * 2017-12-29 2019-07-04 XBrain, Inc. Session handling using conversation ranking and augmented agents
KR102271361B1 (ko) * 2019-11-08 2021-06-30 고려대학교 산학협력단 자동 질의응답 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
장성은 외 3명, "CNN과 LSTM 네트워크를 활용한 한국어 QA봇"*

Also Published As

Publication number Publication date
KR20230087082A (ko) 2023-06-16

Similar Documents

Publication Publication Date Title
US10679614B2 (en) Systems and method to resolve audio-based requests in a networked environment
US11790899B2 (en) Determining state of automated assistant dialog
US10818284B2 (en) Methods of and electronic devices for determining an intent associated with a spoken user utterance
US20170140755A1 (en) Interaction assistant
US11749274B2 (en) Inference on date time constraint expressions
AU2019219717B2 (en) System and method for analyzing partial utterances
US11145305B2 (en) Methods of and electronic devices for identifying an end-of-utterance moment in a digital audio signal
CN110268472B (zh) 用于自动化对话系统的检测机构
Blanchard et al. Identifying teacher questions using automatic speech recognition in classrooms
JP2024502946A (ja) 音声認識トランスクリプトの句読点付け及び大文字化
Gulyaev et al. Goal-oriented multi-task bert-based dialogue state tracker
Paul et al. Towards universal dialogue act tagging for task-oriented dialogues
CN114118451A (zh) 智能交互模型的训练方法、交互方法、装置及设备
Schmitt et al. Towards adaptive spoken dialog systems
Jaiswal et al. Controlling for confounders in multimodal emotion classification via adversarial learning
GB2596351A (en) Forensic interaction understanding: A system and method for determining the nature of spoken interactions using acoustic and linguistic markers
Young et al. Evaluation of statistical pomdp-based dialogue systems in noisy environments
KR102598033B1 (ko) 챗봇 대화 시스템에서 대화 주제를 매칭하고 시스템에 알람하는 방법
KR20210123545A (ko) 사용자 피드백 기반 대화 서비스 제공 방법 및 장치
KR20110075632A (ko) 다중 목적 영역의 통계적 대화 정책 추론 방법
Jiang et al. A hybrid method for overlapping speech detection in classroom environment
Miao et al. English speech feature recognition-based fuzzy algorithm and artificial intelligent
Anidjar et al. A thousand words are worth more than one recording: Nlp based speaker change point detection
Hosomi et al. Deception Detection and Analysis in Spoken Dialogues based on FastText
Kim et al. A composite kernel approach for dialog topic tracking with structured domain knowledge from wikipedia

Legal Events

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