KR102377156B1 - Method and apparatus for chatbot service providing using responses received from open interface - Google Patents

Method and apparatus for chatbot service providing using responses received from open interface Download PDF

Info

Publication number
KR102377156B1
KR102377156B1 KR1020170163443A KR20170163443A KR102377156B1 KR 102377156 B1 KR102377156 B1 KR 102377156B1 KR 1020170163443 A KR1020170163443 A KR 1020170163443A KR 20170163443 A KR20170163443 A KR 20170163443A KR 102377156 B1 KR102377156 B1 KR 102377156B1
Authority
KR
South Korea
Prior art keywords
candidate
answer
scoring
chatbot
chatbot service
Prior art date
Application number
KR1020170163443A
Other languages
Korean (ko)
Other versions
KR20190064126A (en
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/en
Publication of KR20190064126A publication Critical patent/KR20190064126A/en
Application granted granted Critical
Publication of KR102377156B1 publication Critical patent/KR102377156B1/en

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)를 구성하는 방법 및 그 장치가 제공된다. 본 발명의 일 실시예에 따른 챗봇 서비스 제공 방법은, 사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계와, 상기 후보 답변들을 필터링 하는 단계와, 상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계와, 상기 스코어링의 결과로 선정된 최종 답변을, 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함한다.In providing a chatbot service, a method and apparatus for constructing an utterance of a chatbot using an answer received through an open interface are provided. A chatbot service providing method according to an embodiment of the present invention includes the steps of receiving a plurality of candidate answers to a user's utterance, filtering the candidate answers, and providing a chatbot answer to the candidate answers that have passed the filtering performing scoring for selection, and transmitting a final answer selected as a result of the scoring to a chatbot client terminal that has transmitted the user's utterance.

Description

공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스 제공 방법 및 그 장치{METHOD AND APPARATUS FOR CHATBOT SERVICE PROVIDING USING RESPONSES RECEIVED FROM OPEN INTERFACE}Method and device for providing chatbot service using answers received through public interface

본 발명은 챗봇 서비스를 제공하는 방법 및 그 장치에 관한 것이다. 보다 자세하게는 챗봇 서비스를 제공함에 있어서, 공개 인터페이스를 통해 접수된 답변을 이용하여 챗봇의 발화(utterance)를 구성하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a chatbot service. More particularly, in providing a chatbot service, it relates to a method and an apparatus for constructing a chatbot utterance using an answer received through an open interface.

챗봇 서비스는 챗봇 클라이언트를 통하여 입력된 사용자 발화(utterance)에 대한 응답으로, 소프트웨어 로직에 의하여 자동으로 생성된 답변(response)을 상기 챗봇 클라이언트에 제공하는 서비스이다. 따라서, 사용자 발화에 대한 적절한 답변을 생성하는 소프트웨어 로직은 상기 챗봇 서비스에 있어서 가장 중요한 요소 중 하나이다.The chatbot service is a service that provides a response automatically generated by software logic to the chatbot client in response to a user's utterance input through the chatbot client. Therefore, the software logic for generating an appropriate answer to the user's utterance is one of the most important elements in the chatbot service.

상기 답변은 자연어 형태의 텍스트인 것이 바람직하다. 따라서, 상기 답변의 생성을 위한 소프트웨어 로직은 자연어 생성(Natural Language Generation) 모듈을 포함한다. 또한, 상기 답변을 생성하기 위하여, 룰-기반(rule-based) 로직, 기계학습 기반 로직, 외부 정보 소스에 대한 검색 로직 등 다양한 기술이 사용된다.Preferably, the answer is text in natural language format. Accordingly, the software logic for generating the answer includes a Natural Language Generation module. In addition, in order to generate the answer, various techniques such as rule-based logic, machine learning-based logic, and search logic for an external information source are used.

답변의 생성이 다양한 기술을 이용하여 이루어 지기는 하지만, 아직까지 챗봇 서비스 제공자 외의 써드 파티(3rd parties)가 답변의 생성에 관여할 수 있는 기술은 제공되지 않고 있다. 이는 써드 파티의 답변 생성 관련 관여가 이뤄지면 챗봇 서비스에서 제공되는 답변의 품질을 담보하기 어렵기 때문인 것으로 보인다.Although answer generation is performed using various technologies, a technology that allows third parties other than the chatbot service provider to participate in answer generation is not yet provided. This seems to be because it is difficult to guarantee the quality of the answers provided by the chatbot service if a third party is involved in answer generation.

미국등록특허 US 8,738,739US registered patent US 8,738,739

본 발명이 해결하고자 하는 기술적 과제는, 써드 파티의 공개 인터페이스를 통해 접수된 답변을 이용한 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method for providing a chatbot service using an answer received through an open interface of a third party, and an apparatus for providing the method.

본 발명이 해결하고자 하는 다른 기술적 과제는, 써드 파티의 공개 인터페이스를 통해 접수된 답변들 중 실제로 챗봇 클라이언트 단말에 제공되는 답변의 품질을 일정 수준 이상으로 담보하는 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is a method and method for providing a chatbot service that guarantees the quality of an answer actually provided to a chatbot client terminal among answers received through an open interface of a third party to a certain level or higher To provide a device to provide.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 신규의 광고 매체 로서의 챗봇 서비스를 제공하는 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method for providing a chatbot service as a novel advertising medium and an apparatus for providing the method.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 답변의 품질 향상에 도움이 되는 형태로 광고가 노출됨으로써, 챗봇 서비스 사용자의 광고에 대한 거부감을 최소화하는 챗봇 서비스 제공 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method for providing a chatbot service and an apparatus for providing the method, which minimizes the chatbot service user's rejection of the advertisement by exposing the advertisement in a form that helps to improve the quality of the answer. will provide

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 챗봇 서비스 제공 방법은, 사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계와, 상기 후보 답변들을 필터링 하는 단계와, 상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계와, 상기 스코어링의 결과로 선정된 최종 답변을 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함한다.In order to solve the above technical problem, a chatbot service providing method according to an embodiment of the present invention includes receiving a plurality of candidate answers to a user's utterance, filtering the candidate answers, and passing the filtering. performing scoring to select a chatbot answer based on candidate answers; and transmitting a final answer selected as a result of the scoring to a chatbot client terminal that has transmitted the user's utterance.

일 실시예에서, 상기 필터링 하는 단계는, 상기 후보 답변들을 대상으로 스팸 필터를 적용하여 1차 필터링 하는 단계와, 상기 1차 필터링을 통과한 후보 답변들을 대상으로, 리뷰 품질 분석을 통해 2차 필터링 하는 단계를 포함한다. 이 때, 상기 리뷰 품질 분석은, ((#E + #O) / LEN)의 값을 기준으로 필터링 하는 것을 특징으로 한다. 단, (#E = 후보 답변에 포함된 엔티티의 개수, #O = 후보 답변에 포함된 의견 표현의 개수, LEN = 후보 답변의 길이)이다.In one embodiment, the filtering includes the steps of first filtering by applying a spam filter to the candidate answers, and secondary filtering through review quality analysis on candidate answers that have passed the first filtering including the steps of In this case, the review quality analysis is characterized by filtering based on the value of ((#E + #O) / LEN). However, (#E = the number of entities included in the candidate answer, #O = the number of opinion expressions included in the candidate answer, LEN = the length of the candidate answer).

일 실시예에서, 상기 스코어링을 수행하는 단계는, 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계를 포함한다. 이 때, 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계는, 상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.In an embodiment, the performing of the scoring includes performing the scoring using a correlation with contents of a chatbot service conversation transmitted and received between the chatbot client terminal and the terminal. In this case, the step of performing the scoring using the relevance to the chatbot service conversation content may include performing the scoring by synthesizing all relevance of the conversation contents for each entity of the candidate answers that have passed the filtering. .

일 실시예에서, 상기 후보 답변들을 접수 받는 단계는, 공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 상기 후보 답변에 부여되는 레이트를 상향 시키기 위한 비용 지급에 대한 정보를 상기 후보 답변과 함께 접수 받는 단계를 포함할 수 있다. 이 때, 상기 스코어링을 수행하는 단계는, 상기 후보 답변에 부여된 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.In an embodiment, the receiving of the candidate answers includes receiving the candidate answers through an open interface, and receiving information about payment of a cost for increasing the rate given to the candidate answers together with the candidate answers may include In this case, the performing of the scoring may include performing the scoring using a rate assigned to the candidate answer.

일 실시예에서, 상기 스코어링을 수행하는 단계는, 상기 후보 답변의 제출자의 비용 지급에 따라 상기 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다. 또한, 상기 스코어링을 수행하는 단계는, 상기 후보 답변의 제출자의 비용 지급에 따라 상기 제출자의 모든 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함할 수도 있다.In an embodiment, the performing of the scoring may include performing the scoring using a rate granted to the candidate answer according to payment of a cost of the submitter of the candidate answer. In addition, the performing of the scoring may include performing the scoring using a rate given to all candidate answers of the submitter according to the payment of the cost of the submitter of the candidate answer.

일 실시예에서, 상기 후보 답변들을 접수 받는 단계는, 후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받는 단계를 포함할 수 있다. 이 때, 상기 스코어링을 수행하는 단계는, 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 상기 스코어링을 수행하는 단계를 포함할 수 있다.In an embodiment, the receiving of the candidate answers may include receiving the candidate answers through a public interface on condition that payment of a fee for receiving the candidate answers is provided. In this case, the performing of the scoring may include performing the scoring using only the relevance to the chatbot service conversation content transmitted and received between the chatbot client terminal and the chatbot client terminal.

도 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 is a block diagram showing the structure of a chatbot service providing system according to an embodiment of the present invention.
2 is a diagram for explaining that a candidate answer received from a third party is used when a chatbot service is provided according to some embodiments of the present invention.
3A is a flowchart of a method for providing a chatbot service according to another embodiment of the present invention.
3B is a flowchart of a method for providing a chatbot service according to another embodiment of the present invention.
4 is a conceptual diagram for explaining in detail some operations of FIG. 3A or 3B.
5 is a diagram for explaining a first scenario of a user model and a conversation log referenced in some embodiments of the present invention.
FIG. 6 is a conceptual diagram for explaining in detail some operations of FIG. 3A or 3B based on the first scenario of FIG. 5 .
7 is a diagram for explaining a second scenario of a user model and a conversation log referenced in some embodiments of the present invention.
8A and 8B are conceptual diagrams for explaining in detail some operations of FIGS. 3A or 3B based on the second scenario of FIG. 7 .
9 is a block diagram of a chatbot service providing system according to another embodiment of the present invention.
10 is a hardware configuration diagram of an apparatus for providing a chatbot service according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments allow the publication of the present invention to be complete, and common knowledge in the technical field to which the present invention pertains It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.

이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일 실시 예에 따른 챗봇 서비스 제공 시스템의 구성도이다. 도 1에 도시된 바와 같이, 본 실시예에 따른 시스템은 챗봇 서비스 서버(100) 및 후보 답변 접수 서버(200)를 포함할 수 있다. 도 1에는 챗봇 서비스 서버(100)와 후보 답변 접수 서버(200)가 물리적으로 분리된 별개의 장치인 것으로 도시되어 있으나, 챗봇 서비스 서버(100)와 후보 답변 접수 서버(200)는 하나의 서버 장치 내부의 소프트웨어 모듈로서 각각 구현될 수도 있는 점을 유의한다. 챗봇 클라이언트는, 스마트 폰, 태블릿, 노트북, PC 등의 사용자 단말(10a, 10b, 10c)일 수 있으나, 다른 서비스를 제공하는 서버 장치(20)일 수도 있는 점을 유의한다.1 is a block diagram of a chatbot service providing system according to an embodiment of the present invention. As shown in FIG. 1 , the system according to the present embodiment may include a chatbot service server 100 and a candidate answer reception server 200 . 1, the chatbot service server 100 and the candidate response receiving server 200 are shown as physically separate separate devices, but the chatbot service server 100 and the candidate response receiving server 200 are one server device. Note that each may be implemented as an internal software module. The chatbot client may be user terminals 10a, 10b, and 10c such as a smart phone, tablet, notebook, or PC, but it should be noted that the chatbot client may also be a server device 20 that provides other services.

도 2는 본 발명의 몇몇 실시예들에 따라 챗봇 서비스가 제공될 때, 써드 파티로부터 접수된 후보 답변이 이용되는 것을 설명하기 위한 도면이다. 본 발명의 몇몇 실시예들에서, 써드 파티로부터 접수된 특정 질문에 대한 후보 답변들을 이용하여 챗봇 서비스가 제공된다.2 is a diagram for explaining that a candidate answer received from a third party is used when a chatbot service is provided according to some embodiments of the present invention. In some embodiments of the present invention, a chatbot service is provided using candidate answers to specific questions received from a third party.

상기 써드 파티는, 챗봇 서비스 제공자 이외의 주체를 가리키는 것으로, 예를 들어 챗봇 서비스 사용자, 챗봇 서비스에 대한 광고를 집행하고자 하는 광고주 등일 수 있다. 후보 답변 접수 서버(200)는 웹 문서 등의 후보 답변 접수 공개 인터페이스(210)를 통하여 특정 질문에 대한 후보 답변들을 접수 받을 수 있다. 이를 위해, 후보 답변 접수 서버(200)는 상기 웹 문서를 서비스 하기 위한 웹 서버 모듈(미도시)을 구비할 수 있다.The third party refers to an entity other than the chatbot service provider, and may be, for example, a chatbot service user or an advertiser who wants to issue advertisements for the chatbot service. The candidate response reception server 200 may receive candidate responses to a specific question through the candidate response reception public interface 210 such as a web document. To this end, the candidate answer reception server 200 may include a web server module (not shown) for servicing the web document.

한편, 후보 답변 접수 공개 인터페이스(210)는 접속 자격에 있어서 특정한 제한 사항을 가지지 않는 것일 수 있다. 예를 들어, 후보 답변 접수 공개 인터페이스(210)는 회원 가입 절차 없이 상기 후보 답변을 제출할 수 있거나, 챗봇 서비스 제공자 또는 그 관련자로 가입 요건이 한정되지 않는 회원 가입 절차를 거치는 것만으로도 상기 후보 답변을 제출할 수 있는 것일 수 있다. 이러한 점에서, 후보 답변 접수 공개 인터페이스(210)는 "공개된" 후보 답변 공개 채널이며, 이렇게 공개된 채널을 통하여 다양한 주체로부터 후보 답변을 접수 받는 것에 의하여, 챗봇 서비스가 제공하는 답변이 보다 풍성해 지는 효과를 얻을 수 있다.On the other hand, the candidate response reception public interface 210 may not have a specific limitation in access qualification. For example, the candidate answer reception public interface 210 may submit the candidate answer without a membership registration process, or the candidate answer can be submitted only by going through a membership registration process that does not limit subscription requirements to a chatbot service provider or a related party. It may be something that can be submitted. In this regard, the candidate response reception public interface 210 is an “open” candidate response disclosure channel, and by receiving candidate responses from various entities through this open channel, the answers provided by the chatbot service are enriched. effect can be obtained.

본 발명의 몇몇 실시예들에서, 써드 파티의 단말들로부터 접수된 질문 별 후보 답변은 필터링을 통해 걸러진 후, 필터링을 통과한 후보 답변들 중에 사용자 발화에 대한 응답으로서 챗봇 클라이언트(10a)에 출력될 답변이 선정될 수 있다. 답변의 선정은 챗봇 서비스 서버(100)에 의하여 수행될 것이나, 필터링은 후보 답변 접수 서버(200)에 의하여 수행되거나, 챗봇 서비스 서버(100)에 의하여 수행 될 수 있음을 유의한다.In some embodiments of the present invention, the candidate answers for each question received from the terminals of the third party are filtered out, and then output to the chatbot client 10a as a response to the user's utterance among the candidate answers that have passed the filtering. An answer may be selected. Note that the selection of the answer will be performed by the chatbot service server 100 , but the filtering may be performed by the candidate answer reception server 200 or the chatbot service server 100 .

본 발명의 몇몇 실시예들에서, 후보 답변의 제출은 후보 답변 접수 비용 지급을 요할 수 있다. 즉, 후보 답변 제출을 통하여, 챗봇 서비스를 통하여 자신이 제안한 답변이 출력될 수 있는 기회를 갖기 위하여, 챗봇 서비스 사업자 등에 대한 소정의 비용 지급이 요구될 수 있다.In some embodiments of the present invention, submission of a candidate answer may require payment of a fee for receiving a candidate answer. That is, in order to have an opportunity to output the answer proposed by the user through the chatbot service by submitting the candidate answer, payment of a predetermined cost to the chatbot service provider or the like may be required.

이 때, 제출된 모든 후보 답변은 동일한 레이트(rate)를 부여 받을 수 있다. 즉, 이 경우, 제출된 모든 후보 답변은 동일한 지위에서 답변 적합성의 관점에서만 평가된다. 상기 답변 적합성의 관점에서, 사용자 발화, 그 동안의 대화 로그(log) 및 사용자 프로필 중 적어도 하나와 상기 후보 답변이 서로 비교될 수 있다.In this case, all submitted candidate answers may be given the same rate. That is, in this case, all candidate responses submitted will be evaluated only in terms of response suitability in the same position. In view of the suitability of the answer, the candidate answer may be compared with at least one of a user utterance, a conversation log, and a user profile.

본 발명의 몇몇 실시예들에서, 접수 대상 질문은 후보 답변의 접수 실적에 따라 자동으로 분화되거나 병합될 수 있다. 예를 들어, 도 2에 도시된 "카드 추천해주세요"라는 질문에 대하여 기준치를 초과하는 후보 답변이 접수되면, 후보 답변 접수 서버(200)는 자동으로 "카드 추천해주세요"라는 질문을 "할인 혜택 많은 카드 추천해주세요"라는 질문, "연회비 무료 카드 추천해주세요"라는 질문, "포인트 적립 많은 카드 추천해주세요"라는 질문 등 하위 개념의 상세 질문으로 접수 대상 질문을 분화하여 그에 대한 후보 답변을 접수 받는 것으로 결정할 수 있다. 이러한 후보 답변 접수 서버(200)의 결정에 따라, 후보 답변 접수 공개 인터페이스(210)는 분화된 질문을 후보 답변 접수 대상 질문으로서 표시할 것이다.In some embodiments of the present invention, the questions to be accepted may be automatically differentiated or merged according to the reception performance of the candidate answers. For example, when a candidate answer exceeding the standard value is received with respect to the question "Please recommend a card" shown in FIG. 2 , the candidate answer reception server 200 automatically responds to the question "Please recommend a card" as "a lot of discount benefits" You can decide to receive candidate answers by dividing the questions to be accepted into detailed sub-concept questions such as “Please recommend a card”, “Please recommend a free card with annual membership fee”, and “Please recommend a card that earns a lot of points” there is. According to the decision of the candidate answer reception server 200 , the candidate response reception public interface 210 will display the differentiated question as a candidate response reception target question.

다음으로, 도 3a 내지 도 8b를 참조하여, 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 방법을 설명한다. 본 실시예에 따른 챗봇 서비스 제공 방법은 하나 이상의 전자 장치에 의하여 수행될 수 있다. 상기 전자 장치는, 예를 들어 컴퓨팅 장치일 수 있다. 상기 컴퓨팅 장치는, 예를 들어 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 제공 장치(100) 및 후보 답변 접수 서버(200) 중 적어도 하나일 수 있다. 상기 챗봇 서비스 제공 방법에 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 서버(100) 및 후보 답변 접수 서버(200)의 동작이 적어도 일부 포함될 수 있음을 유의한다.Next, a chatbot service providing method according to another embodiment of the present invention will be described with reference to FIGS. 3A to 8B . The chatbot service providing method according to the present embodiment may be performed by one or more electronic devices. The electronic device may be, for example, a computing device. The computing device may be, for example, at least one of the chatbot service providing apparatus 100 and the candidate answer receiving server 200 described with reference to FIGS. 1 to 2 . Note that at least some of the operations of the chatbot service server 100 and the candidate answer receiving server 200 described with reference to FIGS. 1 and 2 may be included in the chatbot service providing method.

이하, 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 방법을 도 3a를 참조하여 설명한다. 도 3a에 도시된 바와 같이, 본 실시예에 따른 챗봇 서비스 제공 방법은, 질문 별 후보 답변을 후보 답변 접수 공개 인터페이스를 통하여 접수 받는 단계(S101), 접수된 후보 답변들 중 적어도 일부를 필터링 하여 답변 선정 대상에서 제외시키는 단계(S103), 필터링을 통과한 후보 답변들을 대상으로, 사용자 발화에 대한 답변으로서 출력시킬지 여부를 선정하기 위한 스코어링을 진행하는 단계(S105), 상기 스코어링 결과를 이용하여 답변을 최종 선정하고(S107), 선정된 답변을 챗봇 클라이언트에 송신하는 단계(S109)를 포함할 수 있다. 필터링 하는 단계(S103) 및 스코어링 단계(S105)에 대하여는 도 4 내지 도 8b를 참조하여 자세히 후술한다.Hereinafter, a method of providing a chatbot service according to another embodiment of the present invention will be described with reference to FIG. 3A. As shown in FIG. 3A , in the chatbot service providing method according to this embodiment, receiving candidate answers for each question through the candidate answer reception open interface (S101), filtering at least some of the received candidate answers to answer Excluding the selection target (S103), performing scoring to select whether to output the candidate answers that have passed the filtering as answers to the user's utterance (S105), using the scoring result to provide an answer It may include a step of making a final selection (S107) and transmitting the selected answer to the chatbot client (S109). The filtering step (S103) and the scoring step (S105) will be described later in detail with reference to FIGS. 4 to 8B .

선정된 답변을 챗봇 클라이언트에 송신하는 단계(S109)는 챗봇 서비스 서버(100)에 의하여 수행되는 것이 바람직하다. 또한, 질문 별 후보 답변 접수 단계(S101)는 후보 답변 접수 서버(200)에 의하여 수행되는 것이 바람직하다.The step S109 of transmitting the selected answer to the chatbot client is preferably performed by the chatbot service server 100 . In addition, it is preferable that the candidate answer receiving step S101 for each question is performed by the candidate answer receiving server 200 .

일 실시예에 따르면, 도 3a에 도시된 바와 같이, 후보 답변 필터링(S103), 스코어링(S105) 및 답변의 최종 선정(S107)이 답변 리소스 관리 프로세스(S10)로서 수행될 수 있다. 본 실시예에 따르면, 특정 질문에 대한 답변이 사용자 발화가 있기 이전에 미리 결정된다. 즉, 후보 답변들을 접수 받고, 그 중 일부를 필터링을 통하여 1차적으로 제외시키고, 남은 후보 답변을 대상으로 스코어링을 수행하여, 특정 질문에 대한 답변을 미리 선정해 두고, 상기 특정 질문에 매치 되는 사용자 발화가 있을 때 상기 미리 선정된 답변을 챗봇 클라이언트에 송신할 수 있다. 본 실시예에 따르면 반응 속도가 빠른 챗봇 서비스를 제공할 수 있는 효과가 있다.According to an embodiment, as shown in FIG. 3A , candidate answer filtering (S103), scoring (S105), and final selection of answers (S107) may be performed as an answer resource management process (S10). According to the present embodiment, the answer to the specific question is predetermined before the user utterance. That is, a user who receives candidate answers, excludes some of them through filtering, performs scoring on the remaining candidate answers, selects answers to specific questions in advance, and matches the specific questions When there is an utterance, the predetermined answer may be transmitted to the chatbot client. According to this embodiment, it is possible to provide a chatbot service with a fast reaction speed.

다른 실시예에 따르면, 도 3b에 도시된 바와 같이, 후보 답변 필터링(S103), 스코어링(S105) 및 답변의 최종 선정(S107)이 발화 처리 프로세서(S20)로서 수행될 수 있다. 본 실시예에 따르면, 특정 질문에 대한 답변은 사용자 발화가 있을 때 결정된다. 즉, 후보 답변들을 접수 받아 접수된 후보 답변들을 기록해 두는 동작 만이 답변 리소스 관리 프로세서(S10)로서 수행되고, 그 중 일부를 필터링을 통하여 1차적으로 제외시키고, 남은 후보 답변을 대상으로 스코어링을 수행하여, 특정 질문에 대한 답변을 선정하는 동작은, 상기 특정 질문에 매치 되는 사용자 발화가 있을 때에 수행될 수 있다. 본 실시예에 따르면 사용자 발화에 대한 답변을 결정함에 있어서, 상기 사용자 발화가 있던 시점까지 접수된 모든 후보 답변들을 반영하여 답변을 결정할 수 있는 효과가 있다. 또한, 상기 스코어링 과정에서, 사용자 발화를 입력한 사용자의 프로필 정보 및 챗봇 서비스를 통하여 송수신된 대화의 로그(log) 등을 고려하여 대화 상황에 부합하는 답변을 동적으로 결정할 수 있는 효과가 있다.According to another embodiment, as shown in FIG. 3B , candidate answer filtering ( S103 ), scoring ( S105 ), and final selection of answers ( S107 ) may be performed as the speech processing processor ( S20 ). According to the present embodiment, an answer to a specific question is determined when there is a user utterance. That is, only the operation of receiving candidate answers and recording the received candidate answers is performed as the answer resource management processor (S10), some of them are primarily excluded through filtering, and the remaining candidate answers are scored by , the operation of selecting an answer to the specific question may be performed when there is a user utterance matching the specific question. According to the present embodiment, in determining the answer to the user's utterance, there is an effect that the answer can be determined by reflecting all candidate answers received up to the time of the user's utterance. In addition, in the scoring process, there is an effect that an answer suitable for the conversation situation can be dynamically determined in consideration of the profile information of the user who has input the user's utterance and the log of the conversation transmitted and received through the chatbot service.

이하, 도 4를 참조하여 필터링 단계(S103)에 대하여 상세히 설명한다.Hereinafter, the filtering step S103 will be described in detail with reference to FIG. 4 .

필터링 단계(S103)는, 스팸 필터를 적용하는 1차 필터링 단계(S103a) 및 1차 필터링을 통과한 후보 답변들을 대상으로 리뷰 품질 분석을 진행하는 2차 필터링 단계(S103b)를 포함할 수 있다.The filtering step (S103) may include a primary filtering step (S103a) of applying a spam filter and a secondary filtering step (S103b) of performing a review quality analysis on candidate answers that have passed the primary filtering.

스팸 필터를 적용하는 단계(S103a)는, 기 지정된 스팸 관련 키워드를 포함하고 있는 정도 등을 기준으로 후보 답변의 스팸 여부를 판정하거나, 기 설정된 스팸 판정 룰을 기반으로 후보 답변의 스팸 여부를 판정하거나, 스팸 여부를 판정하는 기계학습 된 스팸 판정 모델을 기분으로 후보 답변의 스팸 여부를 판정하는 것을 포함할 수 있다. 예를 들어, 총 5개의 후보 답변들(30a) 중에서 총 2개의 후보 답변(A4, A5)이 스팸으로 판정된 것이 도 4에 도시되어 있다. 접수된 후보 답변들을 대상으로 스팸 필터를 적용함으로써, 질문과 무관한 무분별한 광고 문구가 사용자 발화에 대한 답변으로 선정되는 것을 원천적으로 차단할 수 있는 효과가 있다.The step of applying the spam filter (S103a) is to determine whether the candidate answer is spam based on the degree of including a predetermined spam-related keyword, or whether the candidate answer is spam based on a predetermined spam determination rule, or , it may include judging whether the candidate answer is spam by using the machine-learned spam judgment model for judging whether spam is spam or not. For example, it is shown in FIG. 4 that a total of two candidate answers A4 and A5 among a total of five candidate answers 30a are determined to be spam. By applying the spam filter to the received candidate answers, there is an effect that can fundamentally block the selection of reckless advertising phrases irrelevant to the question as answers to the user's utterances.

리뷰 품질 분석 단계(S103b)는, 스팸 필터를 통과한 후보 답변들을 대상으로 수행된다. 상기 리뷰 품질 분석은, 예를 들어 특정 상품 또는 특정 서비스에 대한 리뷰 컨텐츠에 대하여 그 품질을 분석하기 위한 방법으로서, 리뷰 컨텐츠의 내용에 대한 충실도를 평가하는 방법으로 이해 될 수 있을 것이다.The review quality analysis step (S103b) is performed on candidate answers that have passed the spam filter. The review quality analysis, for example, as a method for analyzing the quality of review content for a specific product or a specific service, may be understood as a method of evaluating the fidelity of the content of the review content.

일 실시예에서, 상기 리뷰 품질 분석은, ((#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으로 결정 될 것이다.In one embodiment, the review quality analysis is characterized by filtering based on the value of ((#E + #O) / LEN), where #E is the number of entities included in the candidate answer, and #O is It is the number of opinion expressions included in the candidate answer, and LEN may be the length of the candidate answer. In Figure 4, the entity is "shopping discount", "traffic discount", "S card company A card", "K card company", "H card company", etc. pre-registered keywords or entity name recognition (Named-Entity Recognition) ) is the name of the entity extracted using the algorithm, and it can point to the object of giving an opinion. Also, in FIG. 4 , the “expression of opinion” refers to an expression indicating an evaluation of the entity. For example, if there is a candidate answer "K card company's card has low annual fee but few benefits", then the entity is "K card company", "annual fee", and "benefit", and "expression of opinion" is "cheap", " It will be two of "less". Also, the LEN value of the candidate answer will be 6, which is the number of spaces. Therefore, the review quality analysis result of the candidate answer will be determined to be (3 + 2) / 6.

몇몇 실시예들에서, 상기 "LEN" 값은 후보 답변의 텍스트 수, 형태소 분석에 의하여 나뉜 최소 단위의 수 등 다양한 기준으로 설정될 수 있음을 유의한다.Note that, in some embodiments, the "LEN" value may be set according to various criteria, such as the number of texts of a candidate answer and the number of minimum units divided by morphological analysis.

본 실시예에서, 스팸 필터를 통과한 후보 답변을 대상으로 상기 리뷰 품질 분석을 진행함으로써, 챗봇 서비스 사용자에게 아무런 정보도 주지 못하는 답변이 제공 되는 것을 방지할 수 있는 효과가 있다. 도 4에는 A3 답변이 상기 리뷰 품질 분석의 결과 낮은 리뷰 품질을 가지는 것으로 판정되어 필터링 제거 된 것이 도시 되어 있다.In this embodiment, by performing the review quality analysis on candidate answers that have passed the spam filter, it is possible to prevent an answer that gives no information to the chatbot service user from being provided. FIG. 4 shows that answer A3 has been determined to have low review quality as a result of the review quality analysis and has been filtered out.

다음으로, 필터링을 통과한 후보 답변들을 대상으로 사용자 발화에 적합한 답변인지 여부를 평가하기 위한 스코어링이 수행될 수 있다. 이와 관련하여 도 5 내지 도 6을 참조하여 설명한다.Next, scoring may be performed to evaluate whether the candidate answers that have passed the filtering are answers suitable for the user's utterance. In this regard, it will be described with reference to FIGS. 5 to 6 .

상기 스코어링을 위하여, 도 5에 도시된 바와 같이 사용자와 챗봇 사이에 송수신 된 대화의 로그(40)가 분석되고, 그 결과로 사용자 모델(50)이 구성될 수 있다. 사용자 모델(50)은 사용자의 하나 이상의 관심사에 대한 스코어를 표현할 수 있다. 상기 관심사는 대화 로그 중 사용자 발화에 대한 키워드 분석을 통하여 수행될 수 있을 것이다. 도 5에는 사용자 모델(50)로서, 쇼핑할인 1 포인트, 연회비저렴 1포인트가 구성된 것이 도시되어 있다.For the above scoring, as shown in FIG. 5 , a log 40 of a conversation transmitted and received between the user and the chatbot is analyzed, and as a result, a user model 50 may be constructed. The user model 50 may represent a score for one or more interests of the user. The interest may be performed through keyword analysis on the user's utterance in the conversation log. 5, as the user model 50, a shopping discount of 1 point and a low annual fee of 1 point are shown.

도 5의 사용자 모델(50)을 전제로, 스코어링 방법(S105)으로서 대화 내용 관련성 평가(S105a)가 수행되는 것을 도 6을 참조하여 설명한다. 대화 내용 관련성 평가(S105a)는 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 스코어링을 수행하는 단계를 포함할 수 있고, 이 때, 상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행할 수 있다.On the premise of the user model 50 of FIG. 5 , it will be described with reference to FIG. 6 that the dialogue content relevance evaluation ( S105a ) is performed as the scoring method ( S105 ). Conversation relevance evaluation (S105a) may include performing scoring using relevance to chatbot service conversation contents transmitted and received between the chatbot client terminal, and in this case, each of the candidate answers that have passed the filtering The above scoring may be performed by synthesizing all relevance of conversation contents for each entity.

도 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).When the conversation content relevance evaluation is performed on the candidate answer A1 shown in FIG. 6, since the entity "S card company A card" and the user model 50 do not have a relationship, no points are obtained from "S card company A card", Since the entity "shopping discount" and the user model 50 are related and the point for "shopping discount" of the user model 50 is 1, 1 point is obtained in the "shopping discount" entity. In the case of candidate answer A2, since neither of the two entities "H card company" and "traffic discount" are registered as interests in the user model 50, no points are obtained. As a result, the candidate answer A2 is rejected from the answer selection because no points are obtained in the conversation relevance evaluation (S105a). 6 shows that one of the two candidate answers A1 and A2 that has passed the review quality analysis (S103b) is dropped (30c). The remaining answer A1 as a result of the scoring (S105) is finally selected as an answer to the user's utterance (S107).

한편, 도 5에 도시된 것과 달리, 도 7에 도시된 바와 같이, 대화 로그(40)의 분석 결과, 제1 관심사 "쇼핑할인"에 1포인트, 제2 관심사"교통할인"에 1포인트, 제3 관심사"연회비저렴"에 1포인트가 각각 부여되는 사용자 모델(50)이 구성된 경우를 가정하여, 스코어링(S105) 절차로서 대화 내용 관련성 평가(S105a) 뿐만 아니라, 레이트(rate) 기반 스코어링(S105b)이 추가적으로 수행되는 것을 설명한다.On the other hand, unlike shown in FIG. 5 , as shown in FIG. 7 , as a result of analysis of the conversation log 40 , 1 point for the first interest “shopping discount”, 1 point for the second interest “traffic discount”, and the second interest Assuming that the user model 50 is configured in which 1 point is given to each of the 3 interests "cheap annual fee", as well as the conversation content relevance evaluation (S105a) as a scoring (S105) procedure, rate-based scoring (S105b) What this additionally does is described.

도 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가 된다.Referring to FIG. 8A , as a conversation content relevance evaluation, the candidate answer A1 and the candidate answer A2 acquire the same points. Therefore, it is difficult to differentiate between the candidate answer A1 and the candidate answer A2 only by evaluating the relevance of the conversation content (30d). This means that even if either the candidate answer A1 or the candidate answer A2 is adopted as the final answer, the chatbot user does not feel much repulsion. In this case, rate-based scoring ( S105b ) may be performed using a rate assigned to all candidate answers submitted by the submitter according to the cost paid by the submitter of each candidate answer. In the case of FIG. 8A , if S card company, the submitter of candidate answer A1, paid 1 million won and obtained a rate increase of 1 for all candidate answers submitted by S card company, the final score of candidate answer A1 is 2 (1+1) will be In addition, if H card company, the submitter of candidate answer A2, paid 2 million won and obtained a rate increase of 2 for all candidate answers submitted by H card company, the final score of candidate answer A2 will be 3 (1+2) . Accordingly, in the rate-based scoring (S105b), A1 is dropped (30e). In this case, the answer selected as the final answer becomes the candidate answer 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가 된다.Meanwhile, in another embodiment, a cost may be paid for each candidate answer, and a rate increase of a received candidate answer may be determined according to the paid cost. Referring to FIG. 8B , as the conversation content relevance evaluation, the candidate answer A1 and the candidate answer A2 acquire the same points, and it is difficult to differentiate between the candidate answer A1 and the candidate answer A2 only by the conversation content relevance evaluation (30d) . At this time, if S card company, the submitter of candidate answer A1, paid 100,000 won for candidate answer A1, and H card company, the submitter of candidate answer A2, paid 200,000 won for candidate answer A2, candidate answer A1 and candidate answer A2 The rate increase will be +1 and +2, respectively. Accordingly, the final score of the candidate answer A1 becomes 2 (1+1), and the final score of the candidate answer A2 becomes 3 (1+2). That is, in the rate-based scoring (S105b), A1 is dropped (30e). In this case, the answer selected as the final answer becomes the candidate answer A2.

한편, 또 다른 실시예에서, 후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 접수된 후보 답변들에 대하여는 별도의 레이트 증가를 인정하지 않을 수 있다. 이 경우, 스코어링(S105)은 상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 수행될 수 있다. 이 경우, 도 8a 또는 도 8b에 도시된 상황에서, 후보 답변 A1 또는 A2 중 어느 하나가 최종 답변으로 선정될 수 있을 것이다. 물론, 또 다른 실시예에서, 레이트를 기반으로 하지 않는 또 다른 스코어링 방식이 추가로 적용되어, 최종적으로 하나의 후보 답변을 선정할 수도 있을 것이다.Meanwhile, in another embodiment, the candidate answers may be received through the public interface on condition of payment of the candidate answer reception fee, but a separate rate increase may not be recognized for the received candidate answers. In this case, the scoring ( S105 ) may be performed using only the relevance with the chatbot service conversation content transmitted and received between the chatbot client terminal and the chatbot client terminal. In this case, in the situation shown in FIG. 8A or FIG. 8B , any one of the candidate answers A1 or A2 may be selected as the final answer. Of course, in another embodiment, another scoring method not based on rate may be additionally applied to finally select one candidate answer.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far may be performed by executing a computer program embodied as computer readable code. The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet and installed in the second computing device, thereby being used in the second computing device. The first computing device and the second computing device include all of a server device, a physical server belonging to a server pool for a cloud service, and a stationary computing device such as a desktop PC.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or a flash memory device.

다음으로, 도 9를 참조하여 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 시스템(150)에 대하여 설명한다. 본 실시예의 챗봇 서비스 제공 시스템(150)은 논리적 단위의 소프트웨어 또는 하드웨어 모듈에 해당하는 후보 답변 접수부(151), 필터링부(152) 및 스코어링부(153)를 포함할 수 있다. 후보 답변 접수부(151), 필터링부(152), 스코어링부(153) 및 챗봇 엔진(154)은 각각 물리적으로 분리된 전용 컴퓨팅 장치로 구성될 수도 있고, 적어도 일부가 소프트웨어 모듈 또는 하드웨어 모듈 부품의 형태로 하나의 컴퓨팅 장치에 함께 구성될 수도 있는 점을 유의한다. 후보 답변 접수부(151)를 통해 접수되는 특정 질문에 대한 복수의 후보 답변은 필터링부(152)를 통해 필터링 되고, 필터링 과정을 통과한 후보 답변은 스코어링부(153)를 통해 평가 되며, 스코어링부(153)의 평가 결과 선정된 최종 답변이 챗봇 엔진(154)에 제공된다. 챗봇 엔진(154)은 상기 최종 답변을 챗봇 클라이언트(10)에 제공한다.Next, a chatbot service providing system 150 according to another embodiment of the present invention will be described with reference to FIG. 9 . The chatbot service providing system 150 of the present embodiment may include a candidate answer receiving unit 151 , a filtering unit 152 , and a scoring unit 153 corresponding to a software or hardware module of a logical unit. The candidate answer reception unit 151 , the filtering unit 152 , the scoring unit 153 , and the chatbot engine 154 may each be configured as a physically separate dedicated computing device, and at least some of them are in the form of software modules or hardware module parts. Note that it may be configured together in one computing device. A plurality of candidate answers to a specific question received through the candidate answer reception unit 151 are filtered through the filtering unit 152, the candidate answers that have passed the filtering process are evaluated through the scoring unit 153, and the scoring unit ( 153), the selected final answer is provided to the chatbot engine 154 . The chatbot engine 154 provides the final answer to the chatbot client 10 .

다음으로, 도 10을 참조하여 본 발명의 또 다른 실시예에 따른 챗봇 서비스 서버 구성 및 동작을 설명한다. 도 10에 도시된 바와 같이, 본 실시예에 따른 챗봇 서비스 서버(100)는 프로세서(101) 및 메모리(102)를 포함하고, 몇몇 실시예들에서 스토리지(103), 네트워크 인터페이스(105) 및 시스템 버스(104) 중 적어도 하나를 더 포함할 수 있다. 메모리(102)에 로드 되어 저장되는 하나 이상의 인스트럭션(instruction)은 프로세서(101)를 통하여 실행된다. 본 실시예에 따른 챗봇 서비스 서버(100)는 별도의 설명이 없더라도, 도 1 내지 도 2를 참조하여 설명한 챗봇 서비스 서버(100) 관련 동작 및 도 3a 내지 도 8b를 참조하여 설명한 챗봇 서비스 제공 방법 관련 동작을 수행할 수 있는 점을 유의한다.Next, the configuration and operation of a chatbot service server according to another embodiment of the present invention will be described with reference to FIG. 10 . As shown in FIG. 10 , the chatbot service server 100 according to the present embodiment includes a processor 101 and a memory 102 , and in some embodiments a storage 103 , a network interface 105 and a system It may further include at least one of the buses 104 . One or more instructions loaded and stored in the memory 102 are executed through the processor 101 . The chatbot service server 100 according to the present embodiment relates to the operation related to the chatbot service server 100 described with reference to FIGS. 1 to 2 and the chatbot service providing method described with reference to FIGS. 3A to 8B, even if there is no separate explanation. Note that actions can be performed.

네트워크 인터페이스(105)는 챗봇 클라이언트 단말로부터 네트워크를 통해 제공 된 사용자 발화 데이터를 수신하고, 수신된 사용자 발화 데이터는 챗봇 엔진(126)에 제공된다.The network interface 105 receives the user utterance data provided through the network from the chatbot client terminal, and the received user utterance data is provided to the chatbot engine 126 .

챗봇 엔진(126)으로부터 상기 사용자 발화 데이터를 제공 받은 후보 답변 조회 인스트럭션(120)은 스토리지(103)에 저장된 후보 답변 DB(130)로부터 상기 사용자 발화 데이터에 매치되는 질문에 대한 후보 답변들을 조회한다.The candidate answer inquiry instruction 120 receiving the user utterance data from the chatbot engine 126 inquires candidate answers to a question matching the user utterance data from the candidate answer DB 130 stored in the storage 103 .

필터링 인스트럭션(122)은 상기 조회된 후보 답변들을 스팸 필터, 리뷰 품질 분석 등의 방식으로 필터링한다. 또한, 스코어링 인스트럭션(124)은 필터링을 통과한 후보 답변들을 대상으로 대화 내용 관련성 평가 및 레이트 기반 스코어링 등을 수행하여 최종 답변을 선정하고, 챗봇 엔진(126)에 제공함으로써, 상기 최종 답변이 챗봇 클라이언트 단말에 송신되도록 할 수 있다.The filtering instruction 122 filters the inquired candidate answers using a spam filter, review quality analysis, or the like. In addition, the scoring instruction 124 selects a final answer by performing conversation relevance evaluation and rate-based scoring, etc. for candidate answers that have passed filtering, and provides the final answer to the chatbot engine 126 , so that the final answer is transmitted to the chatbot client It can be transmitted to the terminal.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (8)

컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
사용자 발화에 대한 복수의 후보 답변들을 접수 받는 단계;
상기 후보 답변들을 필터링 하는 단계;
상기 필터링을 통과한 후보 답변을 대상으로 챗봇 답변을 선정하기 위한 스코어링을 수행하는 단계; 및
상기 스코어링의 결과로 선정된 최종 답변을, 상기 사용자 발화를 송신한 챗봇 클라이언트 단말에 송신하는 단계를 포함하되,
상기 필터링 하는 단계는,
리뷰 품질 분석을 통해 필터링 하는 단계를 포함하고,
상기 리뷰 품질 분석은, ((#E + #O) / LEN)의 값을 기준으로 필터링 하는 것을 특징으로 하되,
#E = 후보 답변에 포함된 엔티티의 개수,
#O = 후보 답변에 포함된 의견 표현의 개수,
LEN = 후보 답변의 길이이고,
상기 엔티티는, 상기 후보 답변에서 추출된 개체명으로서, 사전 등록된 키워드이거나, 상기 후보 답변을 대상으로 적용된 개체명 인식 알고리즘의 수행 결과 얻어진 것이고,
상기 의견 표현은, 상기 엔티티에 대한 평가를 가리키는 표현인,
챗봇 서비스 제공 방법.
A method performed by a computing device, comprising:
receiving a plurality of candidate answers to the user's utterance;
filtering the candidate answers;
performing scoring to select a chatbot answer from the candidate answers that have passed the filtering; and
Comprising the step of transmitting the final answer selected as a result of the scoring to the chatbot client terminal that has transmitted the user's utterance,
The filtering step is
filtering through review quality analysis;
The review quality analysis is characterized in that filtering based on the value of ((#E + #O) / LEN),
#E = number of entities included in the candidate answer,
#O = number of comments included in the candidate answer,
LEN = length of candidate answer,
The entity, as the entity name extracted from the candidate answer, is a pre-registered keyword or is obtained as a result of performing an entity name recognition algorithm applied to the candidate answer,
wherein the expression of opinion is an expression indicating an evaluation of the entity;
How to provide chatbot service.
삭제delete 제1 항에 있어서,
상기 스코어링을 수행하는 단계는,
상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of performing the scoring comprises:
Comprising the step of performing the scoring by using the correlation with the chatbot service conversation content transmitted and received between the chatbot client terminal,
How to provide chatbot service.
제3 항에 있어서,
챗봇 서비스 대화 내용과의 관련성을 이용하여 상기 스코어링을 수행하는 단계는,
상기 필터링을 통과한 후보 답변의 각 엔티티 별 대화 내용 관련성을 모두 종합하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
4. The method of claim 3,
The step of performing the scoring by using the relevance to the chatbot service conversation content,
Comprising the step of performing the scoring by synthesizing all the relevance of the conversation content for each entity of the candidate answers that have passed the filtering,
How to provide chatbot service.
제1 항에 있어서,
상기 후보 답변들을 접수 받는 단계는,
공개 인터페이스를 통해 상기 후보 답변들을 접수 받되, 상기 후보 답변에 부여되는 레이트를 상향 시키기 위한 비용 지급에 대한 정보를 상기 후보 답변과 함께 접수 받는 단계를 포함하는,
상기 스코어링을 수행하는 단계는,
상기 후보 답변에 부여된 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of receiving the candidate answers includes:
Receiving the candidate answers through an open interface, comprising the step of receiving information about payment of a cost for increasing the rate given to the candidate answers together with the candidate answers,
The step of performing the scoring comprises:
performing the scoring using a rate assigned to the candidate answer;
How to provide chatbot service.
제1 항에 있어서,
상기 스코어링을 수행하는 단계는,
상기 후보 답변의 제출자의 비용 지급에 따라 상기 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of performing the scoring comprises:
performing the scoring using a rate assigned to the candidate answer according to the payment of the cost of the submitter of the candidate answer;
How to provide chatbot service.
제1 항에 있어서,
상기 스코어링을 수행하는 단계는,
상기 후보 답변의 제출자의 비용 지급에 따라 상기 제출자의 모든 후보 답변에 부여되는 레이트(rate)를 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of performing the scoring comprises:
performing the scoring using a rate awarded to all candidate answers of the submitter according to the submitter's payment of the candidate answer;
How to provide chatbot service.
제1 항에 있어서,
상기 후보 답변들을 접수 받는 단계는,
후보 답변 접수 비용 지급을 조건으로 공개 인터페이스를 통해 상기 후보 답변들을 접수 받는 단계를 포함하고,
상기 스코어링을 수행하는 단계는,
상기 챗봇 클라이언트 단말과의 사이에서 송수신된 챗봇 서비스 대화 내용과의 관련성 만을 이용하여 상기 스코어링을 수행하는 단계를 포함하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of receiving the candidate answers includes:
receiving the candidate answers through an open interface on condition of payment of the candidate answer reception fee;
The step of performing the scoring comprises:
Comprising the step of performing the scoring using only the relevance with the chatbot service conversation content transmitted and received between the chatbot client terminal,
How to provide chatbot service.
KR1020170163443A 2017-11-30 2017-11-30 Method and apparatus for chatbot service providing using responses received from open interface KR102377156B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170163443A KR102377156B1 (en) 2017-11-30 2017-11-30 Method and apparatus for chatbot service providing using responses received from open interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170163443A KR102377156B1 (en) 2017-11-30 2017-11-30 Method and apparatus for chatbot service providing using responses received from open interface

Publications (2)

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

Family

ID=66848786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163443A KR102377156B1 (en) 2017-11-30 2017-11-30 Method and apparatus for chatbot service providing using responses received from open interface

Country Status (1)

Country Link
KR (1) KR102377156B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780237B1 (en) * 2016-04-11 2017-09-21 고려대학교 산학협력단 Method and device for answering user question based on q&a data provided on online

Family Cites Families (4)

* 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
KR101284788B1 (en) * 2009-10-13 2013-07-10 한국전자통신연구원 Apparatus for question answering based on answer trustworthiness and method thereof
KR101662295B1 (en) * 2010-06-03 2016-10-04 신철호 Method and System for Displaying Question/Answer
KR101402506B1 (en) * 2011-12-01 2014-06-03 라인 가부시키가이샤 System and method for providing information interactively by instant messaging application

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780237B1 (en) * 2016-04-11 2017-09-21 고려대학교 산학협력단 Method and device for answering user question based on q&a data provided on online

Also Published As

Publication number Publication date
KR20190064126A (en) 2019-06-10

Similar Documents

Publication Publication Date Title
US11775494B2 (en) Multi-service business platform system having entity resolution systems and methods
Algaba et al. Econometrics meets sentiment: An overview of methodology and applications
Robertson et al. Negativity drives online news consumption
US11200581B2 (en) Multi-client service system platform
US11868733B2 (en) Creating a knowledge graph based on text-based knowledge corpora
Atkins et al. Scaling up the evaluation of psychotherapy: evaluating motivational interviewing fidelity via statistical text classification
Matalon et al. Using sentiment analysis to predict opinion inversion in Tweets of political communication
US10210867B1 (en) Adjusting user experience based on paralinguistic information
US10410628B2 (en) Adjusting a ranking of information content of a software application based on feedback from a user
US20170228365A1 (en) Systems and methods for language feature generation over multi-layered word representation
US9710829B1 (en) Methods, systems, and articles of manufacture for analyzing social media with trained intelligent systems to enhance direct marketing opportunities
US11423314B2 (en) Method and system for facilitating user support using multimodal information
US11757807B2 (en) Interactive chatbot for multi-way communication
US20230418793A1 (en) Multi-service business platform system having entity resolution systems and methods
Jha et al. Reputation systems: Evaluating reputation among all good sellers
Zhang et al. A taxonomy, data set, and benchmark for detecting and classifying malevolent dialogue responses
Anupama et al. Real time Twitter sentiment analysis using natural language processing
Siddiqui et al. Quality Prediction of Wearable Apps in the Google Play Store.
KR102377156B1 (en) Method and apparatus for chatbot service providing using responses received from open interface
Zhang et al. Detecting and classifying malevolent dialogue responses: Taxonomy, data and methodology
Malik et al. Sentiment analysis on political tweets
Vysotska et al. Sentiment Analysis of Information Space as Feedback of Target Audience for Regional E-Business Support in Ukraine.
CN116541517A (en) Text information processing method, apparatus, device, software program, and storage medium
Fu Natural Language Processing in Urban Planning: A Research Agenda
CN117312862B (en) GLM-based financial event extraction sample generation method and system

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