KR102299319B1 - 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램 - Google Patents

챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102299319B1
KR102299319B1 KR1020190005586A KR20190005586A KR102299319B1 KR 102299319 B1 KR102299319 B1 KR 102299319B1 KR 1020190005586 A KR1020190005586 A KR 1020190005586A KR 20190005586 A KR20190005586 A KR 20190005586A KR 102299319 B1 KR102299319 B1 KR 102299319B1
Authority
KR
South Korea
Prior art keywords
input sentence
intention
intention group
additional
sentence
Prior art date
Application number
KR1020190005586A
Other languages
English (en)
Other versions
KR20190051904A (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 KR1020190005586A priority Critical patent/KR102299319B1/ko
Publication of KR20190051904A publication Critical patent/KR20190051904A/ko
Application granted granted Critical
Publication of KR102299319B1 publication Critical patent/KR102299319B1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/50
    • 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

Abstract

본 개시의 일 실시예에 따라 챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하는 방법이 개시된다. 상기 방법은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 단계; 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계; 상기 의도 그룹 분류부가 상기 분석값이 상기 보험 상품 추천 의도 그룹에 대응하는 기준값 이상인 경우, 상기 입력 문장을 상기 보험 상품 추천 의도 그룹으로 분류하는 단계; 상기 입력 문장에 포함된 키워드 및 데이터베이스의 상기 보험 상품 추천 의도 그룹에 대해 저장된 보험 상품들에 기초하여, 상기 입력 문장의 의도와 매칭되는 하나 이상의 추천 보험 상품을 선정하는 단계; 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하는 단계; 및 송신부가 상기 선택 사항을 상기 사용자 단말로 송신하는 단계; 를 포함한다.

Description

챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램{COMPUTER PROGRAM STORED ON COMPUTER-READABLE MEDIUM, METHOD AND SERVER FOR CLASSIFYING A CLIENT INTENT BY A CHAT BOT}
본 개시는 고객 의도 분류 서버에 관한 것으로, 보다 구체적으로 챗봇을 이용한 고객 의도 분류 서버에 관한 것이다.
최근 들어, 사회가 복잡해지고, 미래에 대한 불안감이 고조됨에 따라, 보험을 가입하는 사람이 크게 늘어가고 있다. 이와 같은 수요에 맞춰 다양한 금융 상품이 개발되고 있으며, 주5일제 근무 등 여가 활동 시간이 늘어나면서 보험가입자의 여가 활동이나 레저 활동 등을 타겟으로 하는 금융 상품들이 제시되고 있다.
이와 관련하여, 여러 보험사에서 다양한 종류의 보험 상품이 제공되고 있어서, 보험가입자는 자신에게 유리한 조건을 제시하는 보험사 및 상품을 선택해서 계약을 맺을 수 있다. 또한, 보험사는 보험가입자에게 맞는 상품을 추천할 수도 있다.
대한민국 특허공개 공보 KR20000030728A에는 양음, 사주, 팔자 및 오행에 따른 보험 상품을 사용자에게 권유할 수 있는 보험 추천 및 제공 방법을 개시하고 있다.
한편, 보험 회사는 보험 설계사 및 상담사를 통해 고객의 상담 및 문의를 접수 받고, 그에 따라 대응하고 있다. 예컨대, 자동차 보험에 관심있는 잠재 고객의 경우, 보험 가입을 위해 보험 회사의 상담사, 또는 보험 설계사에게 연락을 한 뒤, 상담을 통해 잠재 고객에게 알맞은 보험을 추천 받는 시스템으로 이루어져 있다.
하지만, 설계사, 또는 상담사를 통한 보험 문의는 인력 문제 및 상담 시간의 제약 때문에 고객이 원하는 시간에 바로 처리되기 어려운 문제가 있다. 또한, 이를 전문적으로 하는 보험 설계사 및 상담사 역시 간단한 업무 조차도 일일이 대응해야 하여 업무가 불필요하게 늘어나는 불편함이 있었다.
따라서, 챗봇을 통해 고객이 원하는 시간에 언제든지 상담을 제공할 수 있고, 데이터 학습에 기반하여 고객의 의도를 점차 정확하게 분류할 수 있는 솔루션에 대한 당업계의 수요가 있을 수 있다.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 챗봇을 이용한 고객 의도 분류 서버를 제공하기 위함이다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 챗봇을 이용하여 사용자의 의도를 분류하는 방법이 개시된다. 상기 방법은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신하는 단계, 의도 그룹 분류부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹―상기 의도 그룹은 보험에 관련된 동작에 각각 대응됨― 중 하나에 대응되는 분석값을 연산하는 단계, 상기 의도 그룹 분류부가 상기 분석값에 기초하여 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹 중 하나로 분류하는 단계, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 의도 그룹 중 하나로 분류되지 않거나, 상기 사용자 단말로부터 잘못된 분류라는 입력을 수신하는 경우, 질문 생성부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성하는 단계 및 송신부가 상기 추가 질문을 상기 사용자 단말로 송신하는 단계를 포함할 수 있다.
대안적으로, 상기 자연어 처리는 RNN(Recurrent Neural Network)을 이용하여 수행될 수 있다.
대안적으로, 의도 그룹 분류부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹 중 하나에 대응되는 분석값을 연산하는 단계는 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 표준화하는 단계 및 상기 의도 그룹에 각각 대응되는 대표 문장과 표준화된 상기 입력 문장 및 추가 입력 문장 중 적어도 하나 간의 의미 유사도를 판단하여 상기 분석값을 연산하는 단계를 포함하고, 그리고 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 표준화하는 단계는 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 포함하는 단어의 의미, 또는 둘 이상의 단어 간의 관계에 기초하여 상기 단어 중 의미가 없다고 판단되는 단어를 삭제하거나, 또는 상기 단어 중 일부를 변경하여 상기 입력 문장 및 추가 입력 문장을 의미 단위로 구성할 수 있다.
대안적으로, 상기 의도 그룹 분류부가 상기 분석값에 기초하여 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹 중 하나로 분류하는 단계는 상기 의도 그룹 분류부가 상기 분석값과 상기 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 이상인 경우, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹으로 분류하는 단계 및 상기 의도 그룹 분류부가 상기 분석값과 상기 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 미만인 경우, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 의도 그룹 중 하나로 분류되지 않는다고 판단하는 단계를 포함할 수 있다.
대안적으로, 상기 추가 질문은 상기 분석값에 기초하여 선정되고 사용자가 선택 가능한 하나 이상의 선택 질문을 포함할 수 있다.
대안적으로, 추가 작업 진행부가 상기 분류된 의도 그룹에 관련된 동작을 진행하는 단계를 더 포함할 수 있다.
대안적으로, 상기 추가 작업 진행부가 분류된 의도 그룹에 관련된 동작을 진행하는 단계는 상기 분류된 의도 그룹이 사전 설정된 의도 그룹일 경우, 상기 의도 그룹 분류부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 사전 저장된 FAQ(Frequently Asked Questions) 중 하나와 비교하여 매칭하는 단계, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 FAQ 중 하나와 매칭되는 경우, 상기 추가 작업 진행부가 상기 매칭되는 FAQ에 기초하여 사전 저장된 답변을 제공하는 단계 및 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 FAQ 중 하나와 매칭되지 않는 경우, 상기 추가 작업 진행부가 상기 의도 그룹에 대응되는 사전 설정된 동작을 진행하는 단계를 포함할 수 있다.
대안적으로, 상기 사전 설정된 의도 그룹은 약관 대출 그룹이고 상기 추가 작업 진행부가 약관 대출의 스코어링을 진행하거나, 또는 상기 수신부가 약관 대출의 스코어링, 또는 실행에 관한 사용자 입력을 수신하는 경우, 상기 추가 작업 진행부가 상기 사용자 단말에 대응하는 고객정보, 신용정보 및 스코어링정보 중 적어도 하나를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
본 개시의 다른 일 실시예에 따른 챗봇을 이용하여 사용자의 의도를 분류하는 서버를 개시한다. 상기 서버는 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신하는 수신부, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹―상기 의도 그룹은 보험에 관련된 동작에 각각 대응됨― 중 하나에 대응되는 분석값을 연산하고, 그리고 상기 분석값에 기초하여 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹 중 하나로 분류하는 의도 그룹 분류부, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 의도 그룹 중 하나로 분류되지 않거나, 상기 사용자 단말로부터 잘못된 분류라는 입력을 수신하는 경우, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성하는 질문 생성부 및 상기 추가 질문을 상기 사용자 단말로 송신하는 송신부를 포함할 수 있다.
챗봇을 이용하여 사용자의 의도를 분류하기 위하여 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 개시한다. 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 명령들을 수행하도록 하며, 상기 명령들은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신하기 위한 명령, 의도 그룹 분류부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹―상기 의도 그룹은 보험에 관련된 동작에 각각 대응됨― 중 하나에 대응되는 분석값을 연산하기 위한 명령, 상기 의도 그룹 분류부가 상기 분석값에 기초하여 상기 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹 중 하나로 분류하기 위한 명령, 상기 입력 문장 및 추가 입력 문장 중 적어도 하나가 상기 의도 그룹 중 하나로 분류되지 않거나, 상기 사용자 단말로부터 잘못된 분류라는 입력을 수신하는 경우, 질문 생성부가 상기 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성하기 위한 명령 및 송신부가 상기 추가 질문을 상기 사용자 단말로 송신하기 위한 명령을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하는 방법이 개시된다. 상기 방법은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 단계; 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계; 상기 의도 그룹 분류부가 상기 분석값이 상기 보험 상품 추천 의도 그룹에 대응하는 기준값 이상인 경우, 상기 입력 문장을 상기 보험 상품 추천 의도 그룹으로 분류하는 단계; 상기 입력 문장에 포함된 키워드 및 데이터베이스의 상기 보험 상품 추천 의도 그룹에 대해 저장된 보험 상품들에 기초하여, 상기 입력 문장의 의도와 매칭되는 하나 이상의 추천 보험 상품을 선정하는 단계; 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하는 단계; 및 송신부가 상기 선택 사항을 상기 사용자 단말로 송신하는 단계를 포함할 수 있다.
대안적으로, 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하는 단계는, 둘 이상의 추천 보험 상품을 동시에 비교할 수 있는 인터페이스를 생성하는 단계를 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 챗봇을 이용하여 사용자의 문의에 응답하는 방법이 개시된다. 상기 방법은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 단계; 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 하나 이상의 의도 그룹 각각의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계; 상기 의도 그룹 분류부가 상기 분석값과 상기 하나 이상의 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 이상인 경우, 상기 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하는 단계; 상기 입력 문장 및 데이터베이스에 상기 의도 그룹에 대하여 저장된 하나 이상의 FAQ 중 상기 입력 문장에 매칭되는 FAQ가 있는지 여부를 판단하는 단계; 상기 입력 문장에 매칭되는 FAQ가 존재하는 경우, 상기 매칭되는 FAQ에 관련한 후속 동작을 실행하기 위하여, 송신부가 상기 하나 이상의 FAQ 중 상기 매칭되는 FAQ의 다음 동작에 해당하는 FAQ에 관한 답변을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 단계; 및 상기 입력 문장에 매칭되는 FAQ가 존재하지 않는 경우, 상기 사용자의 입력 문장이 상기 저장된 하나 이상의 FAQ 중 어느 FAQ에 관련한 문장인지 확인하기 위하여, 사용자로부터 상기 저장된 하나 이상의 FAQ 중 하나의 FAQ에 관한 추가 입력 문장을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 단계를 포함할 수 있다.
대안적으로, 추가 작업 진행부가 상기 사용자 단말로부터 상기 추가 질문에 대한 부정적인 답변을 수신하는 경우, 사용자의 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하는 단계를 개시하기 위한 추가 질문을 생성하도록 결정하는 단계를 더 포함할 수 있다.
대안적으로, 추가 작업 진행부가 상기 사용자 단말로부터 상기 후속 동작에 대한 답변을 수신하는 경우, 상기 답변에 기초하여 상기 사용자 단말에 대응되는 다른 후속 동작을 실행하기 위한 정보를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하기 위하여 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 개시한다. 상기 컴퓨터 프로그램은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 동작; 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 동작; 상기 의도 그룹 분류부가 상기 분석값이 상기 보험 상품 추천 의도 그룹에 대응하는 기준값 이상인 경우, 상기 입력 문장을 상기 보험 상품 추천 의도 그룹으로 분류하는 동작; 상기 입력 문장에 포함된 키워드 및 데이터베이스의 상기 보험 상품 추천 의도 그룹에 대해 저장된 보험 상품들에 기초하여, 상기 입력 문장의 의도와 매칭되는 하나 이상의 추천 보험 상품을 선정하는 동작; 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하는 동작; 및 송신부가 상기 선택 사항을 상기 사용자 단말로 송신하는 동작을 포함할 수 있다.
본 개시의 다른 일 실시예에 따른 챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하는 서버를 개시한다. 상기 서버는 하나 이상의 코어를 포함하는 프로세서; 네트워크부; 및 메모리; 를 포함하고 상기 프로세서는, 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하고, 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하고, 상기 의도 그룹 분류부가 상기 분석값이 상기 보험 상품 추천 의도 그룹에 대응하는 기준값 이상인 경우, 상기 입력 문장을 상기 보험 상품 추천 의도 그룹으로 분류하고, 상기 입력 문장에 포함된 키워드 및 데이터베이스의 상기 보험 상품 추천 의도 그룹에 대해 저장된 보험 상품들에 기초하여, 상기 입력 문장의 의도와 매칭되는 하나 이상의 추천 보험 상품을 선정하고, 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하고, 그리고 송신부가 상기 선택 사항을 상기 사용자 단말로 송신할 수 있다.
챗봇을 이용하여 사용자의 문의에 응답하기 위하여 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 개시한다. 상기 컴퓨터 프로그램은 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 동작; 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 하나 이상의 의도 그룹 각각의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 동작; 상기 의도 그룹 분류부가 상기 분석값과 상기 하나 이상의 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 이상인 경우, 상기 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하는 동작; 상기 입력 문장 및 데이터베이스에 상기 의도 그룹에 대하여 저장된 하나 이상의 FAQ 중 상기 입력 문장에 매칭되는 FAQ가 있는지 여부를 판단하는 동작; 상기 입력 문장에 매칭되는 FAQ가 존재하는 경우, 상기 매칭되는 FAQ에 관련한 후속 동작을 실행하기 위하여, 송신부가 상기 하나 이상의 FAQ 중 상기 매칭되는 FAQ의 다음 동작에 해당하는 FAQ에 관한 답변을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 동작; 및 상기 입력 문장에 매칭되는 FAQ가 존재하지 않는 경우, 상기 사용자의 입력 문장이 상기 저장된 하나 이상의 FAQ 중 어느 FAQ에 관련한 문장인지 확인하기 위하여, 사용자로부터 상기 저장된 하나 이상의 FAQ 중 하나의 FAQ에 관한 추가 입력 문장을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 동작을 포함할 수 있다.
본 개시의 다른 일 실시예에 따른 챗봇을 이용하여 사용자의 문의에 응답하는 서버를 개시한다. 상기 서버는 하나 이상의 코어를 포함하는 프로세서; 네트워크부; 및 메모리; 를 포함하고 상기 프로세서는, 수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하고, 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 하나 이상의 의도 그룹 각각의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하고, 상기 의도 그룹 분류부가 상기 분석값과 상기 하나 이상의 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 이상인 경우, 상기 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하고, 상기 입력 문장 및 데이터베이스에 상기 의도 그룹에 대하여 저장된 하나 이상의 FAQ 중 상기 입력 문장에 매칭되는 FAQ가 있는지 여부를 판단하고, 상기 입력 문장에 매칭되는 FAQ가 존재하는 경우, 상기 매칭되는 FAQ에 관련한 후속 동작을 실행하기 위하여, 송신부가 상기 하나 이상의 FAQ 중 상기 매칭되는 FAQ의 다음 동작에 해당하는 FAQ에 관한 답변을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하고, 그리고 상기 입력 문장에 매칭되는 FAQ가 존재하지 않는 경우, 상기 사용자의 입력 문장이 상기 저장된 하나 이상의 FAQ 중 어느 FAQ에 관련한 문장인지 확인하기 위하여, 사용자로부터 상기 저장된 하나 이상의 FAQ 중 하나의 FAQ에 관한 추가 입력 문장을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신할 수 있다.
본 개시는 챗봇을 이용한 고객 의도 분류 서버를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 서버의 블록 구성도(Block diagram)를 도시한다.
도 2는 본 개시의 일 실시예에 따른 서버와 사용자 단말 간의 흐름도를 도시한다.
도 3은 본 개시의 일 실시예에 따른 챗봇의 동작 인터페이스다.
도 4는 본 개시의 일 실시예에 따른 약관 대출에 관련된 서버와 사용자 단말 간의 흐름도를 도시한다.
도 5는 본 개시의 일 실시예에 따른 고객 의도 분류의 순서도(Flow chart)를 도시한다.
도 6은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.
다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
도 1은 본 개시의 일 실시예에 따른 서버의 블록 구성도(Block diagram)를 도시한다.
본 개시의 일 실시예에 따른 챗봇을 이용하여 사용자의 의도를 분류하는 서버(100)는 개인 금융상품에 관련한 상담, 문의, 또는 고객 서비스 중 하나에 대한 사용자와의 일대일 대화에서 고객의 의도를 분류하기 위해 사용될 수 있다. 여기서 개인 금융상품은 보험, 대출, 연금, 펀드 등의 일반적인 상품을 의미할 수 있다.
본 개시의 일 실시예에 따른 챗봇을 이용하여 사용자의 의도를 분류하는 서버(100)는 수신부(110), 의도 그룹 분류부(120), 질문 생성부(130) 및 송신부(140)를 포함할 수 있다. 또한, 실시예에 따라 서버(100)는 추가 작업 진행부(150)를 추가적으로 포함할 수 있다.
수신부(110)는 사용자 단말(200)로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신할 수 있다. 여기서 입력 문장은 서버(100)가 사용자 단말(200)로부터 수신하는 첫 문장을 포함할 수 있다. 또한, 상기 입력 문장은 서버(100)가 사용자 단말(200)에 대해 임의의 동작을 수행하기 전까지 수신되는 하나 이상의 문장일 수 있다. 예를 들어, 수신부(110)는 사용자 단말(200)을 통해 수신되는 첫 입력 문장으로 "안녕 챗봇아"를 수신할 수 있고, 이후 "보험 상담을 하고 싶어"라는 두번째 입력 문장을 수신할 수 있다. 여기서 서버(100)가 상기 첫 입력 문장 및 두번째 입력 문장에 대한 답변, 또는 결과값 출력 동작을 수행하지 않은 경우, 상기 첫 입력 문장 및 두번째 입력 문장을 하나의 입력 문장으로 판단할 수 있다. 전술한 입력 문장의 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 수신부(110)는 사용자 단말(200)로부터 추가 입력 문장을 수신할 수 있다. 여기서 추가 입력 문장은 서버(100)가 입력 문장에 대해서 임의의 동작(예컨대, 결과값 출력, 또는 상품 추천 등)을 수행한 이 후, 사용자 단말(200)로부터 입력되는 문장을 의미할 수 있다. 그리고 추가 입력 문장은 하나 이상의 문장 그룹일 수 있다. 예를 들어, 서버(100)가 수행하는 제 1 동작 이후, 제 2 동작 이전까지 수신되는 입력 문장 3개를 그룹화하여 제 1 추가 입력 문장으로 판단할 수 있다. 또한, 제 2 동작 이후, 제 3 동작 이전까지 수신되는 입력 문장 2개를 그룹화하여 제 2 추가 입력 문장으로 판단할 수 있다. 전술한 추가 입력 문장의 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
사용자 단말(200)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc), VR(Virtual Reality) 기기 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 수신부(110)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다.
그리고, 수신부(110)는 근거리 통신 모듈을 포함하여, 비교적 근거리에 위치하고 근거리 통신 모듈을 포함한 전자 장치(예컨대, 외부 단말)와 데이터를 송수신할 수 있다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
의도 그룹 분류부(120)는 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹 중 하나에 대응되는 분석값을 연산하고, 그리고 분석값에 기초하여 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹 중 하나로 분류할 수 있다. 여기서 의도 그룹은 보험에 관하여 사용자 단말(200)이 수행할 수 있는 동작을 사전 설정된 개수로 그룹화하여 분류한 것을 의미할 수 있다. 예를 들어, 의도 그룹은 사용자 단말(200)이 수행할 수 있는 "FAQ", "약관 대출", "보험 상품 추천", "보장 문의" 및 "기타 문의"라는 5개의 동작에 각각 대응되도록 5개로 구성될 수 있다. 전술한 의도 그룹의 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 RNN(Recurrent Neural Network)을 이용하여 자연어 처리를 수행할 수 있다. 여기서 RNN은 하나 이상의 단어를 포함하는 문장의 데이터에 기초하여 패턴을 학습하기 위한 딥 러닝 모델을 의미할 수 있다. 즉, 의도 그룹 분류부(120)는 RNN에 기초하여 입력 문장, 또는 추가 입력 문장을 입력 데이터, 그리고 상기 입력 문장에 대한 분류를 출력 데이터로써 반복 학습할 수 있다. 이에 따라, 의도 그룹 분류부(120)는 수신부(110)를 통해 수신되는 입력 문장, 또는 추가 입력 문장이 축적되고, 상기 입력 문장, 또는 추가 입력 문장에 대한 의도 그룹 분류 정보가 축적될수록 보다 정확한 의도 분류를 수행할 수 있다.
그리고, 본 개시의 일 실시예에 따른 RNN은 LSTM(Long Short-Term Memory Units) 방식 및 GRU(Gated Recurrent Units) 방식 중 적어도 하나를 통해 연속 학습으로 인한 그라디언트 소실(Vanishing Gradient) 문제를 해결할 수 있다. 보다 구체적으로, 의도 그룹 분류부(120)는 기본적인 RNN 구조에 각각의 가중치를 지니고 있는 입력, 출력 및 망각 게이트를 추가하는 LSTM 방식을 사용하여 그라디언트 소실을 방지할 수 있다. 또한, 다른 일 실시예에서 의도 그룹 분류부(120)는 RNN 구조에 입력 및 망각 게이트만 추가적으로 포함하는 GRU 방식(예컨대, 다이나믹 GRU(Dynamic Gated Recurrent Units) 방식)으로 그라디언트 소실을 방지할 수 있다. 전술한 RNN의 구조에 대한 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 입력 문장 및 추가 입력 문장 중 적어도 하나를 표준화할 수 있다. 여기서 표준화는 입력 문장 및 추가 입력 문장 중 적어도 하나가 포함하는 단어의 의미, 또는 둘 이상의 단어 간의 관계에 기초하여 단어 중 의미가 없다고 판단되는 단어를 삭제하거나, 또는 단어 중 일부를 변경하여 입력 문장 및 추가 입력 문장을 의미 단위로 구성하는 동작일 수 있다.
보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 포함하는 단어 중 의미가 없다고 판단되는 단어를 삭제할 수 있다. 예를 들어, 의도 그룹 분류부(120)는 사전 설정된 횟수 이상 연속적으로 반복되는 단어, 또는 "ㅋ", "ㅎ" 및 "크크"등 사전 설정된 무의미 단어 목록이 포함하는 단어를 입력 문장이나 추가 입력 문장에서 삭제할 수 있다. 또한, 다른 일 실시예에 따라 의도 그룹 분류부(120)가 오탈자를 자동 보정할 수도 있다. 전술한 의도 그룹 분류부의 표준화 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
그리고, 본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 의도 그룹에 각각 대응되는 대표 문장과 표준화된 입력 문장 및 추가 입력 문장 중 적어도 하나 간의 의미 유사도를 판단하여 분석값을 연산할 수 있다. 여기서 대표 문장은 각각의 의도 그룹에 대해 사전 설정된 하나 이상의 문장을 포함할 수 있다. 그리고, 대표 문장은 상기 의도 그룹을 명확히 지칭하는 문장으로 구성될 수 있다. 예를 들어, "보험 문의"에 대한 의도 그룹의 대표 문장은 "보험에 대해 물어보고 싶어", "보험 좀 알아보고 싶습니다" 및 "보험 관련 문의 드립니다"를 각각 포함할 수 있다. 전술한 대표 문장의 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
그리고, 본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 대표 문장과 표준화된 입력 문장, 또는 추가 입력 문장 간의 의미 유사도를 판단하여 분석값을 연산할 수 있다. 여기서 분석값은 입력 문장, 또는 추가 입력 문장이 하나의 의도 그룹에 해당할 수 있는 확률을 의미할 수 있다.
보다 구체적으로, 의도 그룹 분류부(120)는 RNN 구조를 통해 표준화된 입력 문장과 대표 문장의 의미 유사도를 판단할 수 있다. 여기서 의도 그룹 분류부(120)는 입력 문장, 추가 입력 문장, 또는 대표 문장이 포함하고 있는 하나 이상의 단어의 의미, 배열 및 각 단어 간의 관계에 기초한 분석을 수행할 수 있다. 예를 들어, 의도 그룹 분류부(120)는 표준화된 입력 문장 "약관 대출 문의를 하고 싶다"와 약관 대출 의도 그룹의 일 대표 문장인 "약관 대출을 원합니다"에 대한 의미 유사도를 분석할 수 있다. 그리고, 의도 그룹 분류부(120)는 상기 입력 문장과 대표 문장이 포함하는 "약관" 및 "대출"이라는 단어의 일치, 그리고 "문의"와 "원합니다"의 의미 유사도에 기초하여 입력 문장이 약관 대출 의도 그룹에 해당될 확률이 80%라는 분석값을 연산할 수 있다. 또한, 의도 그룹 분류부(120)는 상기 입력 문장 "약관 대출 문의를 하고 싶다"와 보험 상품 추천 의도 그룹의 일 대표 문장인 "보험 상품을 추천해줘"에 대한 의미 유사도를 분석할 수도 있다. 그리고, 의도 그룹 분류부(120)는 상기 입력 문장이 포함하는 "약관 대출"과 "문의"의 관계가 대표 문장이 포함하는 "보험"과 "추천"의 관계와 일치하는 정도를 분석하여, 입력 문장이 보험 상품 추천 의도 그룹에 해당될 확률이 35%라는 분석값을 연산할 수 있다. 전술한 의도 그룹 분류부(120)의 자세한 동작 기재와 수치는 예시일뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 분석값과 의도 그룹에 대응되는 기준값을 비교하여 분석값이 기준값 이상인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹으로 분류할 수 있다. 보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장(또는, 추가 입력 문장)과 각각의 의도 그룹에 대응하는 하나 이상의 대표 문장 간의 의미 유사도에 기초하여 분석값을 연산할 수 있다. 여기서 각각의 의도 그룹에 대응되는 기준값이 사전에 설정될 수 있다. 또한, 실시예에 따라 분석값은 각 의도 그룹에 해당하는 하나 이상의 대표 문장에 기초하여 생성된 하나 이상의 분석값 중 가장 큰 값을 의미할 수 있다. 즉, 분석값은 의도 그룹 별로 최대값을 가지는 분석값을 의미할 수 있다. 그리고, 의도 그룹 분류부(120)는 각각의 의도 그룹에 대한 분석값과 기준값을 각각 비교하여 분석값이 기준값 이상인 경우, 상기 입력 문장(또는, 추가 입력 문장)을 해당되는 의도 그룹에 분류할 수 있다.
예를 들어, 입력 문장이 "내가 든 상품에서 골절이 보장될까"이고, 보장 문의 의도 그룹에 대한 제 1 대표 문장이 "가입한 상품에 대한 보장 정보를 알고 싶어", 그리고 제 2 대표 문장이 "이것도 보험금 청구할 수 있어?"일 수 있다. 이러한 경우, 의도 그룹 분류부(120)는 입력 문장과 제 1 및 2 대표 문장의 분석값을 각각 연산하여 제 1 및 2 분석값을 생성할 수 있다. 보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장의 "내가 든 상품" 및 "보장"과 제 1 대표 문장의 "가입한 상품" 및 "보장"의 의미 유사도에 기초하여 제 1 분석값 95%을 연산할 수 있다. 그리고 상기 의도 그룹 분류부(120)는 입력 문장의 "가입한 상품" 및 "보장 정보"와 제 2 대표 문장의 "보험금 청구"의 의미 유사도에 기초하여 제 2 분석값 61%을 연산할 수 있다. 이에 따라, 의도 그룹 분류부(120)는 제 1 분석값이 제 2 분석값 보다 크다는 점에 기초하여, 이를 분석값으로 정할 수 있다. 또한, 보장 문의 의도 그룹에 대한 기준값이 70%인 경우, 의도 그룹 분류부(120)는 분석값이 기준값 이상인 점에 기초하여, 상기 입력 문장을 보장 문의 의도 그룹으로 분류할 수 있다. 전술한 의도 그룹 분류부(120)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 분석값이 기준값 이상인 의도 그룹이 두 개 이상인 경우, 기준값 대비 분석값의 초과치가 가장 큰 의도 그룹으로 입력 문장(또는, 추가 입력 문장)을 분류할 수 있다. 예를 들어, 제 1 의도 그룹에 대한 기준값이 70%이고, 제 1 의도 그룹에 대한 입력 문장의 분석값이 80%일 수 있다. 또한, 제 2 의도 그룹에 대한 기준값이 68%이고, 제 2 의도 그룹에 대한 입력 문장의 분석값이 78%일 수 있다. 이러한 경우, 의도 그룹 분류부(120)는 제 2 의도 그룹의 기준값 대비 분석값의 초과치가 제 1 의도 그룹보다 크다는 점에 기초하여, 입력 문장을 제 2 의도 그룹으로 분류할 수 있다. 전술한 의도 그룹 분류부(120)의 동작 및 수치는 예시일뿐, 본 개시는 이에 제한되지 않는다. 또 다른 실시예에 따른 의도 그룹 분류부(120)는 기준값 대비 분석값의 초과치를 단순 비교하여 입력 문장에 대한 의도 그룹 분류를 수행할 수 있다.
본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 분석값과 의도 그룹에 대응되는 기준값을 비교하여 분석값이 기준값 미만인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹으로 분류되지 않는다고 판단할 수 있다. 보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장(또는, 추가 입력 문장)과 각각의 의도 그룹에 대응하는 하나 이상의 대표 문장 간의 의미 유사도에 기초하여 분석값을 연산할 수 있다. 여기서 각각의 의도 그룹에 대응되는 기준값이 사전에 설정될 수 있다. 또한, 실시예에 따라 분석값은 각 의도 그룹에 해당하는 하나 이상의 대표 문장에 기초하여 생성된 하나 이상의 분석값 중 가장 큰 값을 의미할 수 있다. 즉, 분석값은 의도 그룹 별로 최대값을 가지는 분석값을 의미할 수 있다. 그리고, 의도 그룹 분류부(120)는 각각의 의도 그룹에 대한 분석값과 기준값을 각각 비교하여 분석값이 모두 기준값 미만인 경우, 상기 입력 문장(또는, 추가 입력 문장)이 의도 그룹으로 분류되지 않는다고 판단할 수 있다.
예를 들어, 의도 그룹 분류부(120)가 설정한 모든 의도 그룹의 기준값이 65%일 수 있다. 그리고 수신부(110)가 "너는 심심이니?"라는 입력 문장을 수신할 수 있다. 이러한 경우, 의도 그룹 분류부(120)는 상기 입력 문장과 모든 의도 그룹의 대표 문장에 대하여 14%, 16%, 22% 및 20%의 분석값을 연산할 수 있다. 그리고, 의도 그룹 분류부(120)는 모든 분석값이 기준값 65% 미만인 점에 기초하여 입력 문장은 의도 그룹으로 분류되지 않는 다고 판단할 수 있다. 전술한 의도 그룹 분류부(120)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
질문 생성부(130)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 의도 그룹 중 하나로 분류되지 않거나, 사용자 단말(200)로부터 잘못된 분류라는 입력을 수신하는 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성할 수 있다. 여기서 추가 질문은 사전에 저장된 데이터베이스에서 선택될 수 있고, 실시예에 따라 입력 문장(또는, 추가 입력 문장)에 기초하여 생성될 수도 있다.
보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장(또는, 추가 입력 문장)이 사전 설정된 개수의 의도 그룹으로 분류되지 않는다고 판단할 수 있다. 그리고, 질문 생성부(130)는 상기 판단에 기초하여, 추가 질문을 생성할 것을 결정할 수 있다. 또한, 수신부(110)가 사용자 단말(200)로부터 출력된 결과가 사용자의 의도와 맞지 않는다는 의미의 동작(예를 들어, 뒤로 가기 버튼에 대한 사용자 입력, 또는 잘못된 의도 분류라는 사용자 입력)을 수신할 수 있다. 그리고, 질문 생성부(130)는 사용자 단말(200)로부터 수신한 사용자 입력에 기초하여, 추가 질문을 생성할 것을 결정할 수 있다. 여기서 추가 질문은 사용자 단말(200)로부터 추가 입력 문장을 유도하기 위한 질의를 포함할 수 있다. 또한, 질문 생성부(130)는 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성할 수 있다. 보다 구체적으로, 질문 생성부(130)는 입력 문장(또는, 추가 입력 문장)이 포함하는 하나 이상의 단어에 기초하여 분석값이 상대적으로 높은 의도 그룹을 선정할 수 있다. 그리고 질문 생성부(130)는 선정된 의도 그룹에 대한 사용자의 반응을 유도하기 위한 질의를 포함하는 추가 질문을 생성할 수 있다.
예를 들어, 의도 그룹 분류부(120)는 "내가 사고를 당했는데 청구가 될까?"라는 입력 문장에 대한 각 의도 그룹의 분석값을 연산할 수 있다. 그리고 의도 그룹 분류부(120)는 각각의 분석값이 모든 의도 그룹의 기준값 미만이라는 점에 기초하여, 상기 입력 문장이 의도 그룹으로 분류되지 않는다고 판단할 수 있다. 그리고, 질문 생성부(130)는 상기 분석값 중 보험금 청구 의도에 관한 분석값이 상대적으로 높다는 점에 기초하여 추가 질문 "보험금 청구가 가능한지 상담 받고 싶으신가요?"라는 추가 질문을 생성할 수 있다. 전술한 질문 생성부(130)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따른 질문 생성부(130)는 분석값에 기초하여 선정되고, 사용자가 선택 가능한 하나 이상의 선택 질문을 포함하는 추가 질문을 생성할 수 있다. 여기서 선택 질문은 의도 그룹에 관련된 둘 이상의 동작 중 하나를 선택하거나, 또는 둘 이상의 의도 그룹 중 하나를 선택하기 위한 선택 사항을 포함할 수 있다.
예를 들어, 의도 그룹 분류부(120)는 "내 담당 설계사가 영업점 어디에 있지?"라는 입력 문장에 대한 각 의도 그룹의 분석값을 연산할 수 있다. 그리고, 의도 그룹 분류부(120)는 각각의 분석값이 모든 의도 그룹의 기준값 미만이라는 점에 기초하여, 상기 입력 문장이 의도 그룹으로 분류되지 않는다고 판단할 수 있다. 그리고, 질문 생성부(130)는 상기 분석값 중 담당 설계사 관련 의도 및 영업점 관련 의도에 관한 분석값이 상대적으로 높다는 점에 기초하여 추가 질문 "담당 설계사를 찾고 계신가요? 아니면 영업점을 찾고 계신가요??"라는 추가 질문을 생성할 수 있다. 전술한 질문 생성부(130)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따라 의도 그룹 분류부(120)는 입력 문장을 보험 상품 추천 의도 그룹으로 분류할 수 있다. 그리고, 질문 생성부(130)는 상기 그룹 분류에 기초하여 둘 이상의 보험 상품을 동시에 비교할 수 있는 인터페이스 및 하나의 보험 상품에 대한 선택을 받을 수 있는 추가 질문을 생성할 수 있다. 이에 관련된 질문 생성부(130)의 동작은 도 3을 참조하여 후술한다.
또한, 실시예에 따라 추가 질문은 분류된 의도 그룹에 관한 추가 동작 동의 여부를 확인하기 위한 재질문을 포함할 수 있다. 예를 들어, 질문 생성부(130)는"약관 대출에 대한 문의가 맞으신가요?"라는 추가 질문을 생성하고, 수신부(110)는 이에 대해서 "응 맞어"라는 추가 입력 문장을 수신할 수 있다. 이러한 경우, 질문 생성부(130)는 "약관 대출을 진행하기 위해서는 신용조회가 필요합니다. 이에 동의하십니까?"라는 재질문을 포함하는 추가 질문을 생성할 수 있다. 전술한 질문 생성부(130)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
송신부(140)는 추가 질문을 사용자 단말(200)로 송신할 수 있다. 보다 구체적으로, 송신부(140)는 질문 생성부(130)가 생성한 추가 질문을 획득할 수 있다. 그리고 상기 송신부(140)는 추가 질문을 사용자 단말(200)과 연결되어 있는 챗봇을 통해 인터페이스와 함께 사용자 단말(200)로 송신할 수 있다. 상기 과정에서 송신부(140)는 유/무선 네트원크를 통하여 사용자 단말(200)과 통신할 수 있다.
이하에서는 네트워크에 대해서 설명한다. 상기 네트워크는 단일 네트워크일 필요는 없다. 상기 네트워크는 다수의 컴퓨팅 장치 사이에 통신이 가능하게 하는 LAN, WAN, 인트라넷이나 인터넷 또는 이러한 것들의 결합일 수 있다. 더욱이, 네트워크는 무선, 유선, 또는 무선 유선 결합 연결을 포함할 수 있다. 추가적으로, 보안을 강화하기 위해 VPN 등의 기술이 사용될 수 있다.
보다 상세히, 여기서 제시되는 네트워크는 공중전화 교환망(PSTN:Public Switiched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), FTTH(Fibers to the home), PLC(Power Line Communication), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 여기서 제시되는 상기 네트워크는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC―FDMA(Single Carrier―FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.
본 개시의 일 실시예에 따른 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN:Personal Area Network), 근거리 통신망(WAN:Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW:World Wide Web)일 수 있으며, 적외선(IrDA:Infrared Data Assoication), RFID(Radio Frequency Identification), UWB(Ultra Wideband), ZigBee, Beacon 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 전술한 네트워크는 본 개시의 일 실시예에 따른 수신부(110) 및 송신부(140)가 사용자 단말(200)과 통신하기 위한 방법으로 사용될 수 있다.
본 개시의 일 실시예에 따라 서버(100)는 분류된 의도 그룹에 관련된 동작을 진행하는 추가 작업 진행부(150)를 더 포함할 수 있다. 보다 구체적으로, 추가 작업 진행부(150)는 의도 그룹에 대응되는 하나 이상의 후속 동작을 사전에 저장할 수 있다. 그리고, 추가 작업 진행부(150)는 의도 그룹 분류부(120)가 입력 문장(또는, 추가 입력 문장)을 하나의 의도 그룹으로 분류하는 경우, 해당되는 하나 이상의 후속 동작을 실행할 수 있다. 예를 들어, 추가 작업 진행부(150)는 약관 대출 의도 그룹에 대하여 스코어링 동의, 사용자 인증 및 대출 정보 입력에 관한 동작을 사전에 저장 해둘 수 있다. 그리고, 의도 그룹 분류부(120)가 입력 문장에 대해서 약관 대출 의도 그룹으로 분류하는 경우, 스코어링 동의, 사용자 인증 및 대출 정보 입력에 관한 동작을 순차적으로 수행할 수 있다. 전술한 추가 작업 진행부(150)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 본 개시의 일 실시예에 따른 추가 작업 진행부(150)는 분류된 의도 그룹이 사전 설정된 의도 그룹일 경우, 의도 그룹 분류부(120)가 입력 문장 및 추가 입력 문장 중 적어도 하나를 사전 저장된 FAQ(Frequently Asked Questions) 중 하나와 비교하여 매칭할 수 있다. 그리고, 추가 작업 진행부(150)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 FAQ 중 하나와 매칭되는 경우, 매칭되는 FAQ에 기초하여 사전 저장된 답변을 제공할 수 있다. 예를 들어, 의도 그룹 분류부(120)가 입력 문장을 영업점 조회 의도 그룹으로 분류하고, 수신부(110)가 사용자 단말(200)로부터 수신되는 추가 입력 문장 "본점의 전화번호가 필요해"을 수신할 수 있다. 이러한 경우, 추가 작업 진행부(150)는 상기 추가 입력 문장과 FAQ 중 본점의 전화번호 문의에 해당하는 FAQ와 매칭된다고 판단할 수 있다. 여기서 추가 작업 진행부(150)의 판단은 신경망을 통한 자연어 처리를 기반으로 수행되거나, 또는, 입력 문장과 FAQ의 단순 일치도 비교에 기초할 수도 있다. 이에 따라, 추가 작업 진행부(150)는 사용자 단말(200)로 본점의 전화번호 문의에 대한 답변을 전송할 수 있다. 전술한 추가 작업 진행부(150)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 그리고, 추가 작업 진행부(150)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 FAQ 중 하나와 매칭되지 않는 경우, 상기 의도 그룹에 대응되는 사전 설정된 동작을 진행할 수 있다. 예를 들어, 의도 그룹 분류부(120)가 입력 문장을 약관 대출 의도 그룹으로 분류하고, 수신부(110)가 사용자 인증 이후 사용자 단말(200)로부터 추가 입력 문장을 수신하지 못할 수 있다. 이러한 경우, 추가 작업 진행부(150)는 추가 입력 문장과 약관 대출의 FAQ가 매칭되지 않는다고 판단할 수 있다. 이에 따라, 추가 작업 진행부(150)는 사용자 인증 정보를 데이터베이스에 저장할 수 있다. 또한, 실시예에 따라 추가 작업 진행부(150)가 이전 단계로 되돌리는 동작을 수행할 수 있다. 전술한 추가 작업 진행부(150)의 동작은 예시일뿐, 본 개시는 이에 제한되지 않는다. 전술한 추가 작업 진행부(150)의 자세한 동작은 도 4와 함께 후술한다.
이에 따라, 본 개시의 일 실시예에 따른 서버(100)는 보험에 관하여 사용자가 수행할 수 있는 동작들을 그룹화하고 분류함으로써, 사용자 단말(200)로부터 입력되는 입력 문장에 대한 분류를 정확하게 수행할 수 있다.
또한, 근무 시간이 특정되어 있는 상담사나 설계사와 달리 챗봇을 통해 고객이 원하는 시간에 언제든지 상담을 제공할 수 있다. 그리고, 딥러닝 방식을 통한 데이터 학습에 기반하여 데이터가 축적 될수록 보다 고객의 의도를 정확하게 분류할 수 있다.
도 2는 본 개시의 일 실시예에 따른 서버(100)와 사용자 단말(200) 간의 흐름도를 도시한다.
먼저, 사용자 단말(200)은 사용자로부터 입력된 입력 문장을 서버(100)로 전송할 수 있다. 그리고, 서버(100)의 수신부(110)는 사용자 단말(200)로부터 상기 입력 문장을 수신할 수 있다. 또한, 일 실시예에 따라 이와 같은 과정 이전에 사용자 단말(200)과 서버(100)가 연결되는 동작이 추가될 수 있다. 예를 들어, 사용자 단말(200)이 사용자의 입력에 기초하여 서버(100)의 챗봇을 친구로 추가하는 동작 및 사용자 단말(200)과 서버(100)가 대화 세션을 개설하는 동작 중 적어도 하나가 추가될 수 있다. 전술한 추가 동작의 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
그리고, 서버(100)의 의도 그룹 분류부(120)가 입력 문장에 대한 의도 분류가 가능한지 여부를 확인(210)할 수 있다. 보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장에 대한 자연어 처리를 통해 의도 그룹 중 하나에 대응되는 분석값을 연산하고, 상기 분석값에 기초하여 입력 문장이 의도 그룹 중 하나로 분류되는지 판단할 수 있다. 상기 판단은 의도 그룹에 대하여 연산된 분석값이 사전 설정된 기준값 이상인지 여부에 기초하여 수행될 수 있다.
여기서 의도 그룹 분류부(120)가 연산한 분석값이 의도 그룹에 대응되는 기준값 이상인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나를 상기 의도 그룹으로 분류할 수 있다. 그리고 이에 따라, 추가 작업 진행부(150)가 분류된 의도 그룹에 관련한 동작을 진행할 수 있다. 또한, 실시예에 따라, 의도 그룹 분류부(120)가 분류한 입력 문장(또는, 추가 입력 문장)이 알맞은 의도 그룹으로 분류 되었는지에 대한 분류 결과 평가를 획득할 수 있다. 여기서 분류 결과 평가는 사용자 단말(200)을 통해 수신되는 사용자 입력에 기초하여 생성되거나, 또는 서버(100) 내의 추가적인 구성에 의하여 생성될 수 있다. 그리고, 의도 그룹 분류부(120)는 분류 결과 평가에 기초하여 RNN 구조(예컨대, 각 게이트)가 포함하는 가중치를 업데이트 할 수 있다.
또한, 의도 그룹 분류부(120)가 연산한 분석값이 의도 그룹에 대응되는 기준값 미만인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나가 의도 그룹 중 하나로 분류되지 않는다고 판단할 수 있다. 그리고, 질문 생성부(130)는 상기 판단에 기초하여 사용자 단말(200)로부터 의도 그룹에 관련한 추가 입력 문장을 유도하기 위한 추가 질문을 생성할 수 있다. 또한, 송신부(140)는 상기 추가 질문을 사용자 단말(200)로 전송할 수 있다. 이에 따라, 수신부(110)는 사용자 단말(200)로부터 추가 질문에 대한 응답으로써 추가 입력 문장을 더 수신할 수 있다. 그리고, 의도 그룹 분류부(120)는 상기 추가 입력 문장에 대한 의도 분류 가능 여부를 재판단 할 수 있다.
이에 따라, 본 개시의 일 실시예에 따른 서버(100)는 보험에 관하여 사용자가 수행할 수 있는 동작들을 그룹화하고 분류함으로써, 사용자 단말(200)로부터 입력되는 입력 문장에 대한 분류를 정확하게 수행할 수 있다.
또한, 근무 시간이 특정되어 있는 상담사나 설계사와 달리 챗봇을 통해 고객이 원하는 시간에 언제든지 상담을 제공할 수 있다. 그리고, 딥러닝 방식을 통한 데이터 학습에 기반하여 데이터가 축적 될수록 보다 고객의 의도를 정확하게 분류할 수 있다.
도 3은 본 개시의 일 실시예에 따른 챗봇의 동작 인터페이스(300)다.
보다 구체적으로, 수신부(110)가 사용자 단말(200)로부터 챗봇에 관련된 세션을 개설하기 위한 요청을 수신할 수 있다. 그리고, 서버(100)는 상기 요청에 기초하여 챗봇과 사용자 단말(200) 간의 채팅 세션을 개설할 수 있다. 또한, 송신부(140)는 사용자 단말(200)로 입력 문장(또는, 추가 입력 문장)을 입력하거나, 추가 질문 및 출력 문장을 출력하기 위한 인터페이스(300)를 전송할 수 있다.
그리고, 수신부(110)는 사용자 단말(200)로부터 입력 문장(311) "이거 이렇게 쓰면 되는건가"를 수신할 수 있다. 여기서 입력 문장(311)은 인터페이스(300)의 일 측(예컨대, 도 2에 도시된 바와 같이 좌측)에 인접하게 배치되고, 사용자 단말(200)을 식별할 수 있는 사용자 단말 아이콘(310)이 태그 될 수 있다. 그리고, 의도 그룹 분류부(120)는 수신된 입력 문장 "이거 이렇게 쓰면 되는건가"에 기초하여 사용자의 의도가 의도 그룹 중 하나로 분류되지 않는다고 판단할 수 있다. 또한, 질문 생성부(130)는 상기 판단에 기초하여 제 1 추가 질문(321) "안녕하세요. 원하시는 업무에 관해서 말씀해 주세요"를 생성한다. 상기 의도 그룹 분류부(120) 및 질문 생성부(130)의 동작에 관련된 자세한 설명은 도 1을 참조하여 전술하였기 때문에 생략한다.
송신부(140)는 질문 생성부(130)가 생성한 제 1 추가 질문(321) "안녕하세요. 원하시는 업무에 관해서 말씀해 주세요"를 사용자 단말(200)로 전송한다. 여기서 제 1 추가 질문(321)은 인터페이스(300)의 반대편 일 측(예컨대, 도 2에 도시된 바와 같이 우측)에 인접하게 배치되고, 챗봇을 식별할 수 있는 챗봇 아이콘(320)이 태그 될 수 있다.
그리고, 수신부(110)는 사용자 단말(200)로부터 제 1 추가 입력 문장(312) "30세 남자에게 맞는 보험 상품을 추천해줘"를 수신할 수 있다. 여기서 제 1 추가 입력 문장(312)은 입력 문장(311)과 동일한 측면에 일렬로 배치될 수 있다. 또한, 의도 그룹 분류부(120)는 상기 제 1 추가 입력 문장(312)에 대하여 의도 그룹 분류를 수행함으로써, 상기 제 1 추가 입력 문장(312)을 보험 상품 추천 의도 그룹으로 분류할 수 있다. 그리고, 질문 생성부(130)는 보험 상품 추천 의도 그룹에 해당하는 동작 수행 여부에 관한 제 2 추가 질문(322) "보험 상품 추천을 원하십니까?"를 생성할 수 있다. 또한, 송신부(140)는 상기 제 2 추가 질문(322)을 사용자 단말(200)로 전송할 수 있다.
또한, 수신부(110)는 사용자 단말(200)로부터 제 2 추가 입력 문장(313) "응응 추천해줘"를 수신할 수 있다. 이에 따라, 추가 작업 진행부(150)는 제 2 추가 질문에 대한 긍정적 응답을 수신함에 기초하여, 키워드 "30대" 및 "남자"에게 추천할 만한 보험 상품을 탐색하고 선정하는 동작을 수행할 수 있다. 그리고, 상기 추가 작업 진행부(150)는 선정된 두 가지 보험 상품 "삼성생명 스마트 저축 보험" 및 "삼성생명 New 에이스 변액적립보험"을 포함하는 출력 문장(323)을 생성할 수 있다. 또한, 송신부(140)는 상기 출력 문장(323)을 사용자 단말(200)로 전송할 수 있다. 여기서 출력 문장(323)은 도 3에 도시된 바와 같이, 각각의 상품에 대한 선택을 수신할 수 있도록 구성될 수 있다. 도 3을 참조하여 전술한 챗봇을 이용하여 사용자의 의도를 분류하는 서버(100)의 동작 인터페이스(300)는 자세한 예시의 기재일뿐, 본 개시는 이에 제한되지 않는다.
이에 따라, 본 개시의 일 실시예에 따른 서버(100)는 보험에 관하여 사용자가 수행할 수 있는 동작들을 그룹화하고 분류함으로써, 사용자 단말(200)로부터 입력되는 입력 문장에 대한 분류를 정확하게 수행할 수 있다.
또한, 근무 시간이 특정되어 있는 상담사나 설계사와 달리 챗봇을 통해 고객이 원하는 시간에 언제든지 상담을 제공할 수 있다. 그리고, 딥러닝 방식을 통한 데이터 학습에 기반하여 데이터가 축적 될수록 보다 고객의 의도를 정확하게 분류할 수 있다.
도 4는 본 개시의 일 실시예에 따른 약관 대출에 관련된 서버와 사용자 단말 간의 흐름도를 도시한다.
먼저, 사용자 단말(200)은 사용자로부터 입력된 입력 문장을 서버(100)로 전송할 수 있다. 그리고, 서버(100)의 수신부(110)는 사용자 단말(200)로부터 상기 입력 문장을 수신할 수 있다. 그리고 의도 그룹 분류부(120)는 입력 문장(또는, 추가 입력 문장)을 약관 대출 그룹으로 분류할 수 있다. 또한, 추가 작업 진행부(150)는 상기 의도 그룹 분류에 기초하여, 입력 문장이 약관 대출 의도 그룹에 해당하는 FAQ 중 하나 매칭되는지 여부를 확인(410)할 수 있다.
본 개시의 일 실시예에 따라 추가 작업 진행부(150)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 FAQ 중 하나와 매칭되는 경우, 매칭되는 FAQ에 기초하여 사전 저장된 답변을 제공할 수 있다.
그리고, 추가 작업 진행부(150)는 상기 FAQ에 해당하는 답변을 사용자 단말(200)로 제공한 후, 약관 대출에 관한 스코어링을 진행할 것인지에 대한 의사를 확인(420)할 수 있다. 여기서 스코어링 의사 확인은 약관 대출에 대한 스코어링 요청 여부, 또는 스코어링 동의 여부에 관한 추가 질문의 답변에 기초하여 수행될 수 있다.
또한, 추가 작업 진행부(150)는 사용자 단말(200)로부터 약관 대출 스코어링을 진행할 것이라는 요청을 수신하거나, 또는 동의에 해당하는 추가 입력 문장을 수신하는 경우, 사용자에 대해서 스코어링을 수행할 수 있다. 그리고, 상기 추가 작업 진행부(150)는 스코어링 결과를 데이터베이스에 저장할 수 있다.
본 개시의 다른 일 실시예에 따라 추가 작업 진행부(150)는 입력 문장 및 추가 입력 문장 중 적어도 하나가 FAQ 중 하나와 매칭되지 않는 경우, 약관 대출 실행을 요청한 것인지 확인(430)을 위한 추가 질문을 생성하고, 사용자 단말(200)로 상기 추가 질문을 전송할 수 있다. 예를 들어, 추가 작업 진행부(150)가 입력 문장 "약관 대출이 뭐야?"에 대해서 매칭되는 FAQ가 존재하지 않는다고 판단되는 경우, 질문 생성부(130)로 하여금 "약관 대출 실행을 원하십니까?"라는 추가 질문을 생성하도록 할 수 있다. 그리고, 송신부(140)는 상기 추가 질문을 사용자 단말(200)로 송신할 수 있다. 또한, 실시예에 따라, 질문 생성부(130)는 수신부(110)가 약관 대출의 스코어링 진행 여부에 대해서 부정적인 답변을 수신한 경우, 대출 실행 여부에 관한 추가 질문을 생성할 수도 있다.
그리고, 추가 작업 진행부(150)는 수신부(110)가 약관 대출 실행에 관한 추가 질문에 대해서 부정적인 답변(예컨대, 아니, 전혀)을 수신하는 경우, 질문 생성부(130)가 사용자의 의도 분류 단계부터 다시 시작하기 위한 추가 질문(예컨대, 다시 한번 원하시는 것을 말씀해주시겠습니까?)을 생성하도록 결정할 수 있다. 전술한 추가 작업 진행부의 동작 및 추가 질문의 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 추가 작업 진행부(150)는 수신부(110)가 약관 대출 실행에 관한 추가 질문에 대해서 긍정적인 답변(예컨대, 맞습니다, 인정)을 수신하는 경우, 질문 생성부(130)가 사용자 단말(200)에게 사용자 인증 및 대출 정보를 입력 받기 위한 추가 질문을 생성하도록 결정할 수 있다. 여기서 대출 정보는 원하는 대출 금액, 대출 기간, 상환방식 및 기타사항 등을 포함할 수 있다. 그리고, 추가 작업 진행부(150)는 사용자 인증 및 대출 정보를 수신하는 경우, 약관 대출을 실행할 수 있다. 또한, 상기 추가 작업 진행부(150)는 약관 대출을 실행한 후, 사용자 단말(200)에 대응하는 고객정보, 신용정보 및 스코어링정보 중 적어도 하나를 데이터베이스에 저장할 수 있다.
이에 따라, 본 개시의 따른 서버(100)는 사용자 중 약관 대출을 원하는 고객의 의도를 용이하게 파악할 수 있고, 약관 대출에 관련된 상담을 업무 시간에 구애 받지 않고 수행할 수 있다. 또한, 자동적으로 스코어링정보 및 대출에 관련된 동작을 수행한 사용자 정보를 데이터베이스에 저장함으로서 추가적인 신용등급 조정 및 관리가 용이할 수 있다.
도 5는 본 개시의 일 실시예에 따른 고객 의도 분류의 순서도(Flow chart)를 도시한다.
본 개시의 일 실시예에 따라 챗봇을 이용하여 사용자의 의도를 분류하는 방법이 개시된다.
상기 방법은 수신부(110)가 사용자 단말(200)로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신하는 단계(501)를 포함한다. 여기서 입력 문장은 서버(100)가 사용자 단말(200)로부터 수신하는 첫 문장을 포함할 수 있다. 또한, 상기 입력 문장은 서버(100)가 사용자 단말(200)에 대해 임의의 동작을 수행하기 전까지 수신되는 하나 이상의 문장일 수 있다. 여기서 서버(100)가 상기 첫 입력 문장 및 두번째 입력 문장에 대한 답변, 또는 결과값 출력 동작을 수행하지 않은 경우, 상기 첫 입력 문장 및 두번째 입력 문장을 하나의 입력 문장으로 판단할 수 있다. 전술한 입력 문장의 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
또한, 수신부(110)는 사용자 단말(200)로부터 추가 입력 문장을 수신할 수 있다. 여기서 추가 입력 문장은 서버(100)가 입력 문장에 대해서 임의의 동작(예컨대, 결과값 출력, 또는 상품 추천 등)을 수행한 이 후, 사용자 단말(200)로부터 입력되는 문장을 의미할 수 있다. 그리고 추가 입력 문장은 하나 이상의 문장 그룹일 수 있다. 예를 들어, 서버(100)가 수행하는 제 1 동작 이후, 제 2 동작 이전까지 수신되는 입력 문장 3개를 그룹화하여 제 1 추가 입력 문장으로 판단할 수 있다. 또한, 제 2 동작 이후, 제 3 동작 이전까지 수신되는 입력 문장 2개를 그룹화하여 제 2 추가 입력 문장으로 판단할 수 있다. 전술한 추가 입력 문장의 자세한 기재는 예시일뿐, 본 개시는 이에 제한되지 않는다.
그리고, 의도 그룹 분류부(120)가 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹 중 하나에 대응되는 분석값을 연산하는 단계(502)를 포함한다. 여기서 의도 그룹은 보험에 관하여 사용자 단말(200)이 수행할 수 있는 동작을 사전 설정된 개수로 그룹화하여 분류한 것을 의미할 수 있다.
또한, 의도 그룹 분류부(120)는 인공신경망을 이용해 자연어 처리를 수행할 수 있다. 예를 들어, 의도 그룹 분류부(120)는 RNN(Recurrent Neural Network)을 이용하여 자연어 처리를 수행할 수 있다. 여기서 RNN은 하나 이상의 단어를 포함하는 문장의 데이터에 기초하여 패턴을 학습하기 위한 딥 러닝 모델을 의미할 수 있다. 즉, 의도 그룹 분류부(120)는 RNN에 기초하여 입력 문장, 또는 추가 입력 문장을 입력 데이터, 그리고 상기 입력 문장에 대한 분류를 출력 데이터로써 반복 학습할 수 있다. 이에 따라, 의도 그룹 분류부(120)는 수신부(110)를 통해 수신되는 입력 문장, 또는 추가 입력 문장이 축적되고, 상기 입력 문장, 또는 추가 입력 문장에 대한 의도 그룹 분류 정보가 축적될수록 보다 정확한 의도 분류를 수행할 수 있다.
본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 입력 문장 및 추가 입력 문장 중 적어도 하나를 표준화할 수 있다. 여기서 표준화는 입력 문장 및 추가 입력 문장 중 적어도 하나가 포함하는 단어의 의미, 또는 둘 이상의 단어 간의 관계에 기초하여 단어 중 의미가 없다고 판단되는 단어를 삭제하거나, 또는 단어 중 일부를 변경하여 입력 문장 및 추가 입력 문장을 의미 단위로 구성하는 동작일 수 있다.
또한, 본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 의도 그룹에 각각 대응되는 대표 문장과 표준화된 입력 문장 및 추가 입력 문장 중 적어도 하나 간의 의미 유사도를 판단하여 분석값을 연산할 수 있다. 여기서 대표 문장은 각각의 의도 그룹에 대해 사전 설정된 하나 이상의 문장을 포함할 수 있다. 그리고, 대표 문장은 상기 의도 그룹을 명확히 지칭하는 문장으로 구성될 수 있다. 그리고, 의도 그룹 분류부(120)는 대표 문장과 표준화된 입력 문장, 또는 추가 입력 문장 간의 의미 유사도를 판단하여 분석값을 연산할 수 있다. 여기서 분석값은 입력 문장, 또는 추가 입력 문장이 하나의 의도 그룹에 해당할 수 있는 확률을 의미할 수 있다.
그리고, 의도 그룹 분류부(120)가 분석값에 기초하여 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹 중 하나로 분류하는 단계(503)를 포함한다. 보다 구체적으로, 의도 그룹 분류부(120)는 분석값과 의도 그룹에 대응되는 기준값을 비교하여 분석값이 기준값 이상인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹으로 분류할 수 있다. 또한, 의도 그룹 분류부(120)는 분석값과 의도 그룹에 대응되는 기준값을 비교하여 분석값이 기준값 미만인 경우, 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹으로 분류되지 않는다고 판단할 수 있다.
본 개시의 일 실시예에 따른 의도 그룹 분류부(120)는 분석값이 기준값 이상인 의도 그룹이 두 개 이상인 경우, 기준값 대비 분석값의 초과치가 가장 큰 의도 그룹으로 입력 문장(또는, 추가 입력 문장)을 분류할 수 있다.
그리고, 입력 문장 및 추가 입력 문장 중 적어도 하나가 의도 그룹 중 하나로 분류되지 않거나, 사용자 단말(200)로부터 잘못된 분류라는 입력을 수신하는 경우, 질문 생성부(130)가 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성하는 단계(504)를 포함한다. 여기서 추가 질문은 사전에 저장된 데이터베이스에서 선택될 수 있고, 실시예에 따라 입력 문장(또는, 추가 입력 문장)에 기초하여 생성될 수도 있다.
보다 구체적으로, 의도 그룹 분류부(120)는 입력 문장(또는, 추가 입력 문장)이 사전 설정된 개수의 의도 그룹으로 분류되지 않는다고 판단할 수 있다. 그리고, 질문 생성부(130)는 상기 판단에 기초하여, 추가 질문을 생성할 것을 결정할 수 있다. 또한, 수신부(110)가 사용자 단말(200)로부터 출력된 결과가 사용자의 의도와 맞지 않는다는 의미의 동작(예를 들어, 뒤로 가기 버튼에 대한 사용자 입력, 또는 잘못된 의도 분류라는 사용자 입력)을 수신할 수 있다. 그리고, 질문 생성부(130)는 사용자 단말(200)로부터 수신한 사용자 입력에 기초하여, 추가 질문을 생성할 것을 결정할 수 있다. 여기서 추가 질문은 사용자 단말(200)로부터 추가 입력 문장을 유도하기 위한 질의를 포함할 수 있다. 또한, 질문 생성부(130)는 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성할 수 있다. 보다 구체적으로, 질문 생성부(130)는 입력 문장(또는, 추가 입력 문장)이 포함하는 하나 이상의 단어에 기초하여 분석값이 상대적으로 높은 의도 그룹을 선정할 수 있다. 그리고 질문 생성부(130)는 선정된 의도 그룹에 대한 사용자의 반응을 유도하기 위한 질의를 포함하는 추가 질문을 생성할 수 있다.
그리고, 송신부(140)가 추가 질문을 사용자 단말(200)로 송신하는 단계(505)를 포함한다. 보다 구체적으로, 송신부(140)는 질문 생성부(130)가 생성한 추가 질문을 획득할 수 있다. 그리고 상기 송신부(140)는 추가 질문을 사용자 단말(200)과 연결되어 있는 챗봇을 통해 인터페이스와 함께 사용자 단말(200)로 송신할 수 있다. 상기 과정에서 송신부(140)는 유/무선 네트원크를 통하여 사용자 단말(200)과 통신할 수 있다.
또한, 본 개시의 일 실시예에 따라 추가 작업 진행부(150)가 분류된 의도 그룹에 관련된 동작을 진행하는 단계를 포함할 수 있다. 그리고, 여기서 분류된 사전 설정된 의도 그룹이 약관 대출 그룹이고, 추가 작업 진행부(150)가 약관 대출의 스코어링을 진행하거나, 또는 수신부(110)가 약관 대출의 스코어링, 또는 실행에 관한 사용자 입력을 수신할 수 있다. 이러한 경우, 추가 작업 진행부(150)가 사용자 단말(200)에 대응하는 고객정보, 신용정보 및 스코어링정보 중 적어도 하나를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
본 개시의 다른 일 실시예에 따른 챗봇을 이용하여 사용자의 의도를 분류하기 위하여 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 개시한다.
상기 컴퓨터 프로그램은 수신부(110)가 사용자 단말(200)로부터 하나 이상의 단어를 포함하는 입력 문장 및 추가 입력 문장 중 적어도 하나를 수신하기 위한 명령을 포함한다.
그리고, 의도 그룹 분류부(120)가 입력 문장 및 추가 입력 문장 중 적어도 하나에 대한 자연어 처리를 통해 의도 그룹 중 하나에 대응되는 분석값을 연산하기 위한 명령을 포함한다. 여기서 의도 그룹은 보험에 관련된 동작에 각각 대응된다. 또한, 의도 그룹 분류부(120)가 분석값에 기초하여 입력 문장 및 추가 입력 문장 중 적어도 하나를 의도 그룹 중 하나로 분류하기 위한 명령을 포함한다.
입력 문장 및 추가 입력 문장 중 적어도 하나가 의도 그룹 중 하나로 분류되지 않거나, 사용자 단말(200)로부터 잘못된 분류라는 입력을 수신하는 경우, 질문 생성부(130)가 입력 문장 및 추가 입력 문장 중 적어도 하나에 기초하여 추가 질문을 생성하기 위한 명령을 포함한다. 그리고, 송신부(140)가 추가 질문을 사용자 단말(200)로 송신하기 위한 명령을 포함한다.
이에 따라, 본 개시의 일 실시예에 따른 서버(100)는 보험에 관하여 사용자가 수행할 수 있는 동작들을 그룹화하고 분류함으로써, 사용자 단말(200)로부터 입력되는 입력 문장에 대한 분류를 정확하게 수행할 수 있다.
또한, 근무 시간이 특정되어 있는 상담사나 설계사와 달리 챗봇을 통해 고객이 원하는 시간에 언제든지 상담을 제공할 수 있다. 그리고, 딥러닝 방식을 통한 데이터 학습에 기반하여 데이터가 축적 될수록 보다 고객의 의도를 정확하게 분류할 수 있다.
도 6은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.
도 6은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
본 개시가 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시가 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 여기서 매체는 저장 매체 및 전송 매체를 포함할 수 있다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 또한, 전송 매체는 명령(들) 및/또는 데이터를 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (9)

  1. 서버에 의해 수행되는 챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하는 방법에 있어서,
    수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 단계;
    의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계;
    상기 의도 그룹 분류부가 상기 분석값이 상기 보험 상품 추천 의도 그룹에 대응하는 기준값 이상인 경우, 상기 입력 문장을 상기 보험 상품 추천 의도 그룹으로 분류하는 단계;
    추가 작업 진행부가 상기 입력 문장에 포함된 키워드 및 데이터베이스의 상기 보험 상품 추천 의도 그룹에 대해 저장된 보험 상품들에 기초하여, 상기 입력 문장의 의도와 매칭되는 하나 이상의 추천 보험 상품을 선정하는 단계;
    상기 추가 작업 진행부가 상기 하나 이상의 추천 보험 상품 중 하나의 추천 보험 상품에 대한 사용자의 선택 입력을 수신하기 위하여 상기 하나 이상의 추천 보험 상품에 대한 선택 사항을 생성하는 단계; 및
    송신부가 상기 선택 사항을 상기 사용자 단말로 송신하는 단계;
    를 포함하고,
    상기 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 보험 상품 추천 의도 그룹의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계는,
    상기 의도 그룹 분류부가 상기 입력 문장을 상기 입력 문장에 포함된 단어의 의미, 또는 둘 이상의 단어 간의 관계에 기초하여 상기 단어 중 의미가 없다고 판단되는 단어를 삭제하거나, 또는 상기 단어 중 일부를 변경하여 상기 입력 문장을 의미 단위로 구성하는 표준화를 수행하는 단계; 및
    상기 의도 그룹 분류부가 상기 의도 그룹에 각각 대응되는 대표 문장 및 표준화된 상기 입력 문장이 포함하고 있는 하나 이상의 단어의 의미, 배열 및 각 단어 간의 관계에 기초하여 상기 분석값을 연산하는 단계;
    를 포함하는,
    챗봇을 이용하여 보험 상품 추천 관련 문의에 응답하는 방법.
  2. 서버에 의해 수행되는 챗봇을 이용하여 사용자의 문의에 응답하는 방법에 있어서,
    수신부가 사용자 단말로부터 하나 이상의 단어를 포함하는 입력 문장을 수신하는 단계;
    의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 하나 이상의 의도 그룹 각각의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계;
    상기 의도 그룹 분류부가 상기 분석값과 상기 하나 이상의 의도 그룹에 대응되는 기준값을 비교하여 상기 분석값이 상기 기준값 이상인 경우, 상기 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하는 단계;
    추가 작업 진행부가 상기 입력 문장 및 데이터베이스에 상기 의도 그룹에 대하여 저장된 하나 이상의 FAQ 중 상기 입력 문장에 매칭되는 FAQ가 있는지 여부를 판단하는 단계;
    상기 입력 문장에 매칭되는 FAQ가 존재하는 경우, 상기 매칭되는 FAQ에 관련한 후속 동작을 실행하기 위하여, 송신부가 상기 하나 이상의 FAQ 중 상기 매칭되는 FAQ의 다음 동작에 해당하는 FAQ에 관한 답변을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 단계; 및
    상기 입력 문장에 매칭되는 FAQ가 존재하지 않는 경우, 상기 사용자의 입력 문장이 상기 저장된 하나 이상의 FAQ 중 어느 FAQ에 관련한 문장인지 확인하기 위하여, 상기 송신부가 사용자로부터 상기 저장된 하나 이상의 FAQ 중 하나의 FAQ에 관한 추가 입력 문장을 유도하기 위한 추가 질문을 상기 사용자 단말에 송신하는 단계;
    를 포함하고,
    상기 의도 그룹 분류부가 상기 입력 문장에 대한 자연어 처리를 통해 하나 이상의 의도 그룹 각각의 대표 문장과의 의미 유사도에 기초하여 분석값을 연산하는 단계는,
    상기 의도 그룹 분류부가 상기 입력 문장을 상기 입력 문장에 포함된 단어의 의미, 또는 둘 이상의 단어 간의 관계에 기초하여 상기 단어 중 의미가 없다고 판단되는 단어를 삭제하거나, 또는 상기 단어 중 일부를 변경하여 상기 입력 문장을 의미 단위로 구성하는 표준화를 수행하는 단계; 및
    상기 의도 그룹 분류부가 상기 의도 그룹에 각각 대응되는 대표 문장 및 표준화된 상기 입력 문장이 포함하고 있는 하나 이상의 단어의 의미, 배열 및 각 단어 간의 관계에 기초하여 상기 분석값을 연산하는 단계;
    를 포함하는,
    챗봇을 이용하여 사용자의 문의에 응답하는 방법.
  3. 제 2 항에 있어서,
    추가 작업 진행부가 상기 사용자 단말로부터 상기 추가 질문에 대한 부정적인 답변을 수신하는 경우, 사용자의 입력 문장을 상기 하나 이상의 의도 그룹 중 하나의 의도 그룹으로 분류하는 단계를 개시하기 위한 추가 질문을 생성하도록 결정하는 단계;
    를 더 포함하는,
    챗봇을 이용하여 사용자의 문의에 응답하는 방법.
  4. 제 2 항에 있어서,
    추가 작업 진행부가 상기 사용자 단말로부터 상기 후속 동작에 대한 답변을 수신하는 경우, 상기 답변에 기초하여 상기 사용자 단말에 대응되는 다른 후속 동작을 실행하기 위한 정보를 데이터베이스에 저장하는 단계;
    를 더 포함하는,
    챗봇을 이용하여 사용자의 문의에 응답하는 방법.

  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
KR1020190005586A 2017-11-07 2019-01-16 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램 KR102299319B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190005586A KR102299319B1 (ko) 2017-11-07 2019-01-16 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170147374 2017-11-07
KR1020190005586A KR102299319B1 (ko) 2017-11-07 2019-01-16 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170147374 Division 2017-11-07 2017-11-07

Publications (2)

Publication Number Publication Date
KR20190051904A KR20190051904A (ko) 2019-05-15
KR102299319B1 true KR102299319B1 (ko) 2021-09-06

Family

ID=66579999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190005586A KR102299319B1 (ko) 2017-11-07 2019-01-16 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102299319B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645720B2 (en) 2019-08-01 2023-05-09 Patty, Llc Multi-channel cognitive digital personal lines property and casualty insurance and home services rate quoting, comparison shopping and enrollment system and method
US11636509B2 (en) 2019-08-01 2023-04-25 Patty, Llc Self-optimizing, multi-channel, cognitive digital health and life insurance rate quoting, comparison shopping and enrollment system and method
WO2021022257A1 (en) 2019-08-01 2021-02-04 Patty Llc Self-optimizing, multi-channel, cognitive virtual benefits product field underwriter and customer service representative
WO2021022184A1 (en) 2019-08-01 2021-02-04 Patty, Llc System and method for pre-qualifying a consumer for life and health insurance products or services
KR102310451B1 (ko) 2019-10-25 2021-10-07 삼성생명보험주식회사 보험 문서 분석 방법을 제공하기 위한 컴퓨터 프로그램
KR102328013B1 (ko) * 2019-11-13 2021-11-17 주식회사 한글과컴퓨터 인스턴트 메시징 애플리케이션을 통해 입력된 텍스트와 연관된 문장 추천이 가능한 문장 추천 서버 및 그 동작 방법
KR102440893B1 (ko) * 2020-12-18 2022-09-06 건국대학교 산학협력단 멀티 챗봇 서비스의 응답 시간 개선을 위한 방법 및 장치
KR102574220B1 (ko) * 2021-01-18 2023-09-04 주식회사 깃플 챗봇을 이용한 고객 상담 시스템, 방법 및 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062741A (ja) * 2015-09-25 2017-03-30 株式会社ユニバーサルエンターテインメント 情報提供システム、情報提供方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101508429B1 (ko) * 2013-08-22 2015-04-07 주식회사 엘지씨엔에스 사용자 단말에 에이전트 서비스를 제공하는 방법 및 시스템
KR101719196B1 (ko) * 2014-06-09 2017-03-23 삼성생명보험주식회사 고객 상담 의도를 예측하여 대응하기 위한 장치 및 컴퓨터-판독가능 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062741A (ja) * 2015-09-25 2017-03-30 株式会社ユニバーサルエンターテインメント 情報提供システム、情報提供方法、及びプログラム

Also Published As

Publication number Publication date
KR20190051904A (ko) 2019-05-15

Similar Documents

Publication Publication Date Title
KR102299319B1 (ko) 챗봇을 이용한 고객 의도 분류 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램
US11475374B2 (en) Techniques for automated self-adjusting corporation-wide feature discovery and integration
US11562267B2 (en) Chatbot for defining a machine learning (ML) solution
US11012569B2 (en) Insight based routing for help desk service
WO2021050391A1 (en) Machine learning (ml) infrastructure techniques
KR102008169B1 (ko) 고객 질의 대응 서버, 방법 및 판독 가능 저장매체에 저장된 컴퓨터 프로그램
EP4028874A1 (en) Techniques for adaptive and context-aware automated service composition for machine learning (ml)
US10666803B2 (en) Routing during communication of help desk service
US11656889B2 (en) Method and system for automatically invoking functionality while using a primary application without user action
KR102310451B1 (ko) 보험 문서 분석 방법을 제공하기 위한 컴퓨터 프로그램
US20230336340A1 (en) Techniques for adaptive pipelining composition for machine learning (ml)
US20230410123A1 (en) Data-driven taxonomy for annotation resolution
KR102098003B1 (ko) 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
KR20200041199A (ko) 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
US11386902B2 (en) System for generation and maintenance of verified data records
KR102276391B1 (ko) 고객 응대 방법을 제공하기 위한 컴퓨터 프로그램
US11593745B1 (en) Cognitive and heuristics-based emergent financial management
US20180276676A1 (en) Communication conduit for help desk service
US20230333867A1 (en) Method and computing apparatus for operating a form-based interface
CA3234523A1 (en) Method and computing apparatus for operating a form-based interface
Blaschczok et al. Review of innovations in the South African collection industry

Legal Events

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