KR20190064126A - 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치 - Google Patents

공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치 Download PDF

Info

Publication number
KR20190064126A
KR20190064126A KR1020170163443A KR20170163443A KR20190064126A KR 20190064126 A KR20190064126 A KR 20190064126A KR 1020170163443 A KR1020170163443 A KR 1020170163443A KR 20170163443 A KR20170163443 A KR 20170163443A KR 20190064126 A KR20190064126 A KR 20190064126A
Authority
KR
South Korea
Prior art keywords
candidate
answer
scoring
filtering
service
Prior art date
Application number
KR1020170163443A
Other languages
English (en)
Other versions
KR102377156B1 (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 KR1020170163443A priority Critical patent/KR102377156B1/ko
Publication of KR20190064126A publication Critical patent/KR20190064126A/ko
Application granted granted Critical
Publication of KR102377156B1 publication Critical patent/KR102377156B1/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/10Services
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Abstract

챗봇 서비스를 제공함에 있어서, 공개 인터페이스를 통해 접수된 답변을 이용하여 챗봇의 발화(utterance)를 구성하는 방법 및 그 장치가 제공된다. 본 발명의 일 실시예에 따른 챗봇 서비스 제공 방법은, 사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계와, 상기 후보 답변들을 필터링 하는 단계와, 상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계와, 상기 스코어링의 결과로 선정된 최종 답변을, 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함한다.

Description

공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치{METHOD AND APPARATUS FOR CHATBOT SERVICE PROVIDING USING RESPONSES RECEIVED FROM OPEN INTERFACE}
본 발명은 챗봇 서비스를 제공하는 방법 및 그 장치에 관한 것이다. 보다 자세하게는 챗봇 서비스를 제공함에 있어서, 공개 인터페이스를 통해 접수된 답변을 이용하여 챗봇의 발화(utterance)를 구성하는 방법 및 그 장치에 관한 것이다.
챗봇 서비스는 챗봇 클라이언트를 통하여 입력된 사용자 발화(utterance)에 대한 응답으로, 소프트웨어 로직에 의하여 자동으로 생성된 답변(response)을 상기 챗봇 클라이언트에 제공하는 서비스이다. 따라서, 사용자 발화에 대한 적절한 답변을 생성하는 소프트웨어 로직은 상기 챗봇 서비스에 있어서 가장 중요한 요소 중 하나이다.
상기 답변은 자연어 형태의 텍스트인 것이 바람직하다. 따라서, 상기 답변의 생성을 위한 소프트웨어 로직은 자연어 생성(Natural Language Generation) 모듈을 포함한다. 또한, 상기 답변을 생성하기 위하여, 룰-기반(rule-based) 로직, 기계학습 기반 로직, 외부 정보 소스에 대한 검색 로직 등 다양한 기술이 사용된다.
답변의 생성이 다양한 기술을 이용하여 이루어 지기는 하지만, 아직까지 챗봇 서비스 제공자 외의 써드 파티(3rd parties)가 답변의 생성에 관여할 수 있는 기술은 제공되지 않고 있다. 이는 써드 파티의 답변 생성 관련 관여가 이뤄지면 챗봇 서비스에서 제공되는 답변의 품질을 담보하기 어렵기 때문인 것으로 보인다.
미국등록특허 US 8,738,739
본 발명이 해결하고자 하는 기술적 과제는, 써드 파티의 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 써드 파티의 공개 인터페이스를 통해 접수된 답변들 중 실제로 챗봇 클라이언트 단말에 제공되는 답변의 품질을 일정 수준 이상으로 담보하는 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 신규의 광고 매체 로서의 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 답변의 품질 향상에 도움이 되는 형태로 광고가 노출됨으로써, 챗봇 서비스 사용자의 광고에 대한 거부감을 최소화하는 챗봇 서비스 제공 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 챗봇 서비스 제공 방법은, 사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계와, 상기 후보 답변들을 필터링 하는 단계와, 상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계와, 상기 스코어링의 결과로 선정된 최종 답변을 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함한다.
일 실시예에서, 상기 필터링 하는 단계는, 상기 후보 답변들을 대상으로 스팸 필터를 적용하여 1차 필터링 하는 단계와, 상기 1차 필터링을 통과한 후보 답변들을 대상으로, 리뷰 품질 분석을 통해 2차 필터링 하는 단계를 포함한다. 이 때, 상기 리뷰 품질 분석은, ((#E + #O) / LEN)의 값을 기준으로 필터링 하는 것을 특징으로 한다. 단, (#E = 후보 답변에 포함된 엔티티의 개수, #O = 후보 답변에 포함된 의견 표현의 개수, LEN = 후보 답변의 길이)이다.
일 실시예에서, 상기 스코어링을 수행하는 단계는, 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계를 포함한다. 이 때, 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계는, 상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 후보 답변들을 접수 받는 단계는, 공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 상기 후보 답변에 부여되는 레이트를 상향 시키기 위한 비용 지급에 대한 정보를 상기 후보 답변과 함께 접수 받는 단계를 포함할 수 있다. 이 때, 상기 스코어링을 수행하는 단계는, 상기 후보 답변에 부여된 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 스코어링을 수행하는 단계는, 상기 후보 답변의 제출자의 비용 지급에 따라 상기 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다. 또한, 상기 스코어링을 수행하는 단계는, 상기 후보 답변의 제출자의 비용 지급에 따라 상기 제출자의 모든 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수도 있다.
일 실시예에서, 상기 후보 답변들을 접수 받는 단계는, 후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받는 단계를 포함할 수 있다. 이 때, 상기 스코어링을 수행하는 단계는, 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 챗봇 서비스 제공 시스템의 구조를 도시한 구성도이다.
도 2는 본 발명의 몇몇 실시예들에 따라 챗봇 서비스가 제공될 때, 써드 파티로부터 접수된 후보 답변이 이용되는 것을 설명하기 위한 도면이다.
도 3a는 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 방법의 순서도이다.
도 3b는 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 방법의 순서도이다.
도 4는 도 3a 또는 도 3b의 일부 동작을 상세히 설명하기 위한 개념도이다.
도 5는 본 발명의 몇몇 실시예들에서 참조되는 사용자 모델 및 대화 로그의 제1 시나리오를 설명하기 위한 도면이다.
도 6은 도 3a 또는 도 3b의 일부 동작을 도 5의 제1 시나리오에 기반하여 상세히 설명하기 위한 개념도이다.
도 7은 본 발명의 몇몇 실시예들에서 참조되는 사용자 모델 및 대화 로그의 제2 시나리오를 설명하기 위한 도면이다.
도 8a 및 도 8b는 도 3a 또는 도 3b의 일부 동작을 도 7의 제2 시나리오에 기반하여 상세히 설명하기 위한 개념도이다.
도 9는 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 시스템의 블록 구성도이다.
도 10은 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1은 본 발명의 일 실시 예에 따른 챗봇 서비스 제공 시스템의 구성도이다. 도 1에 도시된 바와 같이, 본 실시예에 따른 시스템은 챗봇 서비스 서버(100) 및 후보 답변 접수 서버(200)를 포함할 수 있다. 도 1에는 챗봇 서비스 서버(100)와 후보 답변 접수 서버(200)가 물리적으로 분리된 별개의 장치인 것으로 도시되어 있으나, 챗봇 서비스 서버(100)와 후보 답변 접수 서버(200)는 하나의 서버 장치 내부의 소프트웨어 모듈로서 각각 구현될 수도 있는 점을 유의한다. 챗봇 클라이언트는, 스마트 폰, 태블릿, 노트북, PC 등의 사용자 단말(10a, 10b, 10c)일 수 있으나, 다른 서비스를 제공하는 서버 장치(20)일 수도 있는 점을 유의한다.
도 2는 본 발명의 몇몇 실시예들에 따라 챗봇 서비스가 제공될 때, 써드 파티로부터 접수된 후보 답변이 이용되는 것을 설명하기 위한 도면이다. 본 발명의 몇몇 실시예들에서, 써드 파티로부터 접수된 특정 질문에 대한 후보 답변들을 이용하여 챗봇 서비스가 제공된다.
상기 써드 파티는, 챗봇 서비스 제공자 이외의 주체를 가리키는 것으로, 예를 들어 챗봇 서비스 사용자, 챗봇 서비스에 대한 광고를 집행하고자 하는 광고주 등일 수 있다. 후보 답변 접수 서버(200)는 웹 문서 등의 후보 답변 접수 공개 인터페이스(210)를 통하여 특정 질문에 대한 후보 답변들을 접수 받을 수 있다. 이를 위해, 후보 답변 접수 서버(200)는 상기 웹 문서를 서비스 하기 위한 웹 서버 모듈(미도시)을 구비할 수 있다.
한편, 후보 답변 접수 공개 인터페이스(210)는 접속 자격에 있어서 특정한 제한 사항을 가지지 않는 것일 수 있다. 예를 들어, 후보 답변 접수 공개 인터페이스(210)는 회원 가입 절차 없이 상기 후보 답변을 제출할 수 있거나, 챗봇 서비스 제공자 또는 그 관련자로 가입 요건이 한정되지 않는 회원 가입 절차를 거치는 것만으로도 상기 후보 답변을 제출할 수 있는 것일 수 있다. 이러한 점에서, 후보 답변 접수 공개 인터페이스(210)는 "공개된" 후보 답변 공개 채널이며, 이렇게 공개된 채널을 통하여 다양한 주체로부터 후보 답변을 접수 받는 것에 의하여, 챗봇 서비스가 제공하는 답변이 보다 풍성해 지는 효과를 얻을 수 있다.
본 발명의 몇몇 실시예들에서, 써드 파티의 단말들로부터 접수된 질문 별 후보 답변은 필터링을 통해 걸러진 후, 필터링을 통과한 후보 답변들 중에 사용자 발화에 대한 응답으로서 챗봇 클라이언트(10a)에 출력될 답변이 선정될 수 있다. 답변의 선정은 챗봇 서비스 서버(100)에 의하여 수행될 것이나, 필터링은 후보 답변 접수 서버(200)에 의하여 수행되거나, 챗봇 서비스 서버(100)에 의하여 수행 될 수 있음을 유의한다.
본 발명의 몇몇 실시예들에서, 후보 답변의 제출은 후보 답변 접수 비용 지급을 요할 수 있다. 즉, 후보 답변 제출을 통하여, 챗봇 서비스를 통하여 자신이 제안한 답변이 출력될 수 있는 기회를 갖기 위하여, 챗봇 서비스 사업자 등에 대한 소정의 비용 지급이 요구될 수 있다.
이 때, 제출된 모든 후보 답변은 동일한 레이트(rate)를 부여 받을 수 있다. 즉, 이 경우, 제출된 모든 후보 답변은 동일한 지위에서 답변 적합성의 관점에서만 평가된다. 상기 답변 적합성의 관점에서, 사용자 발화, 그 동안의 대화 로그(log) 및 사용자 프로필 중 적어도 하나와 상기 후보 답변이 서로 비교될 수 있다.
본 발명의 몇몇 실시예들에서, 접수 대상 질문은 후보 답변의 접수 실적에 따라 자동으로 분화되거나 병합될 수 있다. 예를 들어, 도 2에 도시된 "카드 추천해주세요"라는 질문에 대하여 기준치를 초과하는 후보 답변이 접수되면, 후보 답변 접수 서버(200)는 자동으로 "카드 추천해주세요"라는 질문을 "할인 혜택 많은 카드 추천해주세요"라는 질문, "연회비 무료 카드 추천해주세요"라는 질문, "포인트 적립 많은 카드 추천해주세요"라는 질문 등 하위 개념의 상세 질문으로 접수 대상 질문을 분화하여 그에 대한 후보 답변을 접수 받는 것으로 결정할 수 있다. 이러한 후보 답변 접수 서버(200)의 결정에 따라, 후보 답변 접수 공개 인터페이스(210)는 분화된 질문을 후보 답변 접수 대상 질문으로서 표시할 것이다.
다음으로, 도 3a 내지 도 8b를 참조하여, 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 방법을 설명한다. 본 실시예에 따른 챗봇 서비스 제공 방법은 하나 이상의 전자 장치에 의하여 수행될 수 있다. 상기 전자 장치는, 예를 들어 컴퓨팅 장치일 수 있다. 상기 컴퓨팅 장치는, 예를 들어 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 제공 장치(100) 및 후보 답변 접수 서버(200) 중 적어도 하나일 수 있다. 상기 챗봇 서비스 제공 방법에 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 서버(100) 및 후보 답변 접수 서버(200)의 동작이 적어도 일부 포함될 수 있음을 유의한다.
이하, 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 방법을 도 3a를 참조하여 설명한다. 도 3a에 도시된 바와 같이, 본 실시예에 따른 챗봇 서비스 제공 방법은, 질문 별 후보 답변을 후보 답변 접수 공개 인터페이스를 통하여 접수 받는 단계(S101), 접수된 후보 답변들 중 적어도 일부를 필터링 하여 답변 선정 대상에서 제외시키는 단계(S103), 필터링을 통과한 후보 답변들을 대상으로, 사용자 발화에 대한 답변으로서 출력시킬지 여부를 선정하기 위한 스코어링을 진행하는 단계(S105), 상기 스코어링 결과를 이용하여 답변을 최종 선정하고(S107), 선정된 답변을 챗봇 클라이언트에 송신하는 단계(S109)를 포함할 수 있다. 필터링 하는 단계(S103) 및 스코어링 단계(S105)에 대하여는 도 4 내지 도 8b를 참조하여 자세히 후술한다.
선정된 답변을 챗봇 클라이언트에 송신하는 단계(S109)는 챗봇 서비스 서버(100)에 의하여 수행되는 것이 바람직하다. 또한, 질문 별 후보 답변 접수 단계(S101)는 후보 답변 접수 서버(200)에 의하여 수행되는 것이 바람직하다.
일 실시예에 따르면, 도 3a에 도시된 바와 같이, 후보 답변 필터링(S103), 스코어링(S105) 및 답변의 최종 선정(S107)이 답변 리소스 관리 프로세스(S10)로서 수행될 수 있다. 본 실시예에 따르면, 특정 질문에 대한 답변이 사용자 발화가 있기 이전에 미리 결정된다. 즉, 후보 답변들을 접수 받고, 그 중 일부를 필터링을 통하여 1차적으로 제외시키고, 남은 후보 답변을 대상으로 스코어링을 수행하여, 특정 질문에 대한 답변을 미리 선정해 두고, 상기 특정 질문에 매치 되는 사용자 발화가 있을 때 상기 미리 선정된 답변을 챗봇 클라이언트에 송신할 수 있다. 본 실시예에 따르면 반응 속도가 빠른 챗봇 서비스를 제공할 수 있는 효과가 있다.
다른 실시예에 따르면, 도 3b에 도시된 바와 같이, 후보 답변 필터링(S103), 스코어링(S105) 및 답변의 최종 선정(S107)이 발화 처리 프로세서(S20)로서 수행될 수 있다. 본 실시예에 따르면, 특정 질문에 대한 답변은 사용자 발화가 있을 때 결정된다. 즉, 후보 답변들을 접수 받아 접수된 후보 답변들을 기록해 두는 동작 만이 답변 리소스 관리 프로세서(S10)로서 수행되고, 그 중 일부를 필터링을 통하여 1차적으로 제외시키고, 남은 후보 답변을 대상으로 스코어링을 수행하여, 특정 질문에 대한 답변을 선정하는 동작은, 상기 특정 질문에 매치 되는 사용자 발화가 있을 때에 수행될 수 있다. 본 실시예에 따르면 사용자 발화에 대한 답변을 결정함에 있어서, 상기 사용자 발화가 있던 시점까지 접수된 모든 후보 답변들을 반영하여 답변을 결정할 수 있는 효과가 있다. 또한, 상기 스코어링 과정에서, 사용자 발화를 입력한 사용자의 프로필 정보 및 챗봇 서비스를 통하여 송수신된 대화의 로그(log) 등을 고려하여 대화 상황에 부합하는 답변을 동적으로 결정할 수 있는 효과가 있다.
이하, 도 4를 참조하여 필터링 단계(S103)에 대하여 상세히 설명한다.
필터링 단계(S103)는, 스팸 필터를 적용하는 1차 필터링 단계(S103a) 및 1차 필터링을 통과한 후보 답변들을 대상으로 리뷰 품질 분석을 진행하는 2차 필터링 단계(S103b)를 포함할 수 있다.
스팸 필터를 적용하는 단계(S103a)는, 기 지정된 스팸 관련 키워드를 포함하고 있는 정도 등을 기준으로 후보 답변의 스팸 여부를 판정하거나, 기 설정된 스팸 판정 룰을 기반으로 후보 답변의 스팸 여부를 판정하거나, 스팸 여부를 판정하는 기계학습 된 스팸 판정 모델을 기분으로 후보 답변의 스팸 여부를 판정하는 것을 포함할 수 있다. 예를 들어, 총 5개의 후보 답변들(30a) 중에서 총 2개의 후보 답변(A4, A5)이 스팸으로 판정된 것이 도 4에 도시되어 있다. 접수된 후보 답변들을 대상으로 스팸 필터를 적용함으로써, 질문과 무관한 무분별한 광고 문구가 사용자 발화에 대한 답변으로 선정되는 것을 원천적으로 차단할 수 있는 효과가 있다.
리뷰 품질 분석 단계(S103b)는, 스팸 필터를 통과한 후보 답변들을 대상으로 수행된다. 상기 리뷰 품질 분석은, 예를 들어 특정 상품 또는 특정 서비스에 대한 리뷰 컨텐츠에 대하여 그 품질을 분석하기 위한 방법으로서, 리뷰 컨텐츠의 내용에 대한 충실도를 평가하는 방법으로 이해 될 수 있을 것이다.
일 실시예에서, 상기 리뷰 품질 분석은, ((#E + #O) / LEN)의 값을 기준으로 필터링 하는 것을 특징으로 하되, #E는 후보 답변에 포함된 엔티티의 개수이고, #O는 후보 답변에 포함된 의견 표현의 개수이며, LEN은 후보 답변의 길이일 수 있다. 도 4에서 상기 엔티티(entity)는 "쇼핑 할인", "교통 할인", "S카드사 A카드", "K카드사", "H카드사" 등 사전 등록된 키워드들 또는 개체명 인식(Named-Entity Recognition) 알고리즘을 이용하여 추출된 개체명 이고, 의견 부여의 대상을 가리킬 수 있다. 또한, 도 4에서 상기 "의견 표현"은 상기 엔티티에 대한 평가를 가리키는 표현을 의미한다. 예를 들어, "K카드사 카드가 연회비는 싼데 혜택이 적다"라는 후보 답변이 있다면, 엔티티는 "K카드사", "연회비", "혜택"의 3개이고, "의견 표현"은 "싸다", "적다"의 2개가 될 것이다. 또한 상기 후보 답변의 LEN 값은 띄어쓰기의 개수인 6이 될 것이다. 따라서, 상기 후보 답변의 상기 리뷰 품질 분석 결과는 (3 + 2) / 6으로 결정 될 것이다.
몇몇 실시예들에서, 상기 "LEN" 값은 후보 답변의 텍스트 수, 형태소 분석에 의하여 나뉜 최소 단위의 수 등 다양한 기준으로 설정될 수 있음을 유의한다.
본 실시예에서, 스팸 필터를 통과한 후보 답변을 대상으로 상기 리뷰 품질 분석을 진행함으로써, 챗봇 서비스 사용자에게 아무런 정보도 주지 못하는 답변이 제공 되는 것을 방지할 수 있는 효과가 있다. 도 4에는 A3 답변이 상기 리뷰 품질 분석의 결과 낮은 리뷰 품질을 가지는 것으로 판정되어 필터링 제거 된 것이 도시 되어 있다.
다음으로, 필터링을 통과한 후보 답변들을 대상으로 사용자 발화에 적합한 답변인지 여부를 평가하기 위한 스코어링이 수행될 수 있다. 이와 관련하여 도 5 내지 도 6을 참조하여 설명한다.
상기 스코어링을 위하여, 도 5에 도시된 바와 같이 사용자와 챗봇 사이에 송수신 된 대화의 로그(40)가 분석되고, 그 결과로 사용자 모델(50)이 구성될 수 있다. 사용자 모델(50)은 사용자의 하나 이상의 관심사에 대한 스코어를 표현할 수 있다. 상기 관심사는 대화 로그 중 사용자 발화에 대한 키워드 분석을 통하여 수행될 수 있을 것이다. 도 5에는 사용자 모델(50)로서, 쇼핑할인 1 포인트, 연회비저렴 1포인트가 구성된 것이 도시되어 있다.
도 5의 사용자 모델(50)을 전제로, 스코어링 방법(S105)으로서 대화 내용 관련성 평가(S105a)가 수행되는 것을 도 6을 참조하여 설명한다. 대화 내용 관련성 평가(S105a)는 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 스코어링을 수행하는 단계를 포함할 수 있고, 이 때, 상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행할 수 있다.
도 6에 도시된 후보 답변 A1에 대하여 대화 내용 관련성 평가를 수행하면, 엔티티 "S카드사A카드"와 사용자 모델(50)은 관련성이 존재하지 않으므로 "S카드사A카드"에서는 포인트가 획득되지 않고, 엔티티 "쇼핑할인"과 사용자 모델(50)은 관련성이 존재하고 사용자 모델(50)의 "쇼핑할인"에 대한 포인트는 1이므로, "쇼핑할인" 엔티티에서 1 포인트가 획득된다. 후보 답변 A2의 경우, "H카드사", "교통할인" 2개의 엔티티 모두 사용자 모델(50)에 관심사로서 등록되지 않았으므로, 포인트가 획득되지 않는다. 결과적으로, 후보 답변 A2는 대화 내용 관련성 평가(S105a)에서 포인트가 획득되지 않아 답변 선정에서 탈락된다. 리뷰 품질 분석(S103b)까지 통과한 2개의 후보 답변(A1, A2) 중 하나의 후보 답변(A2)이 탈락되는 것(30c)이 도 6에 도시되어 있다. 스코어링(S105)의 결과 남은 A1답변은 사용자 발화에 대한 답변으로서 최종 선정된다(S107).
한편, 도 5에 도시된 것과 달리, 도 7에 도시된 바와 같이, 대화 로그(40)의 분석 결과, 제1 관심사 "쇼핑할인"에 1포인트, 제2 관심사"교통할인"에 1포인트, 제3 관심사"연회비저렴"에 1포인트가 각각 부여되는 사용자 모델(50)이 구성된 경우를 가정하여, 스코어링(S105) 절차로서 대화 내용 관련성 평가(S105a) 뿐만 아니라, 레이트(rate) 기반 스코어링(S105b)이 추가적으로 수행되는 것을 설명한다.
도 8a를 참조하면, 대화 내용 관련성 평가로서, 후보 답변 A1과 후보 답변 A2가 동일한 포인트를 획득한다. 따라서, 대화 내용 관련성 평가 만으로는 후보 답변 A1과 후보 답변 A2 사이의 우열을 가리기가 어려운 상황이다(30d). 이는, 후보 답변 A1과 후보 답변 A2 중 어느 것이 최종 답변으로서 채택되더라도, 챗봇 사용자는 큰 거부감을 느끼지 않는 것을 의미한다. 이러한 경우, 각각의 후보 답변의 제출자가 지급한 비용에 따라, 상기 제출자에 의하여 제출된 모든 후보 답변들에 부여되는 레이트를 이용하여 레이트 기반 스코어링(S105b)이 수행될 수 있다. 도 8a의 경우, 후보 답변 A1의 제출자인 S카드사가 100만원을 지급하여, S카드사가 제출한 모든 후보 답변에 대하여 레이트 1 증가를 획득하였다면, 후보 답변 A1의 최종 스코어는 2(1+1)가 될 것이다. 또한, 후보 답변 A2의 제출자인 H카드사가 200만원을 지급하여, H카드사가 제출한 모든 후보 답변에 대하여 레이트 2 증가를 획득하였다면, 후보 답변 A2의 최종 스코어는 3이(1+2) 될 것이다. 따라서, 레이트 기반 스코어링(S105b)에서 A1이 탈락된다(30e). 이 경우, 최종 답변으로 선정되는 답변은 후보 답변 A2가 된다.
한편, 다른 실시예에서, 각각의 후보 답변 별로 비용 지급이 이뤄지고, 지급된 비용에 따라 접수된 후보 답변의 레이트 증가분이 결정될 수 있다. 도 8b를 참조하면, 대화 내용 관련성 평가로서, 후보 답변 A1과 후보 답변 A2가 동일한 포인트를 획득하고, 대화 내용 관련성 평가 만으로는 후보 답변 A1과 후보 답변 A2 사이의 우열을 가리기가 어려운 상황이다(30d). 이 때, 후보 답변 A1의 제출자인 S카드사가 후보 답변 A1에 대하여 10만원을 지급하였고, 후보 답변 A2의 제출자인 H카드사가 후보 답변 A2에 대하여 20만원을 지급하였다면, 후보 답변 A1과 후보 답변 A2의 레이트 증가 분은 각각 +1, +2가 될 것이다. 따라서, 후보 답변 A1의 최종 스코어는 2(1+1)가 되고, 후보 답변 A2의 최종 스코어는 3(1+2)이 된다. 즉, 레이트 기반 스코어링(S105b)에서 A1이 탈락된다(30e). 이 경우, 최종 답변으로 선정되는 답변은 후보 답변 A2가 된다.
한편, 또 다른 실시예에서, 후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 접수된 후보 답변들에 대하여는 별도의 레이트 증가를 인정하지 않을 수 있다. 이 경우, 스코어링(S105)은 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 수행될 수 있다. 이 경우, 도 8a 또는 도 8b에 도시된 상황에서, 후보 답변 A1 또는 A2 중 어느 하나가 최종 답변으로 선정될 수 있을 것이다. 물론, 또 다른 실시예에서, 레이트를 기반으로 하지 않는 또 다른 스코어링 방식이 추가로 적용되어, 최종적으로 하나의 후보 답변을 선정할 수도 있을 것이다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
다음으로, 도 9를 참조하여 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 시스템(150)에 대하여 설명한다. 본 실시예의 챗봇 서비스 제공 시스템(150)은 논리적 단위의 소프트웨어 또는 하드웨어 모듈에 해당하는 후보 답변 접수부(151), 필터링부(152) 및 스코어링부(153)를 포함할 수 있다. 후보 답변 접수부(151), 필터링부(152), 스코어링부(153) 및 챗봇 엔진(154)은 각각 물리적으로 분리된 전용 컴퓨팅 장치로 구성될 수도 있고, 적어도 일부가 소프트웨어 모듈 또는 하드웨어 모듈 부품의 형태로 하나의 컴퓨팅 장치에 함께 구성될 수도 있는 점을 유의한다. 후보 답변 접수부(151)를 통해 접수되는 특정 질문에 대한 복수의 후보 답변은 필터링부(152)를 통해 필터링 되고, 필터링 과정을 통과한 후보 답변은 스코어링부(153)를 통해 평가 되며, 스코어링부(153)의 평가 결과 선정된 최종 답변이 챗봇 엔진(154)에 제공된다. 챗봇 엔진(154)은 상기 최종 답변을 챗봇 클라이언트(10)에 제공한다.
다음으로, 도 10을 참조하여 본 발명의 또 다른 실시예에 따른 챗봇 서비스 서버 구성 및 동작을 설명한다. 도 10에 도시된 바와 같이, 본 실시예에 따른 챗봇 서비스 서버(100)는 프로세서(101) 및 메모리(102)를 포함하고, 몇몇 실시예들에서 스토리지(103), 네트워크 인터페이스(105) 및 시스템 버스(104) 중 적어도 하나를 더 포함할 수 있다. 메모리(102)에 로드 되어 저장되는 하나 이상의 인스트럭션(instruction)은 프로세서(101)를 통하여 실행된다. 본 실시예에 따른 챗봇 서비스 서버(100)는 별도의 설명이 없더라도, 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 서버(100) 관련 동작 및 도 3a 내지 도 8b를 참조하여 설명한 챗봇 서비스 제공 방법 관련 동작을 수행할 수 있는 점을 유의한다.
네트워크 인터페이스(105)는 챗봇 클라이언트 단말로부터 네트워크를 통해 제공 된 사용자 발화 데이터를 수신하고, 수신된 사용자 발화 데이터는 챗봇 엔진(126)에 제공된다.
챗봇 엔진(126)으로부터 상기 사용자 발화 데이터를 제공 받은 후보 답변 조회 인스트럭션(120)은 스토리지(103)에 저장된 후보 답변 DB(130)로부터 상기 사용자 발화 데이터에 매치되는 질문에 대한 후보 답변들을 조회한다.
필터링 인스트럭션(122)은 상기 조회된 후보 답변들을 스팸 필터, 리뷰 품질 분석 등의 방식으로 필터링한다. 또한, 스코어링 인스트럭션(124)은 필터링을 통과한 후보 답변들을 대상으로 대화 내용 관련성 평가 및 레이트 기반 스코어링 등을 수행하여 최종 답변을 선정하고, 챗봇 엔진(126)에 제공함으로써, 상기 최종 답변이 챗봇 클라이언트 단말에 송신되도록 할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (8)

  1. 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
    사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계;
    상기 후보 답변들을 필터링 하는 단계;
    상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계; 및
    상기 스코어링의 결과로 선정된 최종 답변을, 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  2. 제1 항에 있어서,
    상기 필터링 하는 단계는,
    상기 후보 답변들을 대상으로 스팸 필터를 적용하여 1차 필터링 하는 단계; 및
    상기 1차 필터링을 통과한 후보 답변들을 대상으로, 리뷰 품질 분석을 통해 2차 필터링 하는 단계를 포함하고,
    상기 리뷰 품질 분석은, ((#E + #O) / LEN)의 값을 기준으로 필터링 하는 것을 특징으로 하되,
    #E = 후보 답변에 포함된 엔티티의 개수,
    #O = 후보 답변에 포함된 의견 표현의 개수,
    LEN = 후보 답변의 길이인,
    챗봇 서비스 제공 방법.
  3. 제1 항에 있어서,
    상기 스코어링을 수행하는 단계는,
    상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  4. 제3 항에 있어서,
    챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계는,
    상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  5. 제1 항에 있어서,
    상기 후보 답변들을 접수 받는 단계는,
    공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 상기 후보 답변에 부여되는 레이트를 상향 시키기 위한 비용 지급에 대한 정보를 상기 후보 답변과 함께 접수 받는 단계를 포함하는,
    상기 스코어링을 수행하는 단계는,
    상기 후보 답변에 부여된 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  6. 제1 항에 있어서,
    상기 스코어링을 수행하는 단계는,
    상기 후보 답변의 제출자의 비용 지급에 따라 상기 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  7. 제1 항에 있어서,
    상기 스코어링을 수행하는 단계는,
    상기 후보 답변의 제출자의 비용 지급에 따라 상기 제출자의 모든 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
  8. 제1 항에 있어서,
    상기 후보 답변들을 접수 받는 단계는,
    후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받는 단계를 포함하고,
    상기 스코어링을 수행하는 단계는,
    상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
    챗봇 서비스 제공 방법.
KR1020170163443A 2017-11-30 2017-11-30 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치 KR102377156B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170163443A KR102377156B1 (ko) 2017-11-30 2017-11-30 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170163443A KR102377156B1 (ko) 2017-11-30 2017-11-30 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190064126A true KR20190064126A (ko) 2019-06-10
KR102377156B1 KR102377156B1 (ko) 2022-03-21

Family

ID=66848786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163443A KR102377156B1 (ko) 2017-11-30 2017-11-30 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102377156B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110040147A (ko) * 2009-10-13 2011-04-20 한국전자통신연구원 신뢰도에 기반한 질의응답 장치 및 그 방법
KR20110132702A (ko) * 2010-06-03 2011-12-09 신철호 질문/답변 표시 방법 및 시스템
KR20130061387A (ko) * 2011-12-01 2013-06-11 엔에이치엔(주) 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
US8738739B2 (en) 2008-05-21 2014-05-27 The Delfin Project, Inc. Automatic message selection with a chatbot
KR101780237B1 (ko) * 2016-04-11 2017-09-21 고려대학교 산학협력단 온라인 상에 공개된 질의응답 데이터를 기초로 한 사용자 질의에 대한 응답 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738739B2 (en) 2008-05-21 2014-05-27 The Delfin Project, Inc. Automatic message selection with a chatbot
KR20110040147A (ko) * 2009-10-13 2011-04-20 한국전자통신연구원 신뢰도에 기반한 질의응답 장치 및 그 방법
KR20110132702A (ko) * 2010-06-03 2011-12-09 신철호 질문/답변 표시 방법 및 시스템
KR20130061387A (ko) * 2011-12-01 2013-06-11 엔에이치엔(주) 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
KR101780237B1 (ko) * 2016-04-11 2017-09-21 고려대학교 산학협력단 온라인 상에 공개된 질의응답 데이터를 기초로 한 사용자 질의에 대한 응답 방법 및 장치

Also Published As

Publication number Publication date
KR102377156B1 (ko) 2022-03-21

Similar Documents

Publication Publication Date Title
US11694687B2 (en) Recommending a dialog act using model-based textual analysis
US11775494B2 (en) Multi-service business platform system having entity resolution systems and methods
US11200581B2 (en) Multi-client service system platform
US11868733B2 (en) Creating a knowledge graph based on text-based knowledge corpora
US20190362265A1 (en) Question answering system-based generation of distractors using machine learning
US11928611B2 (en) Conversational interchange optimization
US20190333118A1 (en) Cognitive product and service rating generation via passive collection of user feedback
US11425064B2 (en) Customized message suggestion with user embedding vectors
US10210867B1 (en) Adjusting user experience based on paralinguistic information
US10770062B2 (en) Adjusting a ranking of information content of a software application based on feedback from a user
US20200410506A1 (en) Matching a customer and customer representative dynamically based on a customer representative's past performance
US20180307675A1 (en) Determining an impact of a proposed dialog act using model-based textual analysis
CN111625632A (zh) 一种问答对推荐方法、装置、设备及存储介质
US11757807B2 (en) Interactive chatbot for multi-way communication
US20210141820A1 (en) Omnichannel virtual assistant using artificial intelligence
US10255346B2 (en) Tagging relations with N-best
US11210677B2 (en) Measuring the effectiveness of individual customer representative responses in historical chat transcripts
US20230418793A1 (en) Multi-service business platform system having entity resolution systems and methods
CN111611358A (zh) 信息交互方法、装置、电子设备及存储介质
CN110399473B (zh) 为用户问题确定答案的方法和装置
US11477142B1 (en) Question suggestion and agent transfer to advance a customer support conversation
US20210304760A1 (en) System and Method for Structuring Chat History Using Machine-Learning-Based Natural Language Processing
KR102377156B1 (ko) 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치
CN111309990A (zh) 一种语句应答方法及装置
US11902468B1 (en) Intelligent matching of a user to an agent for a communication session

Legal Events

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