KR20210038260A - 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템 - Google Patents

머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템 Download PDF

Info

Publication number
KR20210038260A
KR20210038260A KR1020190121209A KR20190121209A KR20210038260A KR 20210038260 A KR20210038260 A KR 20210038260A KR 1020190121209 A KR1020190121209 A KR 1020190121209A KR 20190121209 A KR20190121209 A KR 20190121209A KR 20210038260 A KR20210038260 A KR 20210038260A
Authority
KR
South Korea
Prior art keywords
question
customer
machine learning
faqs
customer service
Prior art date
Application number
KR1020190121209A
Other languages
English (en)
Other versions
KR102240910B1 (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 KR1020190121209A priority Critical patent/KR102240910B1/ko
Publication of KR20210038260A publication Critical patent/KR20210038260A/ko
Application granted granted Critical
Publication of KR102240910B1 publication Critical patent/KR102240910B1/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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language 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/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템이 개시된다.
상기 시스템은 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템의 서버; 고객의 자주 묻는 질문(FAQ)의 질문-응답 쌍이 저장된 데이터베이스; 및 고객 질문이 입력되면, 머신러닝 모듈이 상기 데이터베이스를 검색하여 고객 질문을 미리 정의된 FAQ 목록의 질문과 비교하며, 해당 고객 질문의 한글 문장을 음소 단위로 분해하고 각 음소를 벡터로 embedding하며, BiGRU 머신 러닝 모델을 사용하여 고객 질문과 FAQ 질문의 두 문장의 문장 유사도 모델(sentence similarity model) 학습 알고리즘을 사용하여 두 문장의 유사도(similarity)를 학습하여 유사도가 높은 상위 5개의 FAQ를 객관식으로 상담원에게 제시되고, 상담원이 FAQ 중 하나가 선택되면 자동으로 학습데이터로 변환하여 해당 질문에 답변을 출력하도록 하는 문장 유사도 모델 머신러닝 시스템을 포함한다.

Description

머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템{Korean Customer Service Associate Assist System based on Machine Learning}
본 발명은 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템에 관한 것으로, 보다 상세하게는 인공지능의 자연어 처리 기술과 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model)의 학습 알고리즘을 사용하며, 고객 서비스 시스템에서, 고객 질문에 대하여 서버의 데이터베이스에 저장된 미리 정의된 FAQ 질문-응답 쌍에서 두 문장의 질문을 비교하여 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시하고, 상담원이 상위 5 개의 FAQ의 질문 중 일치하는 질문-응답 쌍(question-answer pairs) 중 하나를 선택하면, 서버의 데이터베이스에서 머신 러닝의 문장 유사도 모델에 따라 상담원의 선택 사항이 자동으로 훈련 데이터(training data)로 변환하여 고객 질문에 대한 응답을 출력하는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템에 관한 것이다.
Digital Consumer Interaction Report1에 따르면, 고객 서비스 시스템에서 고객은 불만을 제기하거나 솔루션을 찾아야 하는 상황에서, 자연어 처리(NLP, Natural Language Processing)를 사용한 사용자 질의 패턴에 대한 사전 학습을 사용하는 AI 챗봇(Chatbot) 보다는 직원과 대화하는 것을 선호한다고 한다. 그러나, 그 중 48.5 %만이 단일 쿼리(query)를 통해 해당 답변을 얻을 수 있었다. 또한, Talkdesk2에 대한 설문 조사에 따르면, 고객의 42 %가 "빠른 응답 속도"를 가장 중요한 문제로 선택했다.
자연어 처리(NLP) 처리시에 문장들(sentences)은 언어를 탐지하고, 해당 언어의 특징에 따라 형태소 분석(morphological analysis)을 통해 형태소 단위(morpheme unit)로 구분되며, 선택된 형태소는 문장 벡터(sentence vectors)를 생성하는데 사용된다. 예를들면, 문장 벡터는 4 가지 쿼리 타입으로 분류된 FAQ들에서 각 질문(question)에서 추출된 속성들(attributes)로 구성된다. 사용자 쿼리 문장 벡터(user query sentence vector)와 이전에 수집된 쿼리 문장 벡터의 유사도 분석(similarity analysis)이 이루어진다.
자연어 처리(NLP, Natural Language Processing)는 자동 번역, 음성인식, 검색엔진, 챗봇 등에 사용된다.
AI 챗봇은 예를들면, 메신저에서 채팅하듯 질문을 입력하면, 인공지능(AI) 모듈이 데이터베이스를 검색하여 빅 데이터를 분석하고, 일상 언어로 사람과 대화를 하며 답변 결과를 출력하는 대화형 메신저에 사용된다.
챗봇은 질문 답변시에, 질문 데이터 수집- 질문 데이터베이스 검색- 기계학습(machine learning) 알고리즘- 질문에 대한 응답 단계로 구성된다.
또한, AI 챗봇은 고객 서비스 시스템에서 고객 만족도를 높이는데 사용된다. 최근 연구에 따르면, 챗봇 기술은 집중적으로 발전하고 있으며[1], 챗봇이 직원을 대체할 수 있다[2]. 그러나, 챗봇은 부자연스러운 대화[3] 및 요구와의 불일치[4]와 같은 단점도 있다.
챗봇의 지능을 6 세 아동 수준으로 추정하는 연구가 있었다[5]. 이 연구에 따르면, 고객 서비스에 AI 챗봇을 직접 사용하는 것은 분명한 한계가 있다.
또한, AI 음성인식 챗봇(Chatbot)은 음성 질의 데이터를 입력받아 음성 인식 후에 STT(Speech To Text) 텍스트 데이터를 입력받고, 데이터베이스를 검색(query)하여 빅 데이터를 분석하여 기계학습 그 답변 결과를 TTS(Text To Speech)를 실행하여 답변 결과 텍스트들과 음성 데이터를 빠른 답변을 제공한다.
AI를 간접적으로 사용하는 다양한 문장 분류 알고리즘이 개시되어 있다[6-8].
- [6] Yoon Kim의 문장 분류, 계산 및 언어를 위한 전통적인 신경망, "Convolutional Neural Networks for Sentence Classification, Computation and Language," arXiv preprint arXiv:14085882, 2014.
- [7] S Lai, L Xu, K Liu and J Zhao, 텍스트 분류를 위한 재귀적-합성곱 신경망(R-CNN), "Recurrent Convolutional Neural Networks for Text Classification," AAAI, pp 2267-2273, 2015.
- [8] T Joachims, SVM(support vector machines) 분류기를 갖는 텍스트 카테고리화: 관련 특징들을 갖는 학습, "Text categorization with support vector machines: Learning with many relevant features," European conference on machine learning, 1998.
그러나, 이러한 방법들은 클래스가 수정될 때 전체 훈련 과정이 반복되어야 하는 단점이 있다. 또한, 규칙(Rule) 기반 챗봇(Chatbot)은 미리 지정된 키워드(keyword)와 패턴(pattern)을 통해 사용자의 의도(Intent)를 파악하며, 자연어 처리(NLP)를 사용한 사용자 질의 패턴에 대한 사전 학습과, 학습된 질의들과의 유사도(similarity)를 분석하여 원하는 수준의 정확도(accuracy)를 달성하기 위해 많은 양의 훈련 데이터(training data)가 필수적이며, 사전에 훈련되고 형식이 지정된 훈련 데이터를 생성하는 것은 쉽지 않다.
이와 관련된 선행기술1로써, 특허등록번호 10-1130444에서는 마이크로소프트 코포레이션이 등록된 "기계번역기법을 이용한 유사문장 식별 시스템"이 개시되어 있다.
텍스트에서 유사문장을 식별하는 것은 자연어 처리(NLP) 시스템의 많은 적용예들에 있다. 유사문장의 식별 및 생성의 예는 질의답변(Question Answering) 시스템을 들 수 있다.
선행기술1은 동일 사건에 대하여 작성된 다른 기사들의 클러스터로부터 텍스트 분절들의 세트를 획득한다. 텍스트 분절들의 세트는 그 후 텍스트 정렬기법을 수행하여 텍스트 내의 텍스트 분절로부터 유사문장들을 식별하도록 한다. 또한, 이는 유사문장을 생성하는데 사용될 수 있다.
유사문장(paraphrase) 처리시스템을 트레이닝(training)하는 방법으로서,
복수의 다큐먼트를 액세스하는 단계;
상기 복수의 다큐먼트로부터, 공통 주제에 관해 서로 다른 작성자들에 의해 작성된 관련 텍스트들의 클러스터(cluster)를 식별하는 단계 - 상기 관련 텍스트들의 클러스터는 그 출처가 서로 다른 뉴스 에이전시들이고 공통 사건에 관한 것이라고 또한 식별됨 -;
상기 관련 텍스트들의 클러스터를 수신하는 단계;
상기 클러스터로부터 텍스트 분절들(text segments)의 세트(set)를 선택하는 단계 - 상기 선택하는 단계는 상기 관련 텍스트들 중 필요한 텍스트 분절들을 관련 텍스트 분절들의 세트로 그룹화하는 단계를 포함함 -; 및
텍스트 정렬(textual alignment)을 이용하여 상기 관련 텍스트 분절들의 세트 내에 포함된 텍스트 분절들 내의 텍스트들 간의 유사문장 관계를 식별하는 단계를 포함하고,
상기 텍스트 정렬은 통계적 텍스트 정렬(statistical textual alignment)을 이용하여 상기 관련 텍스트 분절들의 세트 내의 텍스트 분절들 내의 단어들을 정렬하는 것, 및 상기 정렬된 단어들에 기초하여 상기 유사문장 관계를 식별하는 것을 포함한다.
이와 관련된 선행기술2로써, 특허등록번호 10-1991486에서는 "문장 유사도 기반 다의어 데이터베이스 확장장치 및 그 방법"이 개시되어 있다.
문장 유사도 기반 다의어 데이터베이스 확장장치는
다의어 지식 데이터베이스를 문장 유사도를 기반으로 확장하는 장치로서,
상기 다의어 지식 데이터베이스에 포함된 다의어의 의미별 용례를 추가하여 확장하기를 원하는 단어인 확장대상 단어를 선정하고, 상기 확장대상 단어가 포함되어 있는 적어도 하나의 문서를 수집하며, 상기 수집된 문서에서 상기 확장대상 단어가 포함된 확장대상 문장만을 추출하는 문서 수집부;
상기 다의어 지식 데이터베이스에 상기 확장대상 단어의 의미별 용례를 추가하기 위한 문장 유사도 계산에 사용되는 다중 의미를 지닌 단어(이하, '다의어 분석대상 단어'라 함)를 선정하고, 상기 다의어 분석대상 단어의 의미별 용례 및 상기 적어도 하나의 확장대상 문장에 대하여 형태소 분석을 수행하며, 상기 수행된 형태소 분석 결과에 따라 상기 다의어 분석대상 단어의 의미별 용례와 상기 확장대상 문장을 비교하여 유사도를 계산하고,
상기 계산 결과에 따라 다의어 의미를 분류하는 다의어 인식부;
상기 분류된 다의어 의미에 대한 신뢰도를 계산하고, 상기 계산된 신뢰도를 미리 설정된 임계 값과 비교하여 상기 확장대상 문장이 다의어 의미의 용례로 사용될 수 있을지 여부를 검증하여 상기 확장대상 문장이 용례로 사용될 수 있는 다의어 의미를 확정하는 다의어 검증부; 및
상기 확정된 다의어 의미에 대한 용례로 상기 확장대상 문장을 다의어 데이터베이스에 추가하는 데이터베이스 확장부를 포함한다.
그러나, 고객 서비스 시스템은 고객 센터, 콜센터의 인공지능 시스템의 도입이 필요하며, 고객 질문에 대하여 상담원이 질문 답변(question-answer) 문제는 두 문장의 유사도 여부를 결정하는 문제로 응답시간이 많이 들었다. 또한, 머신 러닝 기술을 사용하여 고객의 질의를 미리 사전에 정의된 FAQ와 일치시켜 응답 시간을 효과적으로 단축하는 시스템을 제공하지 않았다.
특허등록번호 10-1130444 (등록일자 2012년 3월 19일), "기계번역기법을 이용한 유사문장 식별 시스템", 마이크로소프트 코포레이션 특허등록번호 10-1991486 (등록일자 2019년 6월 14일), "문장 유사도 기반 다의어 데이터베이스 확장장치 및 그 방법", 한국전자통신연구원
[1] Zumstein, Dand S Hundertmark, "Chatbots - An Inter-active Technology for Personalized Communication, Transactions and Services", IADIS International Journal on WWW/Internet, 2017 [2] Carl Benedikt Frey and Michael A Osborne, "The future of employment: How susceptible are jobs to computerisation?," Technological Forecasting and Social Change, 2017. [3] Will Knight, "AI's Language Problem," MIT Tech-nology Review, 2016. [4] Coniam, "The linguistic accuracy of chatbots: usability from an ESL perspective," Text & Talk, 2014. [5] Feng Liu, Yong Shi and Ying Liu, "Intelligence quotient and intelligence grade of artificial intell-igence" Annals of Data Science, Volume 4, Issue 2, pp. 179-191, June 2017. [6] Yoon Kim, "Convolutional Neural Networks for Sentence Classification, Computation and Language," arXiv preprint arXiv:14085882, 2014. [7] S Lai, L Xu, K Liu and J Zhao, "Recurrent Convolutional Neural Networks for Text Classification," AAAI, pp 2267-2273, 2015. [8] T Joachims, "Text categorization with support vector machines: Learning with many relevant features," European conference on machine learning, 1998. [9] Kyunghyun Cho, Bart Van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio, "Learning phrase reprentations using rnn encoder-decoder for statistical machine translation," arXiv preprint arXiv:14061078, 2014
상기 문제점을 해결하기 위한 본 발명의 목적은 인공지능의 자연어 처리 기술과 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model)의 학습 알고리즘을 사용하며, 고객 서비스 시스템에서, 고객 질문에 대하여 서버의 데이터베이스에 저장된 미리 정의된 FAQ 질문-응답 쌍에서 두 문장의 질문을 비교하여 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시하고, 상담원이 상위 5 개의 FAQ의 질문 중 일치하는 질문-응답 쌍(question-answer pairs) 중 하나를 선택하면, 서버의 데이터베이스에서 머신 러닝의 문장 유사도 모델에 따라 상담원의 선택 사항이 자동으로 훈련 데이터(training data)로 변환하여 고객 질문에 대한 응답을 출력하는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템을 제공한다.
본 연구는 고객 서비스 담당자가 고객의 질의를 사전 정의된 FAQ와 일치시켜 응답 시간을 효과적으로 단축하고, 시스템 업데이트를 위해 직원의 조치로부터 교육 데이터를 동시에 생성할 수 있도록 새로운 고객 서비스 어시스턴트 보조 시스템을 제안하였다.
본 발명의 목적을 달성하기 위해, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템은 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템의 서버; 고객의 자주 묻는 질문(FAQ)의 질문-응답 쌍이 저장된 데이터베이스; 및 고객 질문이 입력되면 상기 서버로 전달되며, 머신러닝 모듈이 상기 데이터베이스를 검색하여 상기 고객 질문을 미리 정의된 FAQ 목록의 질문과 비교하며, 상기 고객 질문의 한글 문장을 각 문자에 대하여 음소 단위로 분해하고 각 음소를 벡터로 embedding하며, 머신러닝 모델을 사용하여 고객 질문과 FAQ 질문의 두 문장의 문장 유사도 모델(sentence similarity model) 학습 알고리즘을 사용하여 두 문장의 유사도(similarity)를 학습하여 유사도가 높은 상위 k개의 FAQ를 객관식으로 상담원에게 제시되고 FAQ 중 하나가 선택되면 자동으로 학습데이터로 변환하여 해당 질문에 답변을 출력하도록 하는 문장 유사도 모델(sentence similarity model) 머신러닝 시스템을 포함한다.
본 발명의 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템은 인공지능의 자연어 처리 기술과 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model)의 학습 알고리즘을 사용하며, 고객 서비스 시스템에서, 고객 질문에 대하여 서버의 데이터베이스에 저장된 미리 정의된 FAQ 질문-응답 쌍에서 두 문장의 질문을 비교하여 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시하고, 상담원이 상위 5 개의 FAQ의 질문 중 일치하는 질문-응답 쌍(question-answer pairs) 중 하나를 선택하면, 서버의 데이터베이스에서 머신 러닝의 문장 유사도 모델에 따라 상담원의 선택 사항이 자동으로 훈련 데이터(training data)로 변환하여 고객 질문에 대한 답변 응답을 출력하는 효과가 있다.
본 연구는 고객 서비스 담당자가 고객의 질문을 서버 데이터베이스에 저장되고 미리 정의된 FAQ와 일치시켜 고객 질문에 대한 응답 시간을 효과적으로 단축하고, 시스템 업데이트를 위해 상담원(직원)의 조치로부터 학습 데이터를 동시에 생성할 수 있도록 새로운 고객 서비스 어시스턴트 보조 시스템을 제안하였다.
고객 서비스 시에, 질문 답변 문제는 두 문장의 유사 여부를 결정하는 문제로 단순화된다. 제안된 머신 러닝의 기계 학습 기반 한국 고객 서비스 어시스턴트 보조 시스템은 고객 질문에 대하여 미리 정의된 FAQ에서 상위 5 개의 FAQ 중 일치하는 하나의 FAQ의 질문-응답 쌍(question-answer pairs)이 선택한다. 즉 상담원이 5 개의 FAQ의 질문 중 하나의 FAQ를 선택하기 만하면 된다. 그런 다음, 상담원의 선택 사항이 자동으로 훈련 데이터(training data)로 변환되어 질문에 대한 응답이 출력된다.
도 1은 각각의 문장(Sentence)의 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 학습 모델 구조(learning model structure)를 보인 도면이다.
도 2는 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템의 전체 서비스 구성도이다.
도 3은 베이스라인 데이터의 정확도(accuracy with only baseline data)를 나타낸 도면이다.
도 4는 자동적으로 생성된 데이터의 정확도(accuracy with only automatically generated data)를 나타낸 도면이다.
도 5는 첫번째 재-학습 방법을 갖는 정확도(accuracy with the first re-training method)를 나타낸 도면이다.
도 6은 두번째 재-학습 방법을 갖는 정확도(accuracy with the second re-training method)를 나타낸 도면이다.
도 7은 첫번째 반복 재-학습 방법의 정확도 변화(accuracy change over repeated re-trainings of the first method)를 나타낸 도면이다.
도 8은 두번째 반복 재-학습 방법의 정확도 변화(accuracy change over repeated re-trainings of the second method)를 나타낸 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 발명의 구성 및 동작을 상세하게 설명한다.
본 발명은 고객 서비스 직원이 고객의 질문에 답변하는데 도움이 되는 새로운 고객 서비스 어시스턴트 보조 시스템을 제안한다. 제안된 고객 서비스 어시스턴트 보조 시스템의 알고리즘은 다음과 같다.
첫째, 특정 고객 서비스 웹사이트, 메신저 시스템 또는 페이스북 등 소셜 커뮤니티 사이트에 접속하여 고객이 상담원(직원)에게 질문(question)이 입력되면, 해당 질문은 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템으로 전송된다. 그런 다음, 고객 서비스 어시스턴트 보조 시스템은 수신된 질문을 미리 정의된 FAQ(frequently asked questions) 목록의 질문과 비교한다. 그 후 고객 서비스 어시스턴트 보조 시스템은 미리 정의된 FAQ로부터 상위 5개의 질문-응답 쌍(question-answer pairs)을 제공하며, 최종적으로 상담원은 5개 권고 사항 중에서 하나의 질문을 선택한다. 그후, 선택된 질문은 자동적으로 학습 데이터(learning data)를 전달하여 해당 답변을 출력한다.
결과적으로, 상담원(직원)의 선택에 의해 추가 교육 데이터가 자동으로 생성되며, 시스템의 재학습에 사용된다. 실험 결과는 제안된 고객 서비스 어시스턴트 보조 시스템의 자동 생성 데이터가 시스템의 정확도(accuracy)를 재귀적으로 강화하는 것을 보여준다.
본 과제는 다음과 같이 구성된다. 섹션 2와 3은 학습 모델과 제안된 방법론을 각각 자세히 설명한다. 섹션 4는 실험 결과, 섹션 5는 결론을 제시한다.
II. 학습 모델(learning model)
고객 서비스 어시스턴트 보조 시스템의 학습 모델은 3 가지 프로세스로 구성된다.
프로세스; i) 전처리(preprocess), ii) 임베딩(embedding), 및 iii) BiGRU(bidirectional gated recurrent unit) 머신 러닝
1) 고객 질문의 한글 문장을 각 문자에 대하여 음소 단위로 분해하고, 2) 각 음소를 벡터로 embedding하며(embedding size 256으로 설정), 3) BiGRU(bidirectional gated recurrent unit) 머신 러닝을 이용해 두 문장의 유사도를 학습한다.
4) 상담원의 고객 응대에 활용하는데 있어서, 서버 데이터베이스에 미리 저장된 고객 질문-응답 쌍들이 준비되며,
5) (고객 질문 - 서버의 데이터베이스에 기 저장된 FAQ들 중에 하나)의 형태로 각각 비교하고,
6) 고객 질문과 선택된 하나의 FAQ의 질문 유사도를 비교하여 두 문장의 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시한다.
7) 상담원은 이 중 실제 고객의 질문에 대한 답이 존재하면, 5개의 FAQ 중 하나를 선택
8) 실제 고객의 질문에 대한 답이 존재하지 않으면, '존재하지 않음' 항목을 선택한다.
9) 상담원이 항목을 선택하면, 이는 즉시 새로운 학습 데이터로 자동 변환하여 데이터베이스에 저장
10) 이후 주기적으로 새롭게 모인 학습 데이터로 모델을 재학습해 데이터베이스에 업데이트
A. 전처리(Preprocess)
한국어 ‘Hangul’은 19개 초성 자음(initial consonants), 21 개 모음(vowels), 27개 종성 자음(final consonants)들로 구성된다.
예를 들면, 문자‘한’은 (초성 자음‘ㅎ’) + (모음‘ㅏ’)+ (종성 자음‘ㄴ’)으로 구성되며, 발음은 ‘han’과 같이 발음된다.
Figure pat00001
표 I에 보인 바와 같이, 각 요소에 대해 토큰(token)은 다음과 같이 제공된다.
고객 서비스 어시스턴트 보조 시스템(700)은
고객 서비스 시스템의 서버(710);
상담원이 고객 응대시, 고객이 자주 묻는 질문(FAQ, frequently asked questions)의 질문-응답 쌍이 저장된 데이터베이스(720); 및
고객이 채팅하듯 질문이 입력되면 상기 서버로 전달되며, 머신러닝 모듈이 상기 데이터베이스를 검색하여 기 설정된 갯수의 FAQ의 질문-응답 쌍 데이터를 비교하여 고객의 질문을 미리 정의된 FAQ 목록의 질문과 비교하며, 고객의 질문의 한글 문장을 각 문자에 대하여 음소 단위로 분해하고 각 음소를 벡터로 embedding하며 BiGRU 머신러닝 모델을 사용해 두 문장의 유사도(similarity)를 학습하여 해당 질문에 답변을 출력하도록 하는 문장 유사도 모델(sentence similarity model) 머신러닝 시스템(730)을 포함하며,
상기 머신 러닝 모델은 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model) 학습 알고리즘을 사용하고,
상기 고객 서비스 어시스턴트 보조 시스템(700)은 고객 질문(question)이 서버(710)로 입력되면, 고객 질문은 문장/탭으로 분리된 단어에 각 문자에 대하여 초 초성 자음, 모음, 그리고 종성 자음들로 분해된다. 분해된 요소들(decomposed elements)은 표 1에 주어진 해당 토큰들(tokens)에 의해 교체된다. 하나의 질문은 일련의 토큰들(sequence of tokens)로 변환된다.
시퀀스의 길이는 150으로 고정된다. 150보다 길면 초과된 부분이 절단된다. 시퀀스가 150보다 짧은 나머지 섹션은 0으로 채워져 토큰화된다. 결과적으로, 질문은 표 2에 도시된 바와 같이 토큰화된다.
Figure pat00002
B. 문장 유사도 모델(Sentence similarity model)
질문의 토큰화 전처리 후, 각각의 토큰 시퀀스(each sequence of tokens)는 각 임베딩 레이어(Embedding layer)를 통해 임의의 벡터(random vector)로 임베디드 된다. 본 연구에서 임베딩 크기(embedding size)를 256으로 설정했다. 임의의 벡터는 각 BiGRU로 계산된다. BiGRU(bidirectional gated recurrent unit)는 문장 유사도 측정(sentence similarity measure)[9] 용으로 잘 알려져 있다.
고객 질문의 문장과 데이터베이스에서 선택된 FAQ의 질문-응답쌍의 문장, 두 문장의 유사도(similarity)는 완전 연결층(full connect (FC) layer)과 유클리드 거리(euclidian distance)를 사용한 sigmoid 함수로 계산된다.
두 문장(sentence1, sentence2)의 유사도(similarity)는 0과 1 사이의 값이다. 값이 1에 가까울수록 두 문장이 유사하다. 질의와 학습 데이터와의 거리를 측정하기 위해 유클리드 거리 d(X,Y)를 사용한다. N차원 공간의 두 점 X = (x1,x2,x3,...
Figure pat00003
)과 Y = (y1,y2,y3,...
Figure pat00004
)이 주어질 때, 두 점 사이의 유클리드 거리는 d(X,Y)는 다음과 같이 계산된다.
Figure pat00005
sigmoid 함수는 비선형 함수(nonlinear)로써, τ1(x)가 비선형적인 0~1 사이의 값을 갖는 이진 모드(binary mode) sigmoid 함수,
Figure pat00006
; 및
τ2(x)가 비선형적인 -1~1 사이의 값을 갖는 양극 모드(bipolar mode) sigmoid 함수
Figure pat00007
로 구분된다.
이진 모드 sigmoid 함수는
Figure pat00008
과 같이 표현되며, α는 경사도를 결정하며, α가 클수록 경사가 급하다.
Figure pat00009
, 이진 모드 sigmoid 함수
Figure pat00010
, 양극 모드 sigmoid 함수
III. 제안된 방법
A. 기본 모델 교육(Baseline model training)
처음에는 60,000 쌍의 질문(question)이 Web을 통해 수집된다.
여러 한국 포털 사이트에서 수집된 데이터는 약속된 형식으로 수정되고, 훈련(training)에 사용된다. 훈련에 사용되는 두 개의 문장 파일(sentence file)과 레이블 파일(label file)이 있다.
첫째, 문장 파일(sentence file)에서 각 줄(each line)은 탭(tab)에 의해 분리된 한 쌍의 문장(a pair of sentences)을 포함한다. 둘째, 라벨 파일(label file)에서 각 줄은 '1' 또는 '0'의 값을 갖는다. 두 문장에서 문장 쌍(sentence pair in the sentence file)이 비슷하면 해당 라벨이 '1'이고, 그렇지 않으면 라벨은 '0'이다. 기준 데이터 세트(baseline data set)와 같이, 30000 쌍의 문장(sentences)과 해당 레이블(labels)이 작성된다. 라벨의 비율(The ratio of the label)은 '1' to '0’은 1 : 1이다.
B. Service-on-the-loop data 획득
제안된 고객 서비스 어시스턴트 보조 시스템에서, 훈련 데이터는 고객 서비스 동안 자동으로 생성될 수 있다. 고객 질문이 입력되면, 고객 질문이 고객 서비스 어시스턴트 보조 시스템으로 전송된다. 그런 다음 서버의 데이터베이스에 저장된 FAQ와 일치하는 상위 5 개의 FAQ의 질문-응답 쌍이 서비스 직원(상담원)에게 표시되고, 서비스 직원은 그 중 하나의 FAQ를 선택한다. 결과적으로, 데이터베이스에 새로운 데이터가 작성된다. 이 절차는 도 2와 다음과 같이 5 단계로 요약할 수 있다.
1) 입력 질문(Input question) : Customer asks a question.
2) 서버로 질문 전달(Transfer the question)
서버는 입력된 고객 질문 및 FAQ 리스트를 학습 모델(learning model)로 전송한다.
3) Recommendations
상기 문장 유사도 학습 모델은 고객 질문에 대응하는 문장 유사도가 가장 높은 top 5개의 FAQs를 서비스 직원에게 표시한다.
4) 권장사항 FAQ들(recommended FAQs)을 보임
고객 서비스 어시스턴트 보조 시스템은 고객 서비스 직원(상담원)에게 권장사항 FAQ들(recommended FAQs)을 표시한다.
5) 데이터 획득
고객 서비스 직원은 권장 사항 FAQ들 중에서 하나의 FAQ를 선택한다. 결과적으로 새로운 고객 질문 데이터가 자동으로 생성되어 데이터베이스에 저장된다. 고객 질문에 대하여 서버 데이터베이스에 저장된 고객 서비스 직원이 선택한 FAQ가 있는 데이터는 '1'로 표시되고, FAQ에 고객 질문이 없는 데이터(나머지)는 '0'으로 표시된다.
실시예에서는, 고객 서비스 어시스턴트 보조 시스템(700)은 고객 질문에 대하여 문장 유사도가 높은 상위 5개의 FAQ를 객관식으로 서비스 직원에게 제시되고, 상기 서비스 직원이 권장 사항 FAQ들 중에서 하나의 FAQ를 선택하며, 해당하는 고객 질문에 대한 응답이 출력된다,
C. 재학습(Re-training)
고객 서비스 직원이 선택한 FAQ에 없는 고객 질문 데이터는 '0'으로 표시되며, 새로운 고객 질문 데이터는 학습 모델(learning model)을 질문-응답 쌍을 다시 재구성하여 서버 데이터베이스에 저장하여 재학습(re-train)하는데 사용될 수 있다. 재학습은 두 가지 방법으로 수행할 수 있다.
첫 번째 방법은 기본 모델(baseline model)의 가중치들(weights)을 유지하고 새로운 데이터로 훈련을 다시 시작하는 것이다.
두 번째 방법은 FAQ의 기본 데이터(질문-응답 쌍)와 입력되는 새로운 고객 질문 데이터를 통합하고 초기화 된 처음부터 질문-응답 쌍을 다시 서버 데이터베이스에 저장하여 학습을 다시 시작한다. 이러한 종류의 원형 구조(circular structure)를 사용하면, 고객 서비스 시스템의 고객 질문-응답의 정확도를 지속적으로 자동으로 향상시킬 수 있다.
일반적인 문장들(네이버 지식인 자료 크롤링)로 학습한 모델보다, 제안한 방법을 이용해 고객 서비스 어시스턴트 보조 시스템에 실제 새롭게 모인 고객 질문 데이터에 대하여 학습데이터로 재학습한 경우, 해당 고객 서비스 영역의 고객 질문의 문장 유사도가 더 정확하게 예측되었다.
본 발명의 가장 대표적인 장점 또는 특징은,
1) 새로운 고객 서비스를 시작할 때 특별히 고객 질문 데이터를 많이 모을 필요가 없으며, 고객 서비스를 진행하며 자동으로 서버의 데이터베이스에 저장되는 고객 질문 데이터가 쌓여 더 정확한 고객 질문-응답 모델로 응답 시간을 단축하여 고객 서비스 품질이 개선된다.
2) 고객 서비스 직원(상담원)을 대체하는 것이 아닌 지원하는 것이며, 주관식 문제를 객관식으로 바꿔줌으로써 고객 서비스의 질을 상담원 개개인의 능력과 관계없이 상향 평준화할 수 있는 점(이는 고객들의 불만이 보통 저학력 상담원이 질문을 잘 이해 못하는 것에 있는 것을 감안하면 기존 챗봇류 서비스와는 결이 다른 장점)입니다.
III. 실험결과
A. 실험 환경
기본 모델(Baseline model)은 여러 한국어 포털 웹 사이트에서 웹 크롤링하여 데이터를 학습했다. 기본 훈련 데이터의 수는 30,000이고 레이블 '1'과 '0'의 비율은 1 : 1 이다. FAQ 목록으로, 기본 FAQ에 대한 포털 웹 사이트와는 완전히 다른 Facebook FAQ 웹 페이지에서 13 개의 FAQ가 무작위로 선택되었다.
실제 고객 질문(real customer questions)을 얻기가 쉽지 않기 때문에, 고객 질문은 Facebook 고객 커뮤니티에서 웹 크롤링을 통해 인위적으로 질문 데이터를 수집하여 서버의 데이터베이스에 저장되었다. 배치 크기(batch size)는 128이고, 임베딩 크기(embedding size)는 256으로 실험을 수행했다. 실행 속도는 0.001로 설정되었고, 토큰의 최대 시퀀스 길이(maximum length of sequence of token)는 150으로 설정되었다.
우리는 Adam optimizer를 사용했으며, 이진 교차 엔트로피(binary cross entropy)는 손실 함수(loss function)로 사용되었다.
이진 교차 엔트로피는 머신 러닝의 결정 트리 학습 알고리즘을 사용하여 분류(classification)를 위한 의사결정 트리(Decision Tree)의 루트 노드(root node)로부터 단말 노드(leaf node)까지 모든 데이터를 규칙(rule)에 근거하여 분할 속성(splitting attribute)에 의해 자식 노드(child node)를 만들고 학습할 때, 예측 정확도를 위해 상기 학습 데이터들이 각각 0~1 사이의 값을 갖는다.
엔트로피 I는 데이터 집합(data set)의 동질적인(homogeneous) 정도를 측정하는 측도로 사용된다.
정확도(accuracy)는 이진 분류(binary classification), 다중 클래스 분류(multi-class classification)에서 머신 러닝의 분류 모델의 예측(prediction)이 얼마나 정확한지를 의미한다.
상기 기본 모델의 최종 출력은 0과 1 사이의 값이며, 이는 유사도(similarity)를 의미한다. 유사도의 값 1은 두 문장이 동일함을 의미한다. 정확도는 미리 사전에 정의된 테스트 세트(test set)를 통해 계산된다. 테스트 세트는 훈련(training)에 사용되지 않는 '1'레이블이 붙은 문장 쌍으로 구성된다. 이 문장 쌍은 입력된 고객 질문과, 서버 데이터베이스에 저장된 해당 고객 질문-응답 쌍들을 포함하는 FAQ 목록으로 구성된다. 각 고객 질문 입력에 대해 정정된 출력(correct output)은 정답이 고객 서비스 어시스턴트 보조 시스템의 k 개 권장 사항들(the top k recommendations)에 포함됨을 의미한다. 모든 실험은 k = 1, 2 및 5에 대해 수행되었다.
B. 제안된 시스템의 효과
이 실험은 도메인 특정 데이터(domain specific data)가 모델의 정확성에 주는 효과를 측정하였다. 도 3 및 도 4는 각각 고객 서비스 어시스턴트 보조 시스템에 의해 FAQ의 질문의 기본 데이터(baseline data, 질문-응답 쌍) 및 자동 생성된 고객 질문 데이터 만의 정확도(accuracy)를 나타낸다. 생성된 고객 질문 데이터는 기본 데이터보다 더 도메인 고유하므로 생성된 고객 질문 데이터의 정확도는 데이터 크기가 작을수록 훨씬 높다. 그러나, 새로운 고객 질문에 대하여 계속 응답 데이터를 생성하여 서버의 데이터베이스에 누적하여 저장하며, 고객 서비스시에 서버 데이터베이스에 저장된 FAQ의 기본 데이터(질문-응답 쌍)도 재학습되어 필수적으로 사용된다.
도 5 및 6은 각각 제 1 및 제 2 재학습 방법의 정확도를 나타낸다. 도면에 도시 된 바와 같이, 제 2 방법은 제 1 방법의 재학습 방법보다 효과적이다. 그 이유는 첫 번째 방법에서 네트워크의 가중치들(the weights of the network)이 수렴된 상태(converged state)이기 때문이다. 반면에 두 번째 방법은 수렴된 상태를 해제한다.
도 7 및 8은 각각 제 1 및 제 2 재훈련 방법(the first and the second re-training method)에 의한 반복된 재훈련에 대한 정확도 변화(accuracy change over repeated re-trainings)를 도시한다. 도시된 바와 같이, 두 방법 모두 반복적으로 적용될 때 충분히 효과적이다. 이는 고객 서비스 어시스턴트 보조 시스템의 가장 중요한 장점이다.
IV. 결론
본 발명의 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템은 인공지능의 자연어 처리 기술과 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model)의 학습 알고리즘을 사용하며, 고객 서비스 시스템에서, 고객 질문이 입력되면 서버 데이터베이스에 미리 정의된 FAQ의 질문과 비교하여 두 문장의 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시하고, 상담원이 상위 5 개의 FAQ 중에 일치하는 질문-응답 쌍(question-answer pairs) 중 하나의 FAQ를 선택하면, 서버의 데이터베이스에서 머신 러닝의 문장 유사도 모델에 따라 상담원의 선택 사항이 자동으로 훈련 데이터(training data)로 변환하여 고객 질문에 응답을 출력하는 효과가 있다.
본 연구는 고객 서비스 담당자가 고객 질문(질의)을 서버 데이터에 저장되고 미리 정의된 FAQ의 질문과 비교하고, 일치되는 FAQ의 고객 질문에 대하여 응답 시간을 효과적으로 단축하며, 시스템 업데이트를 위해 직원의 조치로부터 학습 데이터를 동시에 생성할 수 있도록 새로운 고객 서비스 어시스턴트 보조 시스템을 제안하였다.
고객 서비스 시에, 질문 답변 문제는 두 문장의 유사 여부를 결정하는 문제로 단순화된다. 제안된 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템은 서비스 직원이 고객 질문에 대하여 미리 정의된 FAQ에서 상위 5 개의 FAQ 중 질문-응답 쌍(question-answer pairs)을 선택하면, 즉 상담원이 5 개의 FAQ의 질문 중 하나의 FAQ의 질문-응답쌍을 선택하기 만하면 된다. 그런 다음, 서비스 직원의 선택 사항은 자동으로 훈련 데이터(training data)로 변환되어 고객 질문에 대한 응답이 출력된다.
본 연구는 고객 서비스 직원이 질문에 답변할 수 있는 새로운 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템을 제안하였다. 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템은 고객 서비스 직원이 서비스하는 동안 새로운 고객 질문 데이터를 자동으로 서버 데이터베이스에 축적할 수 있으므로 질문-응답 쌍을 다시 마련하여 재학습시킴으로써 다양한 고객 서비스 분야에서 데이터 부족 문제를 피할 수 있다. 또한, 실험 결과에 따르면, 시스템이 수집하는 고객 질문 데이터가 많을수록 정확도(accuracy)가 높아진다. 이는 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템에서 자동 축적된 고객 질문 데이터에 의해 시간이 지남에 따라 시스템의 정확도가 향상됨을 의미한다.
우선, 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템은 주관식 문제를 객관식 문제로 변환하고, 고객 서비스시에 직원(상담원)은 고객이 더 만족하게 하며 뿐만아니라 고객 질문에 대한 답변 시간을 줄일 수 있다.
또한, 고객 서비스 어시스턴트 보조 시스템은 한국어 뿐만아니라 영어, 프랑스어 등의 다른 언어에도 적용될 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 기록 매체는 스토리지, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과, 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로써 작동하도록 구성될 수 있다.
이상에서 설명한 바와 같이, 본 발명의 방법은 프로그램으로 구현되어 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 형태로 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 저장될 수 있다.
본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있음을 이해할 수 있을 것이다.
700: 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템
710: 서버 720: 데이터베이스
730: 문장 유사도 모델

Claims (9)

  1. 기계 학습 기반 고객 서비스 어시스턴트 보조 시스템의 서버;
    고객의 자주 묻는 질문(FAQ)의 질문-응답 쌍이 저장된 데이터베이스; 및
    고객 질문이 입력되면 상기 서버로 전달되며, 머신러닝 모듈이 상기 데이터베이스를 검색하여 상기 고객 질문을 미리 정의된 FAQ 목록의 질문과 비교하며, 상기 고객 질문의 한글 문장을 각 문자에 대하여 음소 단위로 분해하고 각 음소를 벡터로 embedding하며, 머신 러닝 모델을 사용하여 고객 질문과 FAQ 질문의 두 문장의 문장 유사도 모델(sentence similarity model) 학습 알고리즘을 사용하여 두 문장의 유사도(similarity)를 학습하여 문장 유사도가 높은 상위 k개의 FAQ를 객관식으로 상담원에게 제시되고 FAQ 중 하나가 선택되면 자동으로 학습데이터로 변환하여 해당 질문에 답변을 출력하도록 하는 문장 유사도 모델 머신러닝 시스템;
    을 포함하는 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  2. 제1항에 있어서,
    상기 머신 러닝 모델은 머신 러닝의 문장 유사도 측정(sentence similarity measure)을 위한 BiGRU(bidirectional gated recurrent unit) 머신 러닝의 기계 학습 엔진과 문장 유사도 모델(sentence similarity model) 학습 알고리즘을 사용하는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  3. 제2항에 있어서,
    상기 고객 서비스 어시스턴트 보조 시스템으로 질문이 입력되면, 질문은 문장/탭으로 분리된 단어에 각 문자에 대하여 초성 자음, 모음, 그리고 종성 자음들로 분해되고, 분해된 요소들은 표 1에 주어진 해당 토큰들에 의해 교체되고, 하나의 질문은 일련의 토큰들(sequence of tokens)로 변환되며,
    시퀀스의 길이는 150으로 고정되며, 150보다 길면 초과된 부분이 절단되고, 시퀀스가 150보다 짧은 나머지 섹션은 0으로 채워져 토큰화되는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  4. 제3항에 있어서,
    상기 문장 유사도 모델(Sentence similarity model)은
    고객 질문의 토큰화 전처리 후, 각각의 토큰 시퀀스(each sequence of tokens)는 각 임베딩 레이어(Embedding layer)를 통해 임의의 벡터(random vector)로 임베디드 되며, 실시예에서는 임베딩 크기(embedding size)를 256으로 설정했으며, 임의의 벡터는 문장 유사도 측정(sentence similarity measure)에 사용되는 BiGRU(bidirectional gated recurrent unit) 머신 러닝으로 계산되며,
    고객 질문의 문장과 데이터베이스에서 선택된 FAQ의 질문-응답쌍의 문장, 두 문장의 유사도(similarity)는 완전 연결층(full connect layer)과 유클리드 거리(euclidian distance)를 사용한 sigmoid 함수로 계산되고,
    두 문장(sentence1, sentence2)의 유사도(similarity)는 0과 1 사이의 값이 되며, 값이 1에 가까울수록 두 문장이 유사하고, 고객 질문(질의)와 학습 데이터와의 거리를 측정하기 위해 유클리드 거리 d(X,Y)를 사용하며, N차원 공간의 두 점 X = (x1,x2,x3,...
    Figure pat00011
    )과 Y = (y1,y2,y3,...
    Figure pat00012
    )이 주어질 때, 두 점 사이의 유클리드 거리는 d(X,Y)는
    Figure pat00013
    계산되는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  5. 제1항에 있어서,
    상기 문장 유사도 모델 머신러닝 시스템은
    1) 고객 질문의 한글 문장을 각 문자에 대하여 음소 단위로 분해하고, 2) 각 음소를 벡터로 embedding하며(embedding size 256으로 설정), 3) BiGRU(bidirectional gated recurrent unit) 머신 러닝을 이용해 두 문장의 유사도를 학습하며,
    4) 상담원의 고객 응대에 활용하는데 있어서, 고객 질문-응답 쌍이 준비되며,
    5) 고객 질문은 서버의 데이터베이스에 기 저장된 FAQ들 중에 하나의 형태로 각각 비교하고, 6) 상기 고객 질문과 선택된 하나의 FAQ의 질문 유사도를 비교하여 두 문장의 유사도가 가장 높은 top 5개의 FAQ를 상담원에게 객관식으로 제시하며
    7) 상담원은 이 중 실제 고객의 질문에 대한 답이 존재하면, 5개의 FAQ 중 하나를 선택하며, 8) 실제 고객의 질문에 대한 답이 존재하지 않으면, '존재하지 않음' 항목을 선택되며,
    9) 상담원이 항목을 선택하면, 이는 즉시 새로운 학습데이터로 자동 변환하여 데이터베이스에 저장하며,
    10) 이후 주기적으로 새롭게 모인 학습데이터로 모델을 재학습해 데이터베이스에 업데이트하는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  6. 제1항에 있어서,
    고객 질문은 고객 커뮤니티에서 웹 크롤링을 통해 인위적으로 질문 데이터를 수집하여 서버의 데이터베이스에 저장되었으며, 배치 크기(batch size)는 128이고, 임베딩 크기(embedding size)는 256으로 실험을 수행했으며, 실행 속도는 0.001로 설정되었고, 토큰의 최대 시퀀스 길이(maximum length of sequence of token)는 150으로 설정되었으며,
    Adam optimizer를 사용했으며, 이진 교차 엔트로피(binary cross entropy)는 손실 함수(loss function)로 사용되었으며,
    상기 이진 교차 엔트로피는 머신 러닝의 결정 트리 학습 알고리즘을 사용하여 분류(classification)를 위한 의사결정 트리(Decision Tree)의 루트 노드(root node)로부터 단말 노드(leaf node)까지 모든 데이터를 규칙(rule)에 근거하여 분할 속성(splitting attribute)에 의해 자식 노드(child node)를 만들고 학습할 때, 예측 정확도를 위해 상기 학습 데이터들이 각각 0~1 사이의 값을 가지며,
    엔트로피 I는 데이터 집합(data set)의 동질적인(homogeneous) 정도를 측정하는 측도로 사용되고,
    정확도(accuracy)는 이진 분류(binary classification), 다중 클래스 분류(multi-class classification)에서 머신 러닝의 분류 모델의 예측(prediction)이 얼마나 정확한지를 의미하고,
    상기 기본 모델의 최종 출력은 0과 1 사이의 값이며, 이는 유사도(similarity)를 의미하며, 유사도의 값 1은 두 문장이 동일함을 의미하고,
    정확도는 미리 정의된 테스트 세트(test set)를 통해 계산되며, 상기 테스트 세트는 훈련(training)에 사용되지 않는 '1'레이블이 붙은 문장 쌍으로 구성되며, 이 문장 쌍은 고객 질문 입력과 해당 고객 질문-응답쌍들을 포함하는 FAQ 목록으로 구성되는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  7. 제1항에 있어서,
    상기 고객 서비스 어시스턴트 보조 시스템은 입력된 고객 질문에 대하여 서비스 직원에게 k개의 질문-응답 쌍을 갖는 권장사항 FAQ들(recommended FAQs)을 표시하며,
    고객 질문에 대하여 서버 데이터베이스에 저장된 고객 서비스 직원이 선택한 FAQ가 있는 데이터는 '1'로 표시되고, FAQ에 질문이 없는 데이터는 '0'으로 표시되며,
    서비스 직원이 권장 사항 FAQ들 중에서 하나의 FAQ를 선택하며, 해당하는 고객 질문에 대한 응답이 출력되는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  8. 제7항에 있어서,
    상기 고객 서비스 어시스턴트 보조 시스템은 고객 질문에 대하여 문장 유사도가 높은 상위 5개의 FAQ를 객관식으로 서비스 직원에게 제시되고, 상기 서비스 직원이 권장 사항 FAQ들 중에서 하나의 FAQ를 선택하며, 해당하는 고객 질문에 대한 응답이 출력되는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
  9. 제7항에 있어서,
    고객 서비스 직원이 선택한 FAQ에 없는 고객 질문 데이터는 '0'으로 표시되며, 새로운 고객 질문 데이터는 학습 모델(learning model)을 질문-응답 쌍을 다시 구성하여 재학습(re-training)하는데 사용되며,
    재학습은 두 가지 방법으로 수행되며,
    첫 번째 방법은 기본 모델(baseline model)의 가중치들(weights)을 유지하고 새로운 데이터로 훈련을 다시 시작하는 것이다.
    두 번째 방법은 FAQ의 기본 데이터(질문-응답 쌍)와 새로운 고객 질문 데이터를 통합하고 초기화 된 처음부터 질문-응답 쌍을 다시 저장하여 누적함으로써 학습을 다시 시작하며,
    시스템의 고객 질문-응답의 정확도를 지속적으로 자동으로 향상시키는, 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템.
KR1020190121209A 2019-09-30 2019-09-30 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템 KR102240910B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190121209A KR102240910B1 (ko) 2019-09-30 2019-09-30 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190121209A KR102240910B1 (ko) 2019-09-30 2019-09-30 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템

Publications (2)

Publication Number Publication Date
KR20210038260A true KR20210038260A (ko) 2021-04-07
KR102240910B1 KR102240910B1 (ko) 2021-04-14

Family

ID=75469539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190121209A KR102240910B1 (ko) 2019-09-30 2019-09-30 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템

Country Status (1)

Country Link
KR (1) KR102240910B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240035125A (ko) 2022-09-08 2024-03-15 주식회사 케이티 대화 상태 교정 방법 및 이를 위한 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063314A1 (ko) * 2022-09-22 2024-03-28 삼성전자주식회사 적응적으로 마스크의 팬 속도를 제어하기 위한 사용자 단말 장치 및 그 제어 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101130444B1 (ko) 2003-11-12 2012-07-02 마이크로소프트 코포레이션 기계번역기법을 이용한 유사문장 식별 시스템
KR20120138252A (ko) * 2011-04-22 2012-12-24 주식회사 예스피치 자동응답시스템의 상담 관리 시스템 및 방법
KR20170045135A (ko) * 2015-10-16 2017-04-26 바이두 유에스에이 엘엘씨 휴먼 인스파이어드된 간단한 질문 응답(hisqa)을 위한 시스템 및 방법
KR20170137419A (ko) * 2016-06-03 2017-12-13 오영재 실시간 답변 메시지 생성을 이용한 고객 상담 서비스 제공 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US20190147455A1 (en) * 2017-11-14 2019-05-16 Sap Se Smart Agent Services Using Machine Learning Technology
KR101991486B1 (ko) 2015-12-18 2019-06-20 한국전자통신연구원 문장 유사도 기반 다의어 데이터베이스 확장장치 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101130444B1 (ko) 2003-11-12 2012-07-02 마이크로소프트 코포레이션 기계번역기법을 이용한 유사문장 식별 시스템
KR20120138252A (ko) * 2011-04-22 2012-12-24 주식회사 예스피치 자동응답시스템의 상담 관리 시스템 및 방법
KR20170045135A (ko) * 2015-10-16 2017-04-26 바이두 유에스에이 엘엘씨 휴먼 인스파이어드된 간단한 질문 응답(hisqa)을 위한 시스템 및 방법
KR101991486B1 (ko) 2015-12-18 2019-06-20 한국전자통신연구원 문장 유사도 기반 다의어 데이터베이스 확장장치 및 그 방법
KR20170137419A (ko) * 2016-06-03 2017-12-13 오영재 실시간 답변 메시지 생성을 이용한 고객 상담 서비스 제공 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US20190147455A1 (en) * 2017-11-14 2019-05-16 Sap Se Smart Agent Services Using Machine Learning Technology

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
Carl Benedikt Frey and Michael A Osborne, "The future of employment: How susceptible are jobs to computerisation?," Technological Forecasting and Social Change, 2017.
Coniam, "The linguistic accuracy of chatbots: usability from an ESL perspective," Text & Talk, 2014.
Feng Liu, Yong Shi and Ying Liu, "Intelligence quotient and intelligence grade of artificial intell-igence" Annals of Data Science, Volume 4, Issue 2, pp. 179-191, June 2017.
Kyunghyun Cho, Bart Van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio, "Learning phrase reprentations using rnn encoder-decoder for statistical machine translation," arXiv preprint arXiv:14061078, 2014
S Lai, L Xu, K Liu and J Zhao, "Recurrent Convolutional Neural Networks for Text Classification," AAAI, pp 2267-2273, 2015.
T Joachims, "Text categorization with support vector machines: Learning with many relevant features," European conference on machine learning, 1998.
Will Knight, "AI's Language Problem," MIT Tech-nology Review, 2016.
Yoon Kim, "Convolutional Neural Networks for Sentence Classification, Computation and Language," arXiv preprint arXiv:14085882, 2014.
Zumstein, Dand S Hundertmark, "Chatbots - An Inter-active Technology for Personalized Communication, Transactions and Services", IADIS International Journal on WWW/Internet, 2017
김선목 외 5인, 기계학습 기반 한국어 고객 상담원 지원 시스템, 대한전기학회 학술대회 논문집, 2019.7, 1789-1790페이지. 1부.* *
장성은 외 3인, CNN과 LSTM 네트워크를 활용한 한국어 QA봇, 한국정보과학회 학술발표논문집, 2019.6, 913-915페이지. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240035125A (ko) 2022-09-08 2024-03-15 주식회사 케이티 대화 상태 교정 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR102240910B1 (ko) 2021-04-14

Similar Documents

Publication Publication Date Title
CN110196901B (zh) 对话系统的构建方法、装置、计算机设备和存储介质
CN112667794A (zh) 一种基于孪生网络bert模型的智能问答匹配方法及系统
KR20190133931A (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
US20200183928A1 (en) System and Method for Rule-Based Conversational User Interface
Etaiwi et al. Statistical Arabic name entity recognition approaches: A survey
KR102240910B1 (ko) 머신 러닝 기반 한국 고객 서비스 어시스턴트 보조 시스템
US11610113B2 (en) System and method for understanding questions of users of a data management system
KR101333485B1 (ko) 온라인 사전을 이용한 개체명 사전 구축 방법 및 이를 실행하는 장치
Joukhadar et al. Arabic dialogue act recognition for textual chatbot systems
Gunaseelan et al. Automatic extraction of segments from resumes using machine learning
CN110610003A (zh) 用于辅助文本标注的方法和系统
Lhasiw et al. A bidirectional LSTM model for classifying Chatbot messages
Ajees et al. A named entity recognition system for Malayalam using neural networks
Karpagam et al. Deep learning approaches for answer selection in question answering system for conversation agents
Lee Natural Language Processing: A Textbook with Python Implementation
Gurin Methods for Automatic Sentiment Detection
Alwaneen et al. Stacked dynamic memory-coattention network for answering why-questions in Arabic
Alvarado et al. Detecting Disaster Tweets using a Natural Language Processing technique
Harsha Kadam et al. Text analysis for email multi label classification
Ahajri et al. Deep learning model for arabic question-answering chatbot
Abasan et al. Empowering hate speech detection: leveraging linguistic richness and deep learning
US20240127026A1 (en) Shallow-deep machine learning classifier and method
JP3910823B2 (ja) アンケート分析装置、アンケート分析方法及びプログラム
Shetty et al. Application of Natural Language Processing (NLP) in Machine Learning
Al-azani et al. Arabic question-answering system based on deep learning models

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant