KR20200094311A - Method for providing chatbot service, apparatus and system thereof - Google Patents

Method for providing chatbot service, apparatus and system thereof Download PDF

Info

Publication number
KR20200094311A
KR20200094311A KR1020190011620A KR20190011620A KR20200094311A KR 20200094311 A KR20200094311 A KR 20200094311A KR 1020190011620 A KR1020190011620 A KR 1020190011620A KR 20190011620 A KR20190011620 A KR 20190011620A KR 20200094311 A KR20200094311 A KR 20200094311A
Authority
KR
South Korea
Prior art keywords
service
chatbot
conversation model
response
target
Prior art date
Application number
KR1020190011620A
Other languages
Korean (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 KR1020190011620A priority Critical patent/KR20200094311A/en
Publication of KR20200094311A publication Critical patent/KR20200094311A/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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

In developing a plurality of chatbots applied to a plurality of service domains, provided are a chatbot service providing method, apparatus, and system capable of reducing development costs and improving response performance of the chatbot. According to some embodiments of the present disclosure, a chatbot service providing method may comprise the steps of: determining a target service domain to which a target chatbot is applied from among a plurality of hierarchically defined service domains; obtaining a first conversation model for a higher service domain of the target service domain; inheriting the first conversation model and generating a second conversation model of the target service domain; and providing a chatbot service for the target service domain through the target chatbot using the second conversation model.

Description

챗봇 서비스 제공 방법, 장치 및 그 시스템{METHOD FOR PROVIDING CHATBOT SERVICE, APPARATUS AND SYSTEM THEREOF}METHOD FOR PROVIDING CHATBOT SERVICE, APPARATUS AND SYSTEM THEREOF}

본 개시는 챗봇 서비스 제공 방법, 장치 및 그 시스템에 관한 것이다. 보다 자세하게는, 복수의 서비스 도메인에서 챗봇 서비스를 제공함에 있어서, 챗봇의 개발 및 관리 비용을 절감하고, 챗봇의 응답 성능을 향상시킬 수 있는 방법, 그 방법을 지원하는 장치 및 시스템에 관한 것이다.The present disclosure relates to a method, apparatus and system for providing a chatbot service. More specifically, in providing a chatbot service in a plurality of service domains, a method for reducing chatbot development and management costs, and improving a chatbot's responsiveness, and a device and system supporting the method.

챗봇(chatbot)이란 채팅과 로봇의 합성어로써, 텍스트 또는 음성을 통해 인간과 대화를 수행하고 대화를 통해 특정한 태스크를 수행하도록 제작된 소프트웨어를 의미한다. 챗봇은 채터봇(chatterbot), 토크봇(talkbot), 지능형 에이전트(intelligent agent), 대화형 에이전트(interactive agent) 등과 같이 다양한 명칭으로 불리우고 있다.Chatbot (chatbot) is a combination of chat and robot, and refers to software designed to perform conversations with humans through text or voice and to perform specific tasks through dialogue. Chatbots are called by various names such as chatterbots, talkbots, intelligent agents, and interactive agents.

최근에는, 챗봇이 각종 예약 및 상담 서비스에 도입되어, 상담원들의 일부 작업을 대체하여 수행하고 있다. 특히, 상담용 챗봇은 모바일 디바이스에서도 접근이 용이한 메신저 플랫폼을 활용하여 24시간 예약 및 상담 서비스를 제공하고 있다. 이를 통해, 상담 과정에서 발생하는 인적 비용이 절감되고, 서비스 전달의 간편성과 효과성은 제고되고 있다.Recently, chatbots have been introduced into various reservation and consultation services, replacing some of the agents' work. In particular, the chatbot for counseling provides a 24-hour reservation and counseling service using a messenger platform that is easily accessible even on mobile devices. Through this, human costs incurred in the counseling process are reduced, and the simplicity and effectiveness of service delivery are being improved.

그러나, 다양한 서비스 도메인에 예약 및 상담 서비스를 위한 챗봇을 도입하는 경우, 각 서비스 도메인 별로 챗봇이 개발되어야 하기 때문에, 개발 비용이 급격하게 증가하는 문제가 발생한다. 가령, 다수의 호텔에 대한 상담 및 예약 서비스를 제공하는 챗봇을 개발하는 경우, 각 호텔 별로 별도의 챗봇이 개발되어야 하므로, 챗봇의 개발 비용은 급격하게 증가하게 된다. 뿐만 아니라, 공통 부분에 대한 반복 개발이 수행되기 때문에, 개발 비용의 낭비가 초래된다.However, in the case of introducing chatbots for reservation and consultation services to various service domains, since the chatbots must be developed for each service domain, a development cost increases rapidly. For example, when developing a chatbot that provides consultation and reservation services for multiple hotels, a separate chatbot must be developed for each hotel, so the development cost of the chatbot increases rapidly. In addition, since iterative development is performed on a common part, waste of development cost is caused.

위와 같은 개발 비용 문제는 현재 다양한 서비스 도메인에 챗봇을 도입하는데 있어서 가장 큰 진입 장벽이라 할 수 있다. 따라서, 다수의 서비스 도메인에서 활용되는 챗봇을 개발함에 있어서, 개발 비용을 절감하고 개발의 효율성을 향상시킬 수 있는 방법이 요구된다.The above development cost problem is the biggest barrier to entry in the introduction of chatbots in various service domains. Therefore, in developing a chatbot that is used in multiple service domains, a method for reducing development cost and improving development efficiency is required.

한국공개특허 제10-2018-0089242 (2018.08.08 공개)Korean Open Patent No. 10-2018-0089242 (published August 8, 2018)

본 개시의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 복수의 서비스 도메인에 활용될 다수의 챗봇을 개발함에 있어서, 챗봇의 개발 비용을 절감할 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.The technical problem to be solved through some embodiments of the present disclosure is a method for reducing development cost of a chatbot, a device and a system supporting the method, in developing a plurality of chatbots to be used for a plurality of service domains Is to provide.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 복수의 서비스 도메인에서 챗봇 서비스를 제공함에 있어서, 챗봇의 응답 성능을 향상시킬 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure, in providing a chatbot service in a plurality of service domains, is a method for improving the response performance of a chatbot, and providing an apparatus and system supporting the method will be.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 복수의 서비스 도메인에서 챗봇 서비스를 제공함에 있어서, 챗봇의 대화 모델 업데이트에 소요되는 인적 비용을 절감할 수 있는 방법, 그 방법을 지원하는 장치 및 시스템에 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure, in providing a chatbot service in a plurality of service domains, a method for reducing the human cost of updating a chatbot conversation model and supporting the method To provide devices and systems.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 복수의 서비스 도메인에서 챗봇 서비스를 제공함에 있어서, 챗봇의 대화 모델 관리에 소요되는 인적 비용을 절감할 수 있는 방법, 그 방법을 지원하는 장치 및 시스템에 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure, in providing a chatbot service in a plurality of service domains, a method for reducing the human cost of managing a chatbot conversation model and supporting the method To provide devices and systems.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure 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.

상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 방법은, 컴퓨팅 장치에 의하여 수행되는 챗봇 서비스 제공 방법에 있어서, 계층적으로 정의된 복수의 서비스 도메인 중에서 대상 챗봇이 적용될 타깃 서비스 도메인을 결정하는 단계, 상기 타깃 서비스 도메인의 상위 서비스 도메인에 대한 제1 대화 모델을 얻는 단계, 상기 제1 대화 모델을 상속받아 상기 타깃 서비스 도메인의 제2 대화 모델을 생성하는 단계 및 상기 제2 대화 모델을 이용하는 상기 대상 챗봇을 통해 상기 타깃 서비스 도메인에 대한 챗봇 서비스를 제공하는 단계를 포함할 수 있다.In order to solve the above technical problem, a method for providing a chatbot service according to some embodiments of the present disclosure includes a target in which a target chatbot is applied among a plurality of hierarchically defined service domains in a method for providing a chatbot service performed by a computing device. Determining a service domain, obtaining a first conversation model for an upper service domain of the target service domain, inheriting the first conversation model, generating a second conversation model of the target service domain, and the second And providing a chatbot service for the target service domain through the target chatbot using a conversation model.

몇몇 실시예에서, 상기 챗봇 서비스를 제공하는 단계는, 사용자 단말로부터 질의를 수신하는 단계, 상기 제2 대화 모델을 이용하여 상기 질의에 대한 응답을 생성하는 단계 및 상기 생성된 응답을 상기 사용자 단말에게 제공하는 단계를 포함할 수 있다.In some embodiments, providing the chatbot service includes receiving a query from a user terminal, generating a response to the query using the second conversation model, and sending the generated response to the user terminal. And providing steps.

몇몇 실시예에서, 상기 챗봇 서비스를 제공하는 단계는, 사용자 단말로부터 질의를 수신하는 단계, 상기 제2 대화 모델에 기초하여 상기 질의에 대한 응답 가능 여부를 판정하는 단계, 상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 상기 복수의 서비스 도메인 중에서 참조 서비스 도메인을 선정하는 단계 및 상기 참조 서비스 도메인과 연관된 제3 대화 모델을 이용하여 생성된 응답을 상기 사용자 단말에게 제공하는 단계를 포함할 수 있다.In some embodiments, providing the chatbot service includes receiving a query from a user terminal, determining whether a response to the query is possible based on the second conversation model, and determining that the response is not possible In response, selecting a reference service domain from among the plurality of service domains based on the similarity between service domains and providing a response generated using the third conversation model associated with the reference service domain to the user terminal. It can contain.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예에 따른 챗봇 서비스 제공 방법은, 컴퓨팅 장치에서 복수의 서비스 도메인에서 활용되는 복수의 대화 모델을 이용하여 챗봇 서비스를 제공하는 방법에 있어서, 대상 챗봇을 통해 사용자 단말로부터 질의를 수신하는 단계, 상기 대상 챗봇이 적용된 타깃 서비스 도메인의 대화 모델에 기반하여 상기 질의에 대한 응답 가능 여부를 판정하는 단계, 상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 상기 복수의 대화 모델 중에서 참조용 대화 모델을 선정하는 단계 및 상기 참조용 대화 모델을 이용하여 생성된 응답을 상기 대상 챗봇을 통해 제공하는 단계를 포함할 수 있다.A method for providing a chatbot service according to some other embodiments of the present disclosure for solving the above technical problem is a method of providing a chatbot service using a plurality of conversation models utilized in a plurality of service domains on a computing device. Receiving a query from a user terminal through a chatbot, determining whether a response to the query is possible based on a conversation model of a target service domain to which the target chatbot is applied, and in response to a determination that the response is not possible, a service The method may include selecting a reference conversation model from among the plurality of conversation models based on similarity between domains, and providing a response generated using the reference conversation model through the target chatbot.

몇몇 실시예에서, 상기 참조용 대화 모델을 선정하는 단계는, 상기 복수의 서비스 도메인 중에서 상기 수신된 질의에 허용되는 기준 유사도를 만족하는 서비스 도메인의 대화 모델을 상기 참조용 대화 모델로 선정하는 단계를 포함할 수 있다.In some embodiments, the selecting of the conversation model for reference may include selecting a conversation model of a service domain that satisfies a criterion similarity allowed for the received query among the plurality of service domains as the reference conversation model. It can contain.

몇몇 실시예에서, 상기 참조용 대화 모델을 선정하는 단계는, 상기 유사도를 기초로 복수의 서비스 도메인 중에서 복수의 후보 서비스 도메인을 선정하는 단계, 상기 복수의 후보 서비스 도메인 각각의 대화 모델을 이용하여 복수의 응답을 생성하는 단계, 상기 복수의 응답 각각의 품질을 평가하는 단계 및 상기 평가 결과를 기초로 상기 참조용 대화 모델을 선정하는 단계를 포함할 수 있다.In some embodiments, selecting the conversation model for reference may include selecting a plurality of candidate service domains among a plurality of service domains based on the similarity, and using a plurality of conversation models of each of the plurality of candidate service domains. It may include generating a response, evaluating the quality of each of the plurality of responses, and selecting the dialogue model for reference based on the evaluation result.

몇몇 실시예에서, 상기 사용자 단말로부터 상기 생성된 응답에 대한 피드백을 얻는 단계 및 상기 피드백을 기초로 상기 참조용 대화 모델과 연관된 서비스 도메인의 유사도를 조정하는 단계를 더 포함할 수 있다.In some embodiments, the method may further include obtaining feedback on the generated response from the user terminal and adjusting the similarity of a service domain associated with the reference conversation model based on the feedback.

몇몇 실시예에서, 상기 유사도는, 상기 타깃 서비스 도메인의 제1 사양 정보와 다른 서비스 도메인의 제2 사양 정보 간의 유사도에 기초하여 산출될 수 있다.In some embodiments, the similarity may be calculated based on the similarity between the first specification information of the target service domain and the second specification information of another service domain.

상술한 기술적 과제를 해결하기 위한 본 개시의 또 다른 몇몇 실시예에 따른 챗봇 서비스 제공 방법은, 컴퓨팅 장치에서 복수의 서비스 도메인에서 활용되는 복수의 챗봇을 이용하여 챗봇 서비스를 제공하는 방법에 있어서, 상기 복수의 서비스 도메인 중 제1 서비스 도메인에서 활용되는 제1 챗봇으로부터 미응답된 질의를 포함하는 질의 데이터를 얻어오는 단계, 상기 질의 데이터에 대한 추천 응답을 입력받는 단계, 상기 제1 서비스 도메인과 다른 서비스 도메인 간의 유사도에 기초하여 상기 복수의 서비스 도메인 중 적어도 일부를 업데이트 대상으로 추천하는 단계 및 상기 질의 데이터와 상기 추천 응답을 포함하는 업데이트용 데이터를 이용하여 상기 추천된 서비스 도메인과 연관된 대화 모델을 업데이트하는 단계를 포함할 수 있다.A method of providing a chatbot service according to another exemplary embodiment of the present disclosure for solving the above technical problem is provided in a method of providing a chatbot service using a plurality of chatbots utilized in a plurality of service domains on a computing device, wherein Obtaining query data including an unanswered query from a first chatbot utilized in a first service domain among a plurality of service domains, receiving a recommendation response to the query data, and a service different from the first service domain Recommending at least a part of the plurality of service domains as an update target based on the similarity between domains, and updating a conversation model associated with the recommended service domain using update data including the query data and the recommendation response It may include steps.

몇몇 실시예에서, 상기 질의 데이터는 부정적인 사용자 피드백을 받은 질의를 더 포함할 수 있다.In some embodiments, the query data may further include a query that has received negative user feedback.

몇몇 실시예에서, 상기 업데이트 대상으로 추천하는 단계는, 각각의 서비스 도메인과 연관된 대화 모델의 성능에 더 기초하여 상기 적어도 일부를 추천하는 단계를 포함하되, 상기 대화 모델의 성능은 각 대화 모델과 연관된 시나리오의 개수에 기초하여 결정될 수 있다.In some embodiments, the step of recommending as an update target includes recommending the at least a portion based on the performance of a conversation model associated with each service domain, wherein the performance of the conversation model is associated with each conversation model. It can be determined based on the number of scenarios.

몇몇 실시예에서, 상기 업데이트 대상으로 추천하는 단계는, 각각의 서비스 도메인과 연관된 대화 모델의 성능에 더 기초하여 상기 적어도 일부를 추천하는 단계를 포함하되, 상기 대화 모델의 성능은 미응답된 질의 개수와 응답된 질의에 대한 사용자 피드백에 기초하여 결정될 수 있다.In some embodiments, recommending the update target includes recommending the at least a portion based on the performance of a conversation model associated with each service domain, wherein the performance of the conversation model is the number of unanswered queries. And based on user feedback on the answered query.

몇몇 실시예에서, 상기 복수의 서비스 도메인은 계층적 구조로 정의되고, 상기 업데이트 대상을 추천하는 단계는, 상기 제1 서비스 도메인이 위치한 제1 계층에서, 상기 서비스 도메인 간 유사도가 기준치 이상인 서비스 도메인의 개수를 카운팅하는 단계 및 상기 카운팅된 개수가 임계치 이상이라는 판정에 응답하여, 상기 제1 계층의 상위 계층에 위치한 제2 서비스 도메인을 상기 업데이트 대상으로 추천하는 단계를 포함하고, 상기 업데이트하는 단계는, 상기 업데이트용 데이터를 이용하여 상기 제2 서비스 도메인과 연관된 제1 대화 모델을 업데이트하는 단계 및 상기 업데이트된 상기 제1 대화 모델을 기초로 상기 제2 서비스 도메인의 하위 서비스 도메인과 연관된 대화 모델을 일괄 업데이트하는 단계를 포함할 수 있다.In some embodiments, the plurality of service domains are defined in a hierarchical structure, and the step of recommending the update target may include, in a first layer where the first service domain is located, similarity between the service domains of a service domain having a reference value or higher. In response to determining that the count is counted and the count is greater than or equal to a threshold, recommending a second service domain located in an upper layer of the first layer as the update target, and the updating step includes: Updating a first conversation model associated with the second service domain using the update data and batch updating a conversation model associated with a lower service domain of the second service domain based on the updated first conversation model It may include the steps.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치는, 사용자 단말과 대상 챗봇을 통해 통신하는 통신 인터페이스, 하나 이상의 인스트럭션들(instructions)을 포함하는 메모리 및 상기 하나 이상의 인스트럭션들을 실행함으로써, 계층적으로 정의된 복수의 서비스 도메인 중에서 상기 대상 챗봇이 적용될 타깃 서비스 도메인을 결정하고, 상기 타깃 서비스 도메인의 상위 서비스 도메인에 대한 제1 대화 모델을 얻어오며, 상기 제1 대화 모델을 상속받아 상기 타깃 서비스 도메인의 제2 대화 모델을 생성하고, 상기 제2 대화 모델을 이용하는 상기 대상 챗봇을 통해 상기 타깃 서비스 도메인에 대한 챗봇 서비스를 제공하는 프로세스를 포함할 수 있다.A computing device according to some embodiments of the present disclosure for solving the above-described technical problem, a communication interface communicating with a user terminal and a target chatbot, a memory including one or more instructions, and executing the one or more instructions By determining a target service domain to which the target chatbot is applied among a plurality of hierarchically defined service domains, obtaining a first conversation model for an upper service domain of the target service domain, and inheriting the first conversation model And generating a second conversation model of the target service domain and providing a chatbot service for the target service domain through the target chatbot using the second conversation model.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예에 따른 컴퓨팅 장치는, 사용자 단말과 대상 챗봇을 통해 통신하는 통신 인터페이스, 하나 이상의 인스트럭션들(instructions)을 포함하는 메모리 및 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 대상 챗봇을 통해 사용자 단말로부터 질의를 수신하고, 상기 대상 챗봇이 적용된 타깃 서비스 도메인의 대화 모델에 기반하여 상기 질의에 대한 응답 가능 여부를 판정하며, 상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 다른 서비스 도메인과 연관된 복수의 대화 모델 중에서 참조용 대화 모델을 선정하며, 상기 참조용 대화 모델을 이용하여 생성된 응답을 상기 대상 챗봇을 통해 제공하는 프로세서를 포함할 수 있다.A computing device according to some other embodiments of the present disclosure for solving the above-described technical problem includes a communication interface communicating with a user terminal and a target chatbot, a memory including one or more instructions, and the one or more instructions. By executing, it receives a query from a user terminal through the target chatbot, determines whether it is possible to respond to the query based on the conversation model of the target service domain to which the target chatbot is applied, and responds to the determination that the response is not possible A processor for selecting a reference conversation model from among a plurality of conversation models associated with different service domains based on similarity between service domains and providing a response generated using the reference conversation model through the target chatbot Can.

상술한 기술적 과제를 해결하기 위한 본 개시의 또 다른 몇몇 실시예에 따른 컴퓨팅 장치는, 복수의 서비스 도메인에서 활용되는 복수의 챗봇을 이용하여 챗봇 서비스를 제공하는 하나 이상의 챗봇 서버와 통신하는 통신 인터페이스, 하나 이상의 인스트럭션들(instructions)을 포함하는 메모리 및 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 복수의 서비스 도메인 중 제1 서비스 도메인에서 활용되는 제1 챗봇으로부터 미응답된 질의를 포함하는 질의 데이터를 얻어오고, 상기 질의 데이터에 대한 추천 응답을 입력받으며, 상기 제1 서비스 도메인과 다른 서비스 도메인 간의 유사도에 기초하여 상기 복수의 서비스 도메인 중 적어도 일부를 업데이트 대상으로 추천하고, 상기 질의 데이터와 상기 추천 응답을 포함하는 업데이트용 데이터를 이용하여 상기 추천된 서비스 도메인과 연관된 대화 모델을 업데이트하는 프로세서를 포함할 수 있다.Computing device according to another some embodiments of the present disclosure for solving the above-described technical problems, a communication interface to communicate with one or more chatbot server providing a chatbot service using a plurality of chatbots utilized in a plurality of service domains, By executing a memory including one or more instructions and the one or more instructions, query data including an unanswered query is obtained from a first chatbot utilized in a first service domain among the plurality of service domains, Receiving a recommendation response for the query data, recommending at least a portion of the plurality of service domains as an update target based on the similarity between the first service domain and another service domain, and including the query data and the recommendation response And a processor for updating a conversation model associated with the recommended service domain using update data.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 컴퓨팅 프로그램은, 컴퓨팅 장치와 결합되어, 계층적으로 정의된 복수의 서비스 도메인 중에서 대상 챗봇이 적용될 타깃 서비스 도메인을 결정하는 단계, 상기 타깃 서비스 도메인의 상위 서비스 도메인에 대한 제1 대화 모델을 얻는 단계, 상기 제1 대화 모델을 상속받아 상기 타깃 서비스 도메인의 제2 대화 모델을 생성하는 단계 및 상기 제2 대화 모델을 이용하는 상기 대상 챗봇을 통해 상기 타깃 서비스 도메인에 대한 챗봇 서비스를 제공하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.Computing program in accordance with some embodiments of the present disclosure for solving the above-described technical problem, determining a target service domain to which a target chatbot is applied among a plurality of hierarchically defined service domains in combination with a computing device, the target Obtaining a first conversation model for an upper service domain of a service domain, inheriting the first conversation model, generating a second conversation model of the target service domain, and through the target chatbot using the second conversation model It may be stored in a computer-readable recording medium to execute the step of providing a chatbot service for the target service domain.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예에 따른 컴퓨팅 프로그램은, 컴퓨팅 장치와 결합되어, 대상 챗봇을 통해 사용자 단말로부터 질의를 수신하는 단계, 상기 대상 챗봇이 적용된 타깃 서비스 도메인의 대화 모델에 기반하여 상기 질의에 대한 응답 가능 여부를 판정하는 단계, 상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 다른 서비스 도메인과 연관된 복수의 대화 모델 중에서 참조용 대화 모델을 선정하는 단계 및 상기 참조용 대화 모델을 이용하여 생성된 응답을 상기 대상 챗봇을 통해 제공하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.Computing program according to some other embodiments of the present disclosure for solving the above-described technical problem is coupled to a computing device, receiving a query from a user terminal through a target chatbot, the conversation of the target service domain to which the target chatbot is applied Determining whether a response to the query is possible based on a model, and in response to a determination that the response is not possible, selecting a reference conversation model from among a plurality of conversation models associated with different service domains based on similarities between service domains And it may be stored in a computer-readable recording medium to execute the step of providing a response generated using the reference chat model and the target chatbot.

상술한 기술적 과제를 해결하기 위한 본 개시의 또 다른 몇몇 실시예에 컴퓨팅 프로그램은, 컴퓨팅 장치와 결합되어, 상기 복수의 서비스 도메인 중 제1 서비스 도메인에서 활용되는 제1 챗봇으로부터 미응답된 질의를 포함하는 질의 데이터를 얻어오는 단계, 상기 질의 데이터에 대한 추천 응답을 입력받는 단계, 상기 제1 서비스 도메인과 다른 서비스 도메인 간의 유사도에 기초하여 복수의 서비스 도메인 중 적어도 일부를 업데이트 대상으로 추천하는 단계 및 상기 질의 데이터와 상기 추천 응답을 포함하는 업데이트용 데이터를 이용하여 상기 추천된 서비스 도메인과 연관된 대화 모델을 업데이트하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.In yet another exemplary embodiment of the present disclosure for solving the above-described technical problem, a computing program includes an unanswered query from a first chatbot that is combined with a computing device and utilized in a first service domain among the plurality of service domains. Obtaining query data to be received, receiving a recommendation response to the query data, recommending at least a portion of a plurality of service domains as an update target based on the similarity between the first service domain and another service domain, and It may be stored in a computer-readable recording medium to execute a step of updating a conversation model associated with the recommended service domain using update data including query data and the recommendation response.

도 1은 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 시스템과 네트워크 환경을 나타내는 예시적인 구성도이다.
도 2는 본 개시의 다양한 실시예에서 참조될 수 있는 챗봇 서비스를 부연 설명하기 위한 예시도이다.
도 3은 본 개시의 몇몇 실시예에 따른 서비스 도메인의 계층 구조를 나타내는 예시도이다.
도 4 및 도 5는 본 개시의 다양한 실시예에서 참조될 수 있는 대화 모델을 설명하기 위한 예시도이다.
도 6은 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 방법을 나타내는 예시적인 흐름도이다.
도 7은 도 6에 도시된 대화 모델 생성 단계 S200를 부연 설명하기 위한 예시도이다.
도 8은 도 6에 도시된 챗봇 서비스 제공 단계 S300를 나타내는 예시적인 상세 흐름도이다.
도 9는 본 개시의 몇몇 실시예에 따른 서비스 도메인 간 유사도의 개념을 설명하기 위한 예시도이다.
도 10 및 도 11은 본 개시의 몇몇 실시예에 따른 유사도 기반 참조용 대화 모델 탐색 방법을 설명하기 위한 예시도이다.
도 12 및 도 13은 본 개시의 몇몇 실시예에 따른 서비스 도메인 간 유사도 산출 방법을 설명하기 위한 예시도이다.
도 14는 본 개시의 몇몇 실시예에 따른 사용자 피드백 기반의 유사도 조정 방법을 설명하기 위한 예시도이다.
도 15 및 도 16은 본 개시의 다양한 실시예에 따른 대화 모델 업데이트 방법을 나타내는 예시적인 흐름도이다.
도 17은 도 16에 도시된 업데이트 대상 추천 단계 S530을 부연 설명하기 위한 예시도이다.
도 18은 본 개시의 다양한 실시예에 따른 장치들을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
1 is an exemplary configuration diagram illustrating a chatbot service providing system and a network environment according to some embodiments of the present disclosure.
2 is an exemplary view for explaining a chatbot service that can be referred to in various embodiments of the present disclosure.
3 is an exemplary diagram illustrating a hierarchical structure of a service domain according to some embodiments of the present disclosure.
4 and 5 are exemplary views for explaining a conversation model that can be referred to in various embodiments of the present disclosure.
6 is an exemplary flowchart illustrating a method for providing a chatbot service according to some embodiments of the present disclosure.
FIG. 7 is an exemplary diagram for explaining the dialogue model generation step S200 illustrated in FIG. 6.
FIG. 8 is an exemplary detailed flow chart showing the chatbot service providing step S300 illustrated in FIG. 6.
9 is an exemplary diagram for illustrating a concept of similarity between service domains according to some embodiments of the present disclosure.
10 and 11 are exemplary diagrams for describing a method for searching a dialogue model for reference based on similarity according to some embodiments of the present disclosure.
12 and 13 are exemplary views for describing a method of calculating similarity between service domains according to some embodiments of the present disclosure.
14 is an exemplary diagram for describing a method for adjusting similarity based on user feedback according to some embodiments of the present disclosure.
15 and 16 are exemplary flowcharts illustrating a method for updating a conversation model according to various embodiments of the present disclosure.
FIG. 17 is an exemplary diagram for explaining the update target recommendation step S530 illustrated in FIG. 16.
18 shows an example computing device capable of implementing devices in accordance with various embodiments of the present disclosure.

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

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.It should be noted that in adding reference numerals to the components of each drawing, the same components have the same reference numerals as possible, even if they are displayed on different drawings. In addition, in describing the present disclosure, when it is determined that detailed descriptions of related well-known structures or functions may obscure the subject matter of the present disclosure, detailed descriptions thereof will be omitted.

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

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Further, in describing the components of the present disclosure, terms such as first, second, A, B, (a), and (b) may be used. These terms are only for distinguishing the component from other components, and the nature, order, or order of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to the other component, but another component between each component It should be understood that elements may be "connected", "coupled" or "connected".

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" refers to the elements, steps, operations and/or elements mentioned above, the presence of one or more other components, steps, operations and/or elements. Or do not exclude additions.

본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in the specification will be clarified.

본 명세서에서 서비스 도메인(service domain)이란, 특정 서비스를 제공하는 영역을 의미하는 추상적인 용어이다. 상기 서비스 도메인은 다양한 방식으로 정의될 수 있으며, 하나의 서비스 도메인 내에 다수의 서브 도메인(sub-domain)이 포함될 수 있다. 가령, 호텔 서비스 도메인 내에 호텔 A와 연관된 제1 서브 도메인, B 호텔과 연관된 제2 서브 도메인 등이 포함될 수 있다. 상기 서비스 도메인은 당해 기술 분야에서 비즈니스 도메인(business domain) 등의 용어와 혼용될 수 있으며, 상기 서비스 도메인에 대한 실례는 도 3을 참조하도록 한다.In this specification, a service domain is an abstract term that refers to an area that provides a specific service. The service domain may be defined in various ways, and multiple sub-domains may be included in one service domain. For example, a first sub-domain associated with hotel A, a second sub-domain associated with hotel B, and the like may be included in the hotel service domain. The service domain may be used interchangeably with terms such as a business domain in the technical field, and for an example of the service domain, refer to FIG. 3.

본 명세서에서 챗봇 서비스(chatbot service)란, 글자 그대로 챗봇을 통해 제공되는 서비스를 의미한다. 가령, 상기 챗봇 서비스는 상담 서비스, 예약 서비스 등이 될 수 있다. 다만, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니다.In this specification, the chatbot service (chatbot service) literally means a service provided through a chatbot. For example, the chatbot service may be a consultation service or a reservation service. However, the technical scope of the present disclosure is not limited to the examples listed above.

본 명세서에서 대화 모델(dialog model or conversation model)이란, 질의에 대한 응답을 생성하기 위해 이용되는 모델이다. 상기 대화 모델은 룰(rule) 기반, 시나리오(scenario) 기반, 딥 러닝(deep-learning) 기반 등과 같이 다양한 형태의 모델을 포함할 수 있다. 다만, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니다. 상기 대화 모델은 당해 기술 분야에서 질의/응답 모델, 대화 엔진, 챗봇 엔진 등과 같은 용어와 혼용될 수 있다.In this specification, a conversation model (dialog model or conversation model) is a model used to generate a response to a query. The conversation model may include various types of models, such as rule-based, scenario-based, and deep-learning-based. However, the technical scope of the present disclosure is not limited to the examples listed above. The conversation model may be used interchangeably with terms such as a query/response model, a conversation engine, and a chatbot engine in the art.

본 명세서에서 인스트럭션(instruction)이란, 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In this specification, an instruction is a series of instructions grouped based on a function and refers to a component of a computer program and executed by a processor.

이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present disclosure will be described in detail according to the accompanying drawings.

도 1은 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 시스템과 네트워크 환경을 나타내는 예시적인 구성도이다.1 is an exemplary configuration diagram illustrating a chatbot service providing system and a network environment according to some embodiments of the present disclosure.

도 1에 도시된 바와 같이, 상기 챗봇 서비스 제공 시스템은 하나 이상의 챗봇 서버(20-1 내지 20-n)와 관리 서버(30)를 포함할 수 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 챗봇 서비스 제공 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 가령, 하나 이상의 챗봇 서버(20-1 내지 20-n)와 관리 서버(30) 중 적어도 일부는 하나의 물리적 컴퓨팅 장치 내에서 서로 다른 로직(logic)의 형태로 구현될 수 있다.As illustrated in FIG. 1, the chatbot service providing system may include one or more chatbot servers 20-1 to 20-n and a management server 30. However, this is only a preferred embodiment for achieving the object of the present disclosure, and of course, some components may be added or deleted as necessary. In addition, it is noted that each component of the chatbot service providing system illustrated in FIG. 1 is functionally divided functional elements, and a plurality of components may be implemented in an integrated form in a physical environment. For example, at least some of the one or more chatbot servers 20-1 to 20-n and the management server 30 may be implemented in the form of different logic in one physical computing device.

또한, 실제 물리적 환경에서 상기 각각의 구성 요소들은 복수의 세부 기능 요소로 분리되는 형태로 구현될 수도 있다. 예컨대, 챗봇 서버(e.g. 20-1)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 같은 맥락에서, 관리 서버(30)의 복수의 기능 또한 복수의 컴퓨팅 장치에서 구현될 수 있다.Further, in the actual physical environment, each of the components may be implemented in a form of being divided into a plurality of detailed functional elements. For example, the first function of the chatbot server (e.g. 20-1) may be implemented in the first computing device, and the second function may be implemented in the second computing device. In the same context, multiple functions of the management server 30 may also be implemented in multiple computing devices.

이하에서는, 설명의 편의상, 하나 이상의 챗봇 서버(20-1 내지 20-n)를 총칭하거나 임의의 챗봇 서버(e.g. 20-1 or 20-2 or 20-n)를 지칭하는 경우 참조 번호 "20"를 이용하도록 한다. 또한, 하나 이상의 사용자 단말(10-1 내지 10-n)을 총칭하거나 임의의 사용자 단말(e.g. 10-1 or 10-2 or 10-n)를 지칭하는 경우 참조 번호 "10"를 이용하도록 한다. 이하, 상기 챗봇 서비스 제공 시스템의 각 구성요소에 대하여 설명한다.Hereinafter, for convenience of description, when referring to one or more chatbot servers 20-1 to 20-n generically or to any chatbot server (eg 20-1 or 20-2 or 20-n), reference number "20" To use. In addition, when referring to one or more user terminals 10-1 to 10-n or an arbitrary user terminal (e.g. 10-1 or 10-2 or 10-n), reference number "10" is used. Hereinafter, each component of the chatbot service providing system will be described.

상기 챗봇 서비스 제공 시스템에서, 챗봇 서버(20)는 챗봇 서비스를 제공하는 컴퓨팅 장치이다. 이를테면, 챗봇 서버(20)는 사용자 단말(10)로부터 질의를 수신하고, 챗봇을 통해 상기 질의에 대한 응답을 제공할 수 있다. 상기 챗봇 서비스는 사용자의 접근성을 극대화하기 위해 메신저 플랫폼을 통해 제공되는 것이 바람직할 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In the chatbot service providing system, the chatbot server 20 is a computing device that provides a chatbot service. For example, the chatbot server 20 may receive a query from the user terminal 10 and provide a response to the query through the chatbot. The chatbot service may be preferably provided through a messenger platform to maximize user accessibility, but the technical scope of the present disclosure is not limited thereto.

상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치 몇몇 예시는 도 18을 참조하도록 한다.The computing device may be a laptop, a desktop, a laptop, etc., but is not limited thereto, and may include all types of devices equipped with computing and communication functions. 18 for some examples of the computing device.

복수의 챗봇 서버(20)는 복수의 서비스 도메인에서 챗봇 서비스를 제공할 수 있다. 예컨대, 도 2에 도시된 바와 같이, 복수의 챗봇 서버(20)는 챗봇(43-1 내지 43-n)을 통해 다수의 호텔(41-1 내지 41-n)과 연관된 서비스 도메인에서 예약 및 상담 서비스를 제공할 수 있다. 이를테면, 제1 챗봇 서버(20-1)는 제1 챗봇(43-1)을 통해 A 호텔(41-1)에 대한 예약 및 상담 서비스(45 참조)를 제공하도록 동작할 수 있다.The plurality of chatbot servers 20 may provide chatbot services in a plurality of service domains. For example, as illustrated in FIG. 2, the plurality of chatbot servers 20 make reservations and consultations in service domains associated with multiple hotels 41-1 to 41-n through chatbots 43-1 to 43-n. Can provide services. For example, the first chatbot server 20-1 may operate to provide a reservation and consultation service (see 45) for the A hotel 41-1 through the first chatbot 43-1.

본 개시의 다양한 실시예에 따르면, 복수의 서비스 도메인에 활용되는 복수의 챗봇에 대한 개발 비용을 최소화하기 위해, 계층적 구조로 서비스 도메인이 정의될 수 있다. 이해의 편의를 제공하기 위해, 도 3에 도시된 예를 참조하여 서비스 도메인의 계층 구조에 대하여 부연 설명하도록 한다. 도 3에 도시된 트리 형태의 계층 구조에서, 트리의 각 노드는 서비스 도메인에 대응된다.According to various embodiments of the present disclosure, a service domain may be defined in a hierarchical structure in order to minimize development costs for a plurality of chatbots utilized in a plurality of service domains. In order to provide convenience of understanding, a hierarchical structure of a service domain will be described in detail with reference to an example illustrated in FIG. 3. In the tree-like hierarchical structure shown in FIG. 3, each node of the tree corresponds to a service domain.

도 3에 도시된 바와 같이, 서비스 도메인의 계층 구조(50)는 상대적으로 일반화된 상위 계층의 서비스 도메인(이하, "상위 서비스 도메인"으로 약칭함)과 상대적으로 구체화된 하위 계층의 서비스 도메인(이하, "하위 서비스 도메인"으로 약칭함)으로 구성될 수 있다. 또한, 각 서비스 도메인 별로 챗봇에 이용될 대화 모델이 생성될 수 있다.As shown in FIG. 3, the hierarchical structure 50 of the service domain includes a service domain of a relatively generalized upper layer (hereinafter abbreviated as “higher service domain”) and a service domain of a relatively concrete lower layer (hereinafter referred to as “service domain”). , Abbreviated as "sub-service domain"). In addition, a conversation model to be used for a chatbot for each service domain may be generated.

서비스 도메인이 계층적으로 구성됨에 따라, 상위 서비스 도메인의 대화 모델(이하, "상위 대화 모델"로 약칭함)과 하위 서비스 도메인의 대화 모델(이하, "하위 대화 모델"로 약칭함)은 상속 관계(즉, 계층적 관계)를 갖게 된다. 즉, 하위 대화 모델은 자신과 연결된 상위 대화 모델(즉, 부모 or 조상 노드)을 포함하고, 상위 대화 모델은 자신과 연결된 하위 대화 모델(즉, 자식 노드 or 후손 노드)의 공통 부분을 포함하도록 생성될 수 있다. 가령, B 호텔 노드(59)의 대화 모델은 상위 서비스 도메인인 서울 노드(57)의 대화 모델을 포함할 수 있다.As the service domains are hierarchically structured, the conversation model of the parent service domain (hereinafter abbreviated as "parent conversation model") and the conversation model of the lower service domain (hereinafter abbreviated as "child conversation model") are inherited. (Ie, hierarchical relationship). In other words, the child conversation model includes the parent conversation model (ie, parent or ancestor node) associated with it, and the parent conversation model is created to include the common part of the child conversation model (ie, child node or descendant node) associated with it. Can be. For example, the conversation model of the B hotel node 59 may include the conversation model of the Seoul node 57, which is an upper service domain.

위와 같은 특성으로 인해, 타깃 서비스 도메인의 대화 모델을 생성할 때 상위 서비스 도메인의 대화 모델을 그대로 상속받고 상기 타깃 서비스 도메인에 특화된 부분만을 일부 추가함으로써, 챗봇 개발에 소요되는 개발 비용이 크게 절감될 수 있다.Due to the above characteristics, when the conversation model of the target service domain is generated, the conversation model of the upper service domain is inherited as it is, and only a portion specialized for the target service domain is added, so that development cost for chatbot development can be greatly reduced. have.

서비스 도메인의 계층 구조에서, 각 계층은 유연하게 정의될 수 있으며, 이는 실시예에 따라 얼마든지 달라질 수 있다. 가령, 도 3에 도시된 바와 같이, 제1 계층(51)은 상위 개념의 서비스 도메인으로 정의되고, 그 하위 계층(53, 55)은 상기 상위 개념의 서비스 도메인을 지역 별(e.g. 서울 지역, 제주 지역 등)로 또는 업체 별(e.g. A 호텔, B 호텔 등)로 세분화하는 방식으로 정의될 수 있다. 이와 같은 경우, 제1 계층(53)의 대화 모델은 지역에 관계없이 해당 서비스 도메인에 공통되는 질의에 대한 응답 기능을 제공하도록 생성되고, 제2 계층(53)의 대화 모델은 각 서비스 도메인의 특정 지역에서 공통되는 질의에 대한 응답 기능을 제공하도록 생성될 수 있을 것이다. 또한, 제3 계층(55)의 대화 모델은 특정 지역의 특정 업체에 특화된 질의에 대한 응답 기능을 제공하도록 생성될 수 있을 것이다. 다만, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In the hierarchical structure of the service domain, each layer can be flexibly defined, which may vary depending on the embodiment. For example, as illustrated in FIG. 3, the first layer 51 is defined as a service domain of a higher concept, and the lower layers 53 and 55 define a service domain of the higher concept by region (eg Seoul area, Jeju). Region), or by company (eg A Hotel, B Hotel, etc.). In this case, the conversation model of the first layer 53 is generated to provide a response function to a query common to the corresponding service domain regardless of region, and the conversation model of the second layer 53 is specific to each service domain. It may be created to provide a response function for a common query in a region. In addition, the conversation model of the third layer 55 may be generated to provide a response function for a query specialized for a specific company in a specific region. However, the technical scope of the present disclosure is not limited thereto.

상기 대화 모델은 다양한 형태로 구현될 수 있으며, 이는 실시예에 따라 얼마든지 달라질 수 있다.The conversation model may be implemented in various forms, which may vary depending on the embodiment.

몇몇 실시예에서, 상기 대화 모델은 룰 기반 또는 시나리오 기반의 모델일 수 있다. 즉, 상기 대화 모델은 복수의 룰 또는 시나리오를 포함하고, 입력된 질의에 매칭되는 룰 또는 시나리오에 기반하여 응답을 생성하는 모델일 수 있다. 상기 룰은 질의와 그에 대한 응답을 포함하도록 정의될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 상기 시나리오는 질의/응답과 함께 대화 흐름(dialog flow)을 더 포함하도록 정의될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 본 실시예에서, 상위 대화 모델은 하위 대화 모델의 공통 시나리오 또는 공통 룰을 포함하게 되고, 하위 대화 모델은 상기 공통 시나리오 또는 상기 공통 룰을 복제하는 형태로 상위 계층 대화 모델을 상속받을 수 있다.In some embodiments, the conversation model may be a rule-based or scenario-based model. That is, the conversation model may be a model including a plurality of rules or scenarios and generating a response based on rules or scenarios matching the input query. The rule may be defined to include a query and a response thereto, but the technical scope of the present disclosure is not limited thereto. The scenario may be defined to further include a dialog flow along with a query/response, but the technical scope of the present disclosure is not limited thereto. In the present embodiment, the upper conversation model includes a common scenario or common rules of the lower conversation model, and the lower conversation model may inherit the upper hierarchical conversation model in a form of duplicating the common scenario or the common rules.

몇몇 실시예에서, 전술한 룰 또는 시나리오는 의도(intent) 별로 구분되어 정의될 수 있다. 가령, 도 4에 도시된 바와 같이, 대화 모델은 제1 의도(61, "객실 예약")와 연관된 하나 이상의 시나리오(63-1 내지 63-n), 제2 의도와 연관된 하나 이상의 시나리오를 포함할 수 있다. 이와 같은 경우, 대화 모델은 질의에 포함된 의도에 부합하는 후보 룰 또는 후보 시나리오 중에서 상기 질의에 매칭되는 룰 또는 시나리오에 기반하여 응답을 생성할 수 있을 것이다.In some embodiments, the above-described rules or scenarios may be defined by intent. For example, as shown in FIG. 4, the conversation model may include one or more scenarios 63-1 to 63-n associated with the first intention 61 (“room reservation”), and one or more scenarios associated with the second intention. Can. In such a case, the conversation model may generate a response based on a rule or scenario matching the query among candidate rules or candidate scenarios matching the intention included in the query.

몇몇 실시예에서는, 전술한 룰 또는 시나리오가 복수의 슬롯을 가진 대화 프레임의 형태로 정의되고, 슬롯 필링(slot-filling) 방식으로 챗봇 서비스가 제공될 수도 있다. 가령, 도 5에 도시된 대화 프레임(70)과 같이, 객실 예약에 요구되는 정보들이 슬롯으로 정의되면, 대화 모델은 각 슬롯의 정보를 채우는 방식으로 질의에 대한 응답 문장을 생성할 수 있다.In some embodiments, the above-described rules or scenarios are defined in the form of a dialog frame having a plurality of slots, and a chat-bot service may be provided in a slot-filling manner. For example, if the information required for room reservation is defined as a slot, such as the conversation frame 70 illustrated in FIG. 5, the conversation model may generate a response sentence for a query by filling information of each slot.

다른 몇몇 실시예에서는, 상기 대화 모델은 딥 러닝과 같은 머신 러닝(machine-learning) 기법에 기반한 모델일 수 있다. 즉, 상기 대화 모델은 질의/응답으로 구성된 대화쌍 집합을 트레이닝 데이터로 활용하여 구축된 모델일 수 있다. 이와 같은 경우, 하위 대화 모델은 전이 학습(transfer learning)을 통해 상위 대화 모델을 상속받거나(즉, 학습된 모델의 가중치를 상속), 상위 계층의 트레이닝 데이터셋을 학습하는 형태로 상위 대화 모델을 상속받을 수 있을 것이다.In some other embodiments, the conversation model may be a model based on machine-learning techniques such as deep learning. That is, the conversation model may be a model constructed by using a set of conversation pairs consisting of query/response as training data. In this case, the lower conversation model inherits the upper conversation model through transfer learning (i.e., inherits the weight of the trained model) or the upper conversation model by learning the training dataset of the upper layer. Will be able to receive

챗봇 서버(20)가 챗봇 서비스를 제공하는 방법에 대한 상세한 설명은 도 6 이하의 도면을 참조하여 후술하도록 한다. 다시 도 1을 참조하여 설명한다.A detailed description of how the chatbot server 20 provides the chatbot service will be described later with reference to the drawings of FIG. 6 and below. It will be described again with reference to FIG. 1.

상기 챗봇 서비스 제공 시스템에서, 관리 서버(30)는 챗봇 서버(20)에 대한 제반 관리 및 모니터링을 수행하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 다수의 챗봇 서버(20)에 대한 관리를 수행하는 경우라면, 관리 서버(30)는 고성능의 서버급 컴퓨팅 장치로 구현되는 것이 바람직할 것이다. 상기 컴퓨팅 장치 몇몇 예시는 도 18을 참조하도록 한다.In the chatbot service providing system, the management server 30 is a computing device that performs overall management and monitoring for the chatbot server 20. The computing device may be a laptop, a desktop, a laptop, etc., but is not limited thereto, and may include all types of devices equipped with computing and communication functions. However, in the case of performing management for a plurality of chatbot servers 20, the management server 30 may be preferably implemented as a high-performance server-class computing device. 18 for some examples of the computing device.

몇몇 실시예에서, 관리 서버(30)는 챗봇 서버(20)로부터 이력 데이터를 수신할 수 있는데, 상기 이력 데이터는 미응답된 질의에 관한 데이터, 부정적인 피드백을 받은 질의/응답에 관한 데이터를 포함할 수 있다. 관리 서버(30)는 상기 이력 데이터를 토대로 챗봇 서버(20)에 의해 이용되는 대화 모델을 업데이트할 수 있다. 본 실시예에 대한 자세한 설명은 도 16 및 도 17을 참조하여 후술하도록 한다.In some embodiments, the management server 30 may receive historical data from the chatbot server 20, which may include data related to unanswered queries and data related to queries/responses that received negative feedback. Can. The management server 30 may update the conversation model used by the chatbot server 20 based on the history data. A detailed description of this embodiment will be described later with reference to FIGS. 16 and 17.

다른 몇몇 실시예에서는, 챗봇 서버(20)에 의해 자체적으로 대화 모델이 업데이트되고, 관리 서버(30)는 업데이트 결과를 수신할 수 있다. 또한, 상기 업데이트 결과를 토대로 관리 서버(30)는 다른 서비스 도메인의 대화 모델을 업데이트할 수도 있다. 본 실시예에 대한 자세한 설명은 도 15를 참조하여 후술하도록 한다.In some other embodiments, the chat model is updated by the chatbot server 20 itself, and the management server 30 can receive the update result. In addition, the management server 30 may update the conversation model of another service domain based on the update result. A detailed description of this embodiment will be described later with reference to FIG. 15.

사용자 단말(10)은 챗봇 서비스를 이용하는 사용자의 단말이다. 가령, 사용자는 단말(10)을 통해 질의를 송신하고, 그에 대한 응답을 수신하는 형태로 챗봇 서비스를 이용할 수 있다. 이때, 챗봇과의 인터페이스는 메신저 기반, 웹 기반 등과 같이 다양한 형태로 구현될 수 있다. 사용자 단말(10)은 어떠한 장치로 구현되더라도 무방하다The user terminal 10 is a user terminal using a chatbot service. For example, the user may use the chatbot service in the form of sending a query through the terminal 10 and receiving a response thereto. At this time, the interface with the chatbot can be implemented in various forms such as messenger-based and web-based. The user terminal 10 may be implemented with any device

도 1에 도시된 바와 같이, 사용자 단말(10)과 챗봇 서비스 제공 시스템은 네트워크를 통해 통신할 수 있다. 몇몇 실시예에서, 챗봇 서버(20)와 관리 서버(30)도 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.As shown in FIG. 1, the user terminal 10 and the chatbot service providing system can communicate through a network. In some embodiments, chatbot server 20 and management server 30 may also communicate over a network. Here, the network is a wired/wireless network of any kind, such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, a Wibro (Wireless Broadband Internet), and the like. Can be implemented.

지금까지 도 1 내지 도 5를 참조하여 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 시스템과 네트워크 환경에 대하여 설명하였다. 이하에서는, 본 개시의 다양한 실시예들에 따른 챗봇 서비스 제공 방법에 대하여 상세하게 설명하도록 한다. 이해의 편의를 제공하기 위해, 도 1에 도시된 환경을 가정하여 상기 방법에 대한 설명을 이어갈 것이나, 당해 기술분야의 당업자라면 챗봇 서비스가 제공되는 환경은 얼마든지 변형될 수 있음을 자명하게 이해할 수 있을 것이다.So far, a chatbot service providing system and a network environment according to some embodiments of the present disclosure have been described with reference to FIGS. 1 to 5. Hereinafter, a method for providing a chatbot service according to various embodiments of the present disclosure will be described in detail. In order to provide the convenience of understanding, the description of the above method will be continued assuming the environment shown in FIG. 1, but those skilled in the art can clearly understand that the environment in which the chatbot service is provided can be modified in any way. There will be.

이하에서 후술될 방법들의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 상기 방법들의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 상기 방법들에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 다른 언급이 없는 한, 상기 방법의 각 단계가 챗봇 서버(20)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 다만, 설명의 편의를 위해, 상기 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 후술될 방법들은 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.Each step of the methods described below can be performed by a computing device. In other words, each step of the methods may be implemented with one or more instructions executed by a processor of a computing device. All steps included in the methods may be performed by one physical computing device, but the first steps of the method are performed by the first computing device, and the second steps of the method are performed by the second computing device. It may be performed by. Hereinafter, unless otherwise stated, it is assumed that each step of the method is performed by the chatbot server 20 to continue the description. However, for convenience of description, description of the operation subject of each step included in the method may be omitted. In addition, it is needless to say that the methods to be described later may change the execution order of each operation within a range in which the execution order can be logically changed as necessary.

도 6은 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 방법을 나타내는 예시적인 흐름도이다. 특히, 도 6은 타깃 서비스 도메인(e.g. B 호텔의 서비스 도메인)의 챗봇을 개발하고, 개발된 챗봇을 통해 챗봇 서비스를 제공하는 과정을 예시하고 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.6 is an exemplary flowchart illustrating a method for providing a chatbot service according to some embodiments of the present disclosure. In particular, FIG. 6 illustrates a process of developing a chatbot of a target service domain (e.g. B hotel's service domain) and providing a chatbot service through the developed chatbot. However, this is only a preferred embodiment for achieving the object of the present disclosure, and of course, some steps may be added or deleted as necessary.

도 6에 도시된 바와 같이, 상기 챗봇 서비스 제공 방법은 서비스 도메인의 계층 구조 상에서 대상 챗봇에 적용될 타깃 서비스 도메인을 결정하는 단계 S100에서 시작된다. 도 7에 도시된 예를 참조하여 부연 설명하면, 서울에 위치한 B 호텔을 위한 챗봇(81)을 개발한다고 가정하자. 이와 같은 경우, 계층 구조(80) 상에서 B 호텔과 연관된 서비스 도메인(83)이 타깃 서비스 도메인으로 결정될 수 있다. 계층 구조 상에 타깃 서비스 도메인이 존재하지 않는다면, 관리자는 타깃 서비스 도메인과 다른 서비스 도메인과의 관계를 고려하여 계층 구조 상의 적절한 위치에 타깃 서비스 도메인을 추가할 수 있을 것이다.As illustrated in FIG. 6, the method for providing a chatbot service starts in step S100 of determining a target service domain to be applied to a target chatbot on a hierarchical structure of service domains. Referring to the example illustrated in FIG. 7, it is assumed that a chatbot 81 for a B hotel located in Seoul is developed. In this case, the service domain 83 associated with the B hotel on the hierarchical structure 80 may be determined as the target service domain. If the target service domain does not exist in the hierarchical structure, the administrator may add the target service domain to an appropriate location in the hierarchical structure by considering the relationship between the target service domain and other service domains.

단계 S200에서, 타깃 서비스 도메인에 대한 상위 대화 모델을 상속받아 상기 타깃 서비스 도메인에 활용될 대화 모델(이하, "타깃 모델"로 약칭함)이 생성된다. 가령, 도 7을 다시 참조하면, 대상 챗봇(81)에 대한 상위 서비스 도메인(85)의 대화 모델을 상속받아 타깃 모델이 생성될 수 있다.In step S200, a conversation model (hereinafter, abbreviated as "target model") to be used for the target service domain is generated by inheriting the upper conversation model for the target service domain. For example, referring back to FIG. 7, a target model may be generated by inheriting the conversation model of the upper service domain 85 for the target chatbot 81.

본 단계 S200에서, 타깃 서비스 도메인에 특화된 데이터(e.g. B 호텔과 연관된 대화쌍, 시나리오, 룰)가 준비되어 있다면, 상기 데이터가 상기 타깃 모델에 더 반영될 수 있을 것이다.In this step S200, if data (e.g. conversation pairs, scenarios, rules associated with the e.g. B hotel) specific to the target service domain are prepared, the data may be further reflected in the target model.

몇몇 실시예에서, 챗봇 개발의 편의성을 제공하기 위해, 챗봇 빌더(chatbot builder)와 같은 툴(tool)이 제공될 수도 있을 것이다. 이와 같은 경우, 전술한 단계 S100 및 S200은 상기 챗봇 빌더가 탑재된 컴퓨팅 장치와 함께 수행될 수도 있다. 또한, 대화 모델의 관리를 일원화하기 위해, 대화 모델이 관리 서버(30)에 의해 관리되는 경우라면, 전술한 단계 S100 및 S200은 관리 서버(30)와 연동하여 수행될 수도 있다. 이와 같은 경우, 관리 서버(30)는 상기 타깃 모델을 대상 챗봇이 동작하는 챗봇 서버(20)로 배포하도록 동작할 수도 있다.In some embodiments, a tool such as a chatbot builder may be provided to provide convenience of chatbot development. In this case, the aforementioned steps S100 and S200 may be performed together with the computing device equipped with the chatbot builder. Further, in order to unify management of the conversation model, if the conversation model is managed by the management server 30, the above-described steps S100 and S200 may be performed in conjunction with the management server 30. In this case, the management server 30 may operate to distribute the target model to the chatbot server 20 on which the target chatbot operates.

단계 S300에서, 타깃 모델을 이용하는 대상 챗봇을 통해 타깃 서비스 도메인에 대한 챗봇 서비스가 제공된다. 가령, 챗봇 서버(20)는 상기 대상 챗봇을 통해 B 호텔에 대한 질의를 수신하고, 타깃 모델을 이용하여 수신된 질의에 대한 응답을 생성하며, 생성된 응답을 상기 대상 챗봇을 통해 제공함으로써 B 호텔을 위한 챗봇 서비스를 제공할 수 있다.In step S300, a chatbot service for a target service domain is provided through a target chatbot using a target model. For example, the chatbot server 20 receives a query for the B hotel through the target chatbot, generates a response to the received query using a target model, and provides the generated response through the target chatbot to the B hotel It can provide a chatbot service for.

몇몇 실시예에서, 대화 모델에 포함된 다양한 시나리오들은 의도를 기준으로 정의되어 있을 수 있다(도 4 참조). 이와 같은 경우, 챗봇 서버(20)는 수신된 질의에 포함된 의도를 추출하고, 상기 타깃 모델을 통해 상기 의도에 부합하는 시나리오를 결정하며, 결정된 시나리오에 기반하여 질의에 대한 응답을 생성하여 제공할 수 있다. 상기 의도의 추출은 머신 러닝 기반의 모델을 통해 수행될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In some embodiments, various scenarios included in the dialogue model may be defined based on intention (see FIG. 4). In such a case, the chatbot server 20 extracts the intention included in the received query, determines a scenario matching the intention through the target model, and generates and provides a response to the query based on the determined scenario Can. The extraction of the intention may be performed through a model based on machine learning, but the technical scope of the present disclosure is not limited thereto.

본 단계 S300에 대한 보다 자세한 설명은 도 8을 참조하여 후술하도록 한다.A more detailed description of this step S300 will be described later with reference to FIG. 8.

지금까지 도 6 및 도 7을 참조하여 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 방법에 대하여 설명하였다. 상술한 방법에 따르면, 하위 대화 모델의 공통 부분으로 구성된 상위 대화 모델을 재활용함으로써, 챗봇 개발에 소요되는 개발 비용이 절감되는 효과가 달성될 수 있다.So far, a method of providing a chatbot service according to some embodiments of the present disclosure has been described with reference to FIGS. 6 and 7. According to the above-described method, by recycling the upper dialogue model composed of the common part of the lower dialogue model, an effect of reducing development cost for chatbot development can be achieved.

이하에서는, 도 8 내지 도 14를 참조하여 단계 S300에서 챗봇 서비스가 제공되는 구체적인 과정에 대하여 설명하도록 한다.Hereinafter, a specific process in which the chatbot service is provided in step S300 will be described with reference to FIGS. 8 to 14.

도 8은 본 개시의 몇몇 실시예에 따른 챗봇 서비스 제공 단계 S300를 나타내는 예시적인 상세 흐름도이다.8 is an exemplary detailed flow diagram illustrating a chatbot service providing step S300 according to some embodiments of the present disclosure.

도 8에 도시된 바와 같이, 상기 챗봇 서비스 제공 단계 S300은 대상 챗봇을 통해 질의가 수신되는 단계 S310에서 시작된다. 가령, 사용자 단말(10)로부터 대상 챗봇을 통해 질의가 수신될 수 있다.As illustrated in FIG. 8, the chatbot service providing step S300 starts at step S310 in which a query is received through the target chatbot. For example, a query may be received from the user terminal 10 through the target chatbot.

단계 S320에서, 타깃 모델에 기반하여 수신된 질의에 대한 응답 가능 여부가 판정된다. 응답 가능 판정이 내려지면, 단계 S330이 수행되고, 반대의 경우 단계 S350이 수행된다.In step S320, it is determined whether a response to the received query is possible based on the target model. If the answerable decision is made, step S330 is performed, and in the opposite case, step S350 is performed.

단계 S330 및 S340에서, 응답 가능 판정에 응답하여, 타깃 모델을 이용하여 응답이 생성되고, 생성된 응답은 대상 챗봇을 통해 제공된다. 가령, 상기 응답이 대상 챗봇을 통해 사용자 단말(10)로 제공될 수 있다.In steps S330 and S340, in response to the determination that the response is possible, a response is generated using the target model, and the generated response is provided through the target chatbot. For example, the response may be provided to the user terminal 10 through the target chatbot.

단계 S350에서, 응답 불가능 판정에 응답하여, 참조용 대화 모델이 탐색된다. 상기 참조용 대화 모델은 수신된 질의에 대해 응답을 수행할 수 있는 다른 서비스 도메인의 대화 모델을 의미한다. 본 단계 S350의 세부 내용에 대해서는 도 9 내지 도 14를 참조하여 추후 상세하게 설명하도록 한다.In step S350, in response to the non-response determination, a reference conversation model is searched. The reference conversation model means a conversation model of another service domain capable of performing a response to a received query. The details of the step S350 will be described in detail later with reference to FIGS. 9 to 14.

단계 S360 및 S370에서, 탐색이 성공되면(즉, 참조용 대화 모델이 발견되면), 참조용 대화 모델을 통해 수신된 질의에 대한 응답이 생성된다. 생성된 응답은 대상 챗봇을 통해 제공된다(S340).In steps S360 and S370, if the search is successful (that is, if a reference conversation model is found), a response to a query received through the reference conversation model is generated. The generated response is provided through the target chatbot (S340).

단계 S360 내지 S390에서, 탐색이 실패하면(즉, 참조용 대화 모델이 발견되지 않으면), 대상 챗봇을 통해 사과 메시지가 제공된다. 또한, 미응답된 질의가 관리 서버(30)로 보고된다. 물론, 다른 몇몇 실시예에서는, 응답된 질의와 응답에 대한 사용자 피드백 정보 등도 관리 서버로 전송될 수 있다.In steps S360 to S390, if the search fails (i.e., if the conversation model for reference is not found), an apology message is provided through the target chatbot. In addition, unanswered queries are reported to the management server 30. Of course, in some other embodiments, the answered query and user feedback information for the response may also be transmitted to the management server.

지금까지 도 7 및 도 8을 참조하여 챗봇 서비스가 제공되는 상세 과정에 대하여 설명하였다. 상술한 바에 따르면, 타깃 모델을 통해 응답할 수 없는 질의에 대해서도, 참조용 대화 모델 탐색을 통해 적절한 응답이 수행될 수 있다. 따라서, 챗봇의 응답 성능이 향상되며, 챗봇 서비스를 제공받는 사용자의 만족도는 제고될 수 있다.So far, a detailed process in which the chatbot service is provided has been described with reference to FIGS. 7 and 8. According to the above, even for a query that cannot be answered through the target model, an appropriate response can be performed through searching the reference conversation model. Accordingly, the response performance of the chatbot is improved, and the satisfaction of the user receiving the chatbot service can be improved.

이하에서는, 참조용 대화 모델을 탐색하는 방법에 대하여 도 9 내지 도 11을 참조하여 설명하도록 한다.Hereinafter, a method of searching a reference conversation model will be described with reference to FIGS. 9 to 11.

본 개시의 다양한 실시예에 따르면, 서비스 도메인 간 유사도에 기반하여 참조용 대화 모델이 탐색될 수 있다. 이해의 편의를 제공하기 위해 본 실시예에 대하여 도 9를 참조하여 부연 설명하도록 한다. 도 9 이하의 도면에 도시된 서비스 도메인의 계층 구조에서 점선 화살표에 인접하여 도시된 숫자가 "서비스 도메인 간 유사도"를 나타낸다.According to various embodiments of the present disclosure, a conversation model for reference may be searched based on similarity between service domains. For convenience of understanding, this embodiment will be described in detail with reference to FIG. 9. In the hierarchical structure of the service domain shown in the figure of FIG. 9 or less, numbers shown adjacent to the dotted arrows indicate "similarity between service domains."

도 9에 도시된 바와 같이, 계층 구조(90) 상에서 타깃 서비스 도메인(91)과 다른 서비스 도메인(93 내지 97) 간의 유사도가 미리 설정될 수 있다. 상기 유사도는 일부 서비스 도메인에 대해서만 설정될 수 있고, 전체에 대해서 설정될 수도 있다. 상기 유사도는 서비스 도메인의 특성에 따른 유사도를 가리키는 것으로, 각 도메인의 특성을 잘 알고 있는 관리자에 의해 설정될 수 있고, 각 도메인의 사양 정보에 기반하여 자동으로 설정될 수도 있다. 상기 유사도를 자동으로 산출하는 방법에 대해서는 잠시 후에 부연 설명하도록 한다.9, the similarity between the target service domain 91 and other service domains 93 to 97 on the hierarchical structure 90 may be preset. The similarity may be set only for some service domains or may be set for all. The similarity refers to the similarity according to the characteristics of the service domain, and may be set by an administrator who is familiar with the characteristics of each domain, or may be automatically set based on specification information of each domain. The method for automatically calculating the similarity will be described later.

몇몇 실시예에서, 상기 서비스 도메인 간 유사도가 임계치 이상인 서비스 도메인에 대해 순차적으로 탐색이 이루어질 수 있다. 즉, 상기 임계치를 탐색 종료 조건으로 하여 높은 유사도를 가진 도메인부터 순차적으로 탐색이 이루어질 수 있다. 가령, 임계치가 65%인 경우, 유사도가 가장 높은 A 호텔 도메인(93)이 탐색되고, 다음으로 B 호텔 도메인(97)에 대한 탐색이 이루어질 수 있다. 여기서, 상기 탐색이 이루어진다는 것은 다른 서비스 도메인(e.g. 93, 97)의 대화 모델을 통해 수신된 질의에 대한 응답 가능 여부가 판단되는 것을 포함한다. 응답이 가능한 대화 모델(즉, 참조용 대화 모델)이 발견된 경우, 탐색 과정은 곧바로 종료될 수 있다.In some embodiments, a search may be sequentially performed for service domains having a similarity between the service domains above a threshold. That is, the search may be sequentially performed from a domain having high similarity using the threshold as a search termination condition. For example, when the threshold is 65%, the A hotel domain 93 having the highest similarity is searched, and then a search for the B hotel domain 97 can be made. Here, the fact that the search is performed includes determining whether it is possible to respond to a query received through a conversation model of another service domain (e.g. 93, 97). If a responsive conversational model (i.e., a reference conversational model) is found, the search process may end immediately.

몇몇 예시에서는, 탐색 지연을 최소화하기 위해 추가 종료 조건이 설정될 수도 있다. 예를 들어, 탐색 횟수를 제한하고 싶을 때, 탐색 횟수에 따른 종료 조건(e.g. 1회 탐색 후 종료)이 추가 종료 조건으로 설정될 수 있다. 다른 예를 들어, 탐색 범위를 제한하고 싶을 때, 대화 모델의 성능에 따른 종료 조건(e.g. 성능이 임계치 미만인 대화 모델의 도메인은 탐색 제외)이 추가 종료 조건으로 설정될 수 있다. 상기 대화 모델의 성능은 대화 모델에 포함된 룰/시나리오의 개수(또는 학습된 정도), 응답된 질의의 개수, 미응답된 질의의 개수, 긍정적 피드백을 받은 질의 개수, 부정적 피드백을 받은 질의 개수 등에 기초하여 결정될 수 있다. 이를테면, 대화 모델에 포함된 시나리오의 개수가 많을수록, 미응답된 질의의 개수가 적을수록, 부정적 피드백의 개수가 적을수록 대화 모델의 성능은 높게 판단될 수 있을 것이다. 그러나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니며, 얼마든지 다른 지표를 활용하여 대화 모델의 성능이 판단될 수 있음은 물론이다.In some examples, additional termination conditions may be set to minimize search delay. For example, when it is desired to limit the number of searches, the termination condition (e.g., after one search and termination) according to the number of searches may be set as an additional termination condition. For another example, when you want to limit the search range, the termination condition according to the performance of the conversation model (e.g., the domain of the conversation model whose performance is below a threshold is excluded from the search) may be set as an additional termination condition. The performance of the conversation model includes the number of rules/scenarios (or the degree of learning) included in the conversation model, the number of queries answered, the number of unanswered queries, the number of queries that received positive feedback, and the number of queries that received negative feedback. It can be determined on the basis of. For example, as the number of scenarios included in the conversation model increases, the number of unanswered queries decreases, and the number of negative feedback decreases, the performance of the conversation model may be determined to be higher. However, the technical scope of the present disclosure is not limited thereto, and it is needless to say that the performance of the dialogue model may be determined by using other indicators.

몇몇 예시에서는, 대화 모델의 성능을 기초로 서비스 도메인 간 유사도가 조정될 수도 있다. 가령, 대화 모델의 성능이 높아질수록 상기 유사도는 높은 값으로 조정될 수 있다. 대화 모델의 성능이 높아질수록, 수신된 질의에 대한 응답 확률이 향상될 것이기 때문이다.In some examples, similarity between service domains may be adjusted based on the performance of the conversation model. For example, as the performance of the conversation model increases, the similarity may be adjusted to a high value. This is because as the performance of the conversation model increases, the probability of response to the received query will improve.

몇몇 예시에서는, 탐색 지연을 최소화하기 위해 기 수행된 탐색에 대한 이력이 활용될 수 있다. 상기 탐색 이력은 타깃 모델에 의해 미응답된 질의, 상기 질의에 대한 참조용 대화 모델, 사용자 피드백 등의 정보를 포함할 수 있다. 본 실시예에 따르면, 유사 질의에 대한 탐색 이력을 이용하여 탐색 지연이 최소화되는 효과가 달성될 수 있다.In some examples, a history of previously performed searches may be utilized to minimize search delay. The search history may include information such as a query not answered by the target model, a conversation model for reference to the query, and user feedback. According to the present embodiment, an effect of minimizing the search delay can be achieved by using the search history for the similar query.

다른 몇몇 실시예에서, 상기 서비스 도메인 간 유사도가 임계치 이상인 서비스 도메인(또는 전체 서비스 도메인)의 대화 모델을 모두(또는 일부만) 이용하여 수신된 질의에 대해 복수의 응답이 생성될 수 있다. 또한, 상기 복수의 응답에 대한 품질 평가 결과에 기초하여 참조용 대화 모델이 결정될 수 있다. 가령, 도 10에 도시된 바와 같이, 계층 구조(100) 상에서 타깃 서비스 도메인(101)과의 유사도가 설정된 모든 서비스 도메인(103 내지 107)의 대화 모델로부터 복수의 응답(a, b, c)이 얻어질 수 있다. 또한, 복수의 응답(a, b, c)에 대한 품질 평가가 수행되고, 품질이 가장 높은 응답(b)이 수신된 질의에 대한 응답으로 제공될 수 있다.In some other embodiments, a plurality of responses may be generated for a received query using all (or only a portion) of a conversation model of a service domain (or an entire service domain) having similarity between service domains having a threshold level or higher. Also, a conversation model for reference may be determined based on the quality evaluation results for the plurality of responses. For example, as shown in FIG. 10, a plurality of responses (a, b, c) are generated from the conversation models of all service domains 103 to 107 having similarity with the target service domain 101 on the hierarchical structure 100. Can be obtained. In addition, quality evaluation of a plurality of responses (a, b, c) is performed, and a response (b) having the highest quality may be provided as a response to the received query.

상기 응답에 대해 품질 평가를 수행하는 구체적인 방식은 실시예에 따라 얼마든지 달라질 수 있다. 가령, 상기 품질 평가는 응답의 길이(e.g. 길수록 고품질), 응답에 포함된 명사(또는 엔티티)의 개수(e.g. 많을수록 고품질), 질의에 포함된 의도와 상기 응답과의 연관성(e.g. 높을수록 고품질), 응답에 포함된 단어 중에서 타깃 서비스 도메인과 연관된 단어의 개수(e.g. 많을수록 고품질) 등의 지표에 기초하여 수행될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The specific manner of performing the quality evaluation on the response may vary depending on the embodiment. For example, the quality evaluation includes the length of the response (eg, the higher the quality), the number of nouns (or entities) included in the response (eg the higher the higher the quality), the association between the intention included in the query and the response (eg the higher the higher the quality), Among the words included in the response, it may be performed based on an indicator such as the number of words (eg, the higher the higher the quality) associated with the target service domain, but the technical scope of the present disclosure is not limited thereto.

몇몇 예시에서는, 상기 열거된 평가 지표에 따라 평가 점수를 산출하고, 상기 평가 점수에 각 서비스 도메인에 설정된 유사도를 반영(e.g. 유사도를 가중치로 이용)하여 최종 평가 점수가 산출될 수도 있다. 또한, 상기 최종 평가 점수가 가장 높은 응답이 대상 챗봇을 통해 제공될 수 있다.In some examples, an evaluation score may be calculated according to the evaluation indexes listed above, and a final evaluation score may be calculated by reflecting the similarity set in each service domain in the evaluation score (e.g., using the similarity as a weight). In addition, the response with the highest final evaluation score may be provided through the target chatbot.

한편, 본 개시의 몇몇 실시예서는, 질의(또는 시나리오) 별로 기준 유사도가 설정될 수 있다. 상기 기준 유사도는 각 질의에 대해 허용되는 서비스 도메인 간 최소 유사도를 의미하며, 서비스 도메인 간 탐색 범위를 질의 별로 서로 다르게 제한하기 위해 이용되는 값이다. 도 11에 도시된 표(110)를 참조하여 본 실시예에 대하여 부연 설명하도록 한다.On the other hand, in some embodiments of the present disclosure, reference similarity may be set for each query (or scenario). The reference similarity refers to a minimum similarity between service domains allowed for each query, and is a value used to limit search ranges between service domains differently for each query. The present embodiment will be described in detail with reference to the table 110 shown in FIG. 11.

도 11을 참조하면, 질의#1은 기준 유사도가 "50"으로 설정되어 있다. 따라서, 질의#1에 대한 참조용 대화 모델을 탐색하는 경우, 서비스 도메인 간 유사도가 최소 50% 이상인 서비스 도메인에 대해서만 탐색이 이루어질 수 있다. 다른 예를 들어, 질의#3은 기준 유사도가 "90"으로 설정되어 있다. 따라서, 질의#3에 대한 참조용 대화 모델을 탐색하는 경우, 서비스 도메인 간 유사도가 최소 90% 이상인 서비스 도메인에 대해서만 탐색이 이루어질 수 있다.Referring to FIG. 11, query #1 has a reference similarity of "50". Therefore, when searching the reference conversation model for query #1, the search can be performed only for service domains having a similarity between service domains of at least 50% or higher. For another example, query #3 has a standard similarity of "90". Therefore, when searching the reference conversation model for query #3, the search can be performed only for service domains having a similarity between service domains of at least 90% or higher.

몇몇 예시에서, 상기 기준 유사도는 응답에 요구되는 엄격도(즉, 잘못된 응답이 사용자에게 미치는 영향의 정도) 기초하여 결정될 수 있다. 가령, 금전과 밀접하게 관련된 질의의 경우, 잘못된 응답이 사용자에게 큰 영향을 미칠 수 있다. 이와 같은 경우, 해당 질의의 기준 유사도는 매우 높은 값으로 설정될 수 있다.In some examples, the criterion similarity may be determined based on the strictness required for the response (ie, the extent to which an erroneous response affects the user). For example, in the case of queries closely related to money, incorrect responses can have a great impact on users. In this case, the standard similarity of the query can be set to a very high value.

지금까지 도 9 내지 도 11을 참조하여 참조용 대화 모델을 탐색하는 방법에 대하여 설명하였다. 상술한 방법에 따르면, 서비스 도메인 간 유사도에 기초하여 가장 정확한 응답을 수행할 수 있는 모델이 참조용 대화 모델로 결정될 수 있다. 이에 따라, 챗봇의 응답 성능은 향상되고, 챗봇 서비스를 제공받는 고객의 만족도는 제고될 수 있다.So far, a method of searching a conversation model for reference has been described with reference to FIGS. 9 to 11. According to the above-described method, a model capable of performing the most accurate response based on the similarity between service domains may be determined as a reference conversation model. Accordingly, the response performance of the chatbot can be improved, and the satisfaction of customers who are provided with the chatbot service can be improved.

이하에서는, 전술한 서비스 도메인 간 유사도를 자동 산출하고 조정하는 방법에 대하여 도 12 내지 도 14를 참조하여 설명하도록 한다. 먼저, 도 12 및 도 13을 참조하여 서비스 도메인 간 유사도를 자동 산출하는 방법에 대하여 설명한다.Hereinafter, a method of automatically calculating and adjusting the similarity between the above-described service domains will be described with reference to FIGS. 12 to 14. First, a method of automatically calculating similarity between service domains will be described with reference to FIGS. 12 and 13.

상기 서비스 도메인 간 유사도는 참조용 대화 모델을 결정하는 주요 지표이므로, 그 값을 정확하게 산출하는 것이 중요하다. 참조용 대화 모델이 잘못 결정되면, 적절하지 않은 응답이 사용자에게 제공될 것이기 때문이다. 상기 유사도는 각 서비스 도메인을 잘 이해하고 있는 관리자에 의해 설정되는 것이 바람직할 것이나, 서비스 도메인의 개수가 증가할수록 수동 설정 방식은 비효율적이며 오류 발생 확률을 증가시킨다.Since the similarity between the service domains is a key indicator for determining a reference conversation model, it is important to accurately calculate the value. This is because if the reference conversation model is incorrectly determined, an inappropriate response will be provided to the user. It is desirable that the similarity is set by an administrator who understands each service domain well, but as the number of service domains increases, the manual setting method becomes inefficient and increases the probability of an error.

위와 같은 문제점을 해결하기 위해, 본 개시의 몇몇 실시예에서는, 서비스 도메인의 사양 정보 간 유사도에 기초하여 서비스 도메인 간 유사도를 자동 산출할 수 있다. 이해의 편의를 제공하기 위해, 본 실시예에 대하여 도 12를 참조하여 부연 설명하도록 한다. 특히, 도 12는 A 호텔 및 B 호텔과 연관된 도메인 간의 유사도를 산출하는 예를 도시하고 있다.In order to solve the above problems, in some embodiments of the present disclosure, the similarity between service domains may be automatically calculated based on the similarity between specification information of service domains. To provide convenience of understanding, the present embodiment will be described in detail with reference to FIG. 12. In particular, FIG. 12 shows an example of calculating similarity between domains associated with hotels A and B.

도 12에 도시된 바와 같이, 챗봇이 적용되는 서비스 도메인에 대한 상세 사양 정보(120)가 확보되면, 사양 정보(120)를 토대로 서비스 도메인 간 유사도가 산출될 수 있다. 호텔 서비스의 경우, 사양 정보는 각 호텔의 부속 및 편의 시설과 관련된 사양 정보(e.g. 식당의 크기 및 개수, 회의실의 크기 및 개수 등), 교통과 관련된 사양 정보(e.g. 셔틀의 크기 및 개수 등), 기타 서비스에 대한 사양 정보(e.g. 조식 제공 여부, 룸 서비스의 종류 등), 호텔의 위치 등의 정보를 포함할 수 있다. 다만, 상기 열거된 사양 정보는 본 개시의 일부 실시예를 설명하기 위한 것일 뿐, 본 개시의 기술적 범위가 상기 열거된 사양 정보에 한정되는 것은 아니다.As illustrated in FIG. 12, when detailed specification information 120 for a service domain to which a chatbot is applied is secured, similarity between service domains may be calculated based on the specification information 120. In the case of hotel services, the specification information includes specification information (eg, the size and number of restaurants, size and number of meeting rooms), transportation-related specification information (eg, the size and number of shuttles), etc. Specification information about the service (eg, whether breakfast is provided, type of room service, etc.), and location of the hotel may be included. However, the specification information listed above is only for describing some embodiments of the present disclosure, and the technical scope of the present disclosure is not limited to the specification information listed above.

도 12에 도시된 바와 같이, A 호텔 도메인(123)과 B 호텔 도메인(125) 간의 유사도는 A 호텔과 B 호텔의 사양 정보(121) 간 유사도에 따라 산출될 수 있다. 사양 정보 간 유사도를 산출하는 구체적인 방식은 어떠한 방식이 되더라도 무방하다.12, the similarity between the A hotel domain 123 and the B hotel domain 125 may be calculated according to the similarity between the specification information 121 of the A hotel and the B hotel. Any method may be used as a specific method of calculating the similarity between specification information.

본 실시예에서, 사양 정보를 서비스 도메인 간 유사도를 위한 핵심 데이터로 활용하는 이유는 특정 서비스 도메인에 대한 질의와 응답은 모두 상기 특정 서비스 도메인의 사양 정보와 밀접하게 관련되어 있기 때문이다. 가령, 유사한 지역에 위치한 유사한 규모의 호텔에서 챗봇 서비스를 제공한다고 가정하자. 그러면, 두 호텔의 챗봇을 통해 수신되는 질의는 상대적으로 다른 지역에 위치한 다른 규모의 호텔들과 비교하여 유사할 수 밖에 없고, 그 응답 또한 유사할 수 밖에 없다. 따라서, 사양 정보를 이용하여 서비스 도메인 간 유사도를 산출하는 경우, 상기 유사도가 정확하게 산출될 수 있으며, 이에 따라 참조용 대화 모델에 대한 탐색 시간 또한 감소될 수 있게 된다.In this embodiment, the reason for using the specification information as core data for similarity between service domains is that both query and response for a specific service domain are closely related to specification information of the specific service domain. For example, suppose that a similar size hotel in a similar area offers a chatbot service. Then, queries received through the chatbots of the two hotels are relatively similar to other sizes of hotels located in different regions, and the responses are also similar. Accordingly, when the similarity between service domains is calculated using the specification information, the similarity can be accurately calculated, and accordingly, the search time for the reference conversation model can also be reduced.

몇몇 실시예서는, 서비스 도메인 간 유사도가 사용자 의도에 따라 세분화될 수 있다. 가령, 제1 사용자 의도에 대해 제1 서비스 도메인 간 유사도가 산출되고, 제2 사용자 의도에 대해 제2 서비스 도메인 간 유사도가 산출될 수 있다. 또한, 상기 제1 서비스 도메인 간 유사도는 상기 제1 사용자 의도와 연관된 사양 정보에 기초하여 산출될 수 있다. 보다 이해의 편의를 제공하기 위해, 본 실시예에 대하여 도 13을 참조하여 부연 설명하도록 한다. 도 13은 사용자 의도("객실 문의")에 대한 서비스 도메인 간 유사도를 산출하는 것을 예시하고 있다.In some embodiments, similarities between service domains may be subdivided according to user intention. For example, the similarity between the first service domains may be calculated for the first user intention, and the similarity between the second service domains may be calculated for the second user intention. Further, the similarity between the first service domains may be calculated based on specification information associated with the first user intention. In order to provide more convenience, the present embodiment will be described in detail with reference to FIG. 13. 13 illustrates calculating similarity between service domains for user intention ("room inquiry").

도 13에 도시된 바와 같이, 객실 문의에 대해 서비스 도메인 간 유사도를 산출하는 경우, 객실에 대한 사양 정보(130)가 이용될 수 있다. 즉, 객실 문의에 대해 A 호텔 도메인(133)과 B 호텔 도메인(135) 간의 유사도는 A 호텔과 B 호텔의 객실 사양 정보(131)에 기초하여 산출될 수 있다. 사용자 의도와 연관된 사양 정보만을 이용하는 이유는 사용자 의도와 무관한 사양 정보가 반영됨으로써 유사도 산출의 정확도가 떨어지는 문제를 해결하기 위한 것이다.As illustrated in FIG. 13, when calculating similarity between service domains for a room inquiry, specification information 130 for the room may be used. That is, the similarity between the A hotel domain 133 and the B hotel domain 135 for room inquiry may be calculated based on the room specification information 131 of the A hotel and the B hotel. The reason for using only the specification information related to the user's intention is to solve a problem in which the accuracy of similarity calculation is deteriorated by reflecting the specification information irrelevant to the user's intention.

본 실시예에서는, 수신된 질의에 포함된 의도가 추출되고, 추출된 의도에 대응되는 서비스 도메인 간 유사도를 기초로 참조용 대화 모델에 대한 탐색이 이루어질 수 있다. 따라서, 수신된 질의에 대해 보다 정확한 응답이 가능한 모델이 참조용 대화 모델로 결정될 수 있고, 모델 탐색에 소요되는 시간 또한 감소될 수 있다.In this embodiment, the intention included in the received query is extracted, and a search for a conversation model for reference can be made based on the similarity between service domains corresponding to the extracted intention. Accordingly, a model capable of more accurately responding to the received query may be determined as a reference conversation model, and the time required to search the model may also be reduced.

한편, 사양 정보를 토대로 산출된 서비스 도메인 간 유사도는 일종의 예측 값에 해당하므로, 실제 유사도와 오차가 존재할 수 있다. 또한, 상기 오차로 인해 실제 챗봇 서비스가 제공될 때 참조용 대화 모델이 잘못 선택되는 문제가 발생할 수 있다. 따라서, 본 개시의 몇몇 실시예에 따르면, 사용자의 피드백에 기반한 유사도 조정을 통해 상기 오차를 점차적으로 줄여가는 과정이 수행된다. 이하, 본 실시예에 대하여 도 14를 참조하여 설명하도록 한다.Meanwhile, since the similarity between service domains calculated based on the specification information corresponds to a kind of predicted value, an actual similarity and error may exist. In addition, due to the above error, when a real chatbot service is provided, a problem in which a conversation model for reference is incorrectly selected may occur. Accordingly, according to some embodiments of the present disclosure, a process of gradually reducing the error through a similarity adjustment based on user feedback is performed. Hereinafter, this embodiment will be described with reference to FIG. 14.

도 14는 타깃 서비스 도메인(141)의 챗봇이 A 호텔 도메인(143)의 대화 모델을 이용하여 응답을 제공하고, 상기 응답에 대한 피드백을 기초로 A 호텔 도메인(143)에 대한 유사도를 조정하는 과정을 예시하고 있다.14 shows a process in which the chatbot of the target service domain 141 provides a response using the conversation model of the A hotel domain 143, and adjusts the similarity of the A hotel domain 143 based on feedback on the response. Is illustrated.

도 14에 도시된 바와 같이, 사용자 단말(e.g. 도 1의 10)로부터 피드백이 얻어지면, 상기 피드백을 토대로 유사도가 조정될 수 있다. 가령, 긍정적인 피드백이 얻어지면 유사도가 증가되고, 부정적인 피드백이 얻어지면 유사도가 감소될 수 있다. 상기 피드백은 응답이 제공된 이후에 입력된 문장(e.g. 감사합니다 등)를 분석함으로써 얻어질 수 있다. 이를테면, 상기 입력된 문장에 대한 오피니언 마이닝(opinion mining)을 통해 피드백이 얻어질 수 있다. 그러나 , 본 개시의 기술적 범위가 이에 한정되는 것은 아니며, 상기 사용자 피드백을 얻는 방식은 얼마든지 달라질 수 있다.As illustrated in FIG. 14, when feedback is obtained from the user terminal (e.g. 10 in FIG. 1 ), the similarity may be adjusted based on the feedback. For example, similarity may increase when positive feedback is obtained, and similarity may decrease when negative feedback is obtained. The above feedback can be obtained by analyzing the sentences (e.g. thank you, etc.) entered after the response was provided. For example, feedback may be obtained through opinion mining on the input sentence. However, the technical scope of the present disclosure is not limited to this, and a method of obtaining the user feedback may vary.

몇몇 예시에서는, 피드백에 포함된 극성(즉, 긍정 or 부정)의 정도에 따라 차등적으로 유사도가 조정될 수도 있다.In some examples, the similarity may be adjusted differentially according to the degree of polarity (ie, positive or negative) included in the feedback.

몇몇 실시예에서는, 지정된 시간 이내에 사용자 피드백이 수신되지 않는 경우, 수신된 질의에 대한 피드백이 예측될 수 있다. 예를 들어, 상기 수신된 질의와 동일한 의도의 질의가 반복되는 경우, 상기 피드백은 부정적인 것으로 예측될 수 있다. 다른 예를 들어, 상기 수신된 질의와 다른 의도가 다음 질의에 포함되면, 상기 피드백은 긍정적인 것으로 예측될 수 있다. 다음 질의에 다른 의도가 포함되었다는 것은 이전 질의에 대해 적절한 응답이 제공된 것으로 해석될 수 있기 때문이다. 또 다른 예를 들어, 대화 시나리오 상 추가적인 질의가 있어야 함에도 불구하고 추가 질의가 없는 경우, 상기 피드백은 부정적인 것으로 예측될 수 있다. 이외에도, 응답 이후에 수신된 문장의 오피니언 마이닝 결과를 통해 사용자 피드백이 예측될 수도 있다.In some embodiments, if user feedback is not received within a designated time, feedback for the received query may be predicted. For example, if a query of the same intention as the received query is repeated, the feedback may be predicted as negative. For another example, if an intention different from the received query is included in the next query, the feedback may be predicted as positive. The inclusion of other intentions in the next query could be interpreted as providing an appropriate response to the previous query. For another example, if there is no additional query in the conversation scenario, there may be additional queries, and the feedback may be predicted as negative. In addition, user feedback may be predicted through the opinion mining result of the sentence received after the response.

몇몇 예시에서는, 예측 피드백에 의한 유사도의 조정 폭은 실제 피드백에 의한 조정 폭도보다 작을 수 있다. 피드백이 오예측될 가능성도 존재하기 때문이다.In some examples, the adjustment width of similarity by predictive feedback may be smaller than the adjustment width by actual feedback. There is also a possibility that feedback may be mispredicted.

몇몇 예시에서, 복수의 후보 응답의 품질 평가 결과에 기초하여 사용자에게 제공될 응답이 결정되는 경우(도 10 참조), 상기 품질 평가 결과를 반영하여 유사도가 조정될 수도 있다. 가령, 품질 평가 점수가 높을수록 유사도의 증가 폭도 커질 수 있다.In some examples, when a response to be provided to a user is determined based on a quality evaluation result of a plurality of candidate responses (see FIG. 10 ), similarity may be adjusted to reflect the quality evaluation result. For example, the higher the quality evaluation score, the greater the degree of similarity increase.

지금까지 도 12 내지 도 14를 참조하여 서비스 도메인 간 유사도를 산출하고 조정하는 방법에 대하여 설명하였다. 상술한 방법에 따르면, 서비스 도메인 간 유사도가 자동 산출됨으로써, 관리자의 편의성이 크게 향상될 수 있다. 뿐만 아니라, 피드백에 기반한 조정 과정을 통해 점차적으로 상기 유사도에 포함된 오차가 보정될 수 있다. 이에 따라, 참조용 대화 모델이 정확하게 선택될 수 있으며, 챗봇의 응답 정확도가 향상될 수 있다.So far, a method of calculating and adjusting similarity between service domains has been described with reference to FIGS. 12 to 14. According to the above-described method, the similarity between service domains is automatically calculated, so that the convenience of the administrator can be greatly improved. In addition, an error included in the similarity may be gradually corrected through an adjustment process based on feedback. Accordingly, the conversation model for reference can be accurately selected, and the response accuracy of the chatbot can be improved.

이하에서는, 도 15 내지 도 17을 참조하여 본 개시의 다양한 실시예에 따른 대화 모델 업데이트 방법에 대하여 설명하도록 한다.Hereinafter, a method for updating a conversation model according to various embodiments of the present disclosure will be described with reference to FIGS. 15 to 17.

도 15는 본 개시의 몇몇 실시예에 따른 대화 모델 업데이트 방법을 나타내는 예시적인 흐름도이다. 특히, 도 15는 챗봇 서버(20)에서 자체적으로 타깃 모델을 업데이트하는 방법을 예시하고 있다.15 is an exemplary flow diagram illustrating a method for updating a conversation model in accordance with some embodiments of the present disclosure. In particular, FIG. 15 illustrates a method of updating the target model by itself in the chatbot server 20.

도 15에 도시된 바와 같이, 상기 대화 모델 업데이트 방법은 대상 챗봇을 통해 수신된 질의에 대한 응답을 제공하는 단계 S400에서 시작된다. 이때, 상기 응답은 참조용 대화 모델을 이용하여 생성된 응답을 의미한다.As illustrated in FIG. 15, the method for updating the conversation model starts at step S400 in which a response to a query received through a target chatbot is provided. At this time, the response means a response generated using a reference conversation model.

단계 S410에서, 상기 응답에 대한 사용자 피드백이 수신되는지가 판정된다. 가령, 지정된 시간 내에 피드백과 연관된 문장이 대상 챗봇을 통해 수신되지 않는 경우, 피드백이 수신되지 않은 것으로 판정될 수 있다. 피드백이 수신된 경우, 단계 S430이 수행된다. 반대의 경우, 단계 S420이 수행된다.In step S410, it is determined whether user feedback for the response is received. For example, if a sentence associated with feedback is not received through the target chatbot within a designated time, it may be determined that the feedback has not been received. If feedback is received, step S430 is performed. In the opposite case, step S420 is performed.

단계 S420에서, 상기 응답에 대한 피드백이 예측된다. 본 단계 S420에서 피드백을 예측하는 방법의 세부 내용에 대해서는 전술한 실시예를 참조하도록 한다.In step S420, feedback for the response is predicted. For details of the method for predicting feedback in step S420, the above-described embodiment will be referred to.

단계 S430에서, 수신된(또는 예측된) 피드백이 긍정적인지 여부가 판정된다. 긍정적으로 판정된 경우, 단계 S450이 수행된다. 반대의 경우, 단계 S440이 수행된다.In step S430, it is determined whether the received (or predicted) feedback is positive. If it is determined positive, step S450 is performed. In the opposite case, step S440 is performed.

단계 S440에서, 수신된 질의와 응답 및 피드백 정보를 포함하는 이력 데이터가 관리 서버(30)로 보고된다. 물론, 피드백이 긍정적인 경우에도 상기와 같은 이력 데이터가 관리 서버(30)로 보고될 수 있음은 물론이다.In step S440, historical data including the received query and response and feedback information is reported to the management server 30. Of course, even when the feedback is positive, it is a matter of course that the history data as described above may be reported to the management server 30.

몇몇 실시예에서는, 관리 서버(30)로부터 보고한 질의에 대한 추천 응답을 수신할 수 있다. 이와 같은 경우, 상기 보고한 질의 및 상기 추천 응답을 포함하는 대화쌍을 기초로 타깃 모델이 업데이트될 수 있다. 상기 타깃 모델을 업데이트하는 방식은 상기 대화쌍을 기초로 생성된 룰 또는 시나리오를 추가하는 방식, 상기 대화쌍에 대한 추가 학습을 수행하는 방식 등이 될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In some embodiments, a recommendation response to a query reported from the management server 30 may be received. In this case, the target model may be updated based on the conversation pair including the reported query and the recommended response. The method of updating the target model may be a method of adding rules or scenarios generated based on the conversation pair, a method of performing additional learning on the conversation pair, etc., but the technical scope of the present disclosure is limited thereto. It does not work.

단계 S450에서, 상기 피드백이 긍정적이라는 판정에 응답하여, 상기 수신된 질의와 상기 생성된 응답을 포함하는 대화쌍을 기초로 타깃 모델이 업데이트될 수 있다.In step S450, in response to the determination that the feedback is positive, a target model may be updated based on the conversation pair including the received query and the generated response.

지금까지 도 15를 참조하여 본 개시의 몇몇 실시예에 대화 모델 업데이트 방법에 대하여 설명하였다. 상술한 방법에 따르면, 사용자 피드백에 기반하여 타깃 모델이 점진적으로 자동 업데이트될 수 있다. 이에 따라, 대화 모델 관리에 투입되는 인적 비용은 절감되고, 관리자의 편의성은 더욱 향상될 수 있다.So far, with reference to FIG. 15, a method of updating a conversation model has been described in some embodiments of the present disclosure. According to the above-described method, the target model may be automatically updated gradually based on user feedback. Accordingly, the human cost of managing the conversation model can be reduced, and the convenience of the manager can be further improved.

도 16 및 도 17은 본 개시의 다른 몇몇 실시예에 따른 대화 모델 업데이트 방법을 설명하기 위한 도면이다. 특히, 도 16 및 도 17은 관리 서버(30)에서 대화 모델을 업데이트하는 방법을 예시하고 있다.16 and 17 are diagrams for explaining a conversation model update method according to some other embodiments of the present disclosure. In particular, FIGS. 16 and 17 illustrate a method of updating the conversation model in the management server 30.

도 16에 도시된 바와 같이, 상기 대화 모델 업데이트 방법은 하나 이상의 챗봇 서버(20)로부터 이력 데이터를 수신하는 단계 S500에서 시작된다. 전술한 바와 같이, 상기 이력 데이터는 질의, 응답 및 피드백 정보를 포함할 수 있다. 예컨대, 상기 이력 데이터는 미응답된 질의, 피드백이 부정적으로 예측된 질의 및 응답 데이터를 포함할 수 있다. 이하에서는, 이해의 편의를 제공하기 위해, 상기 이력 데이터가 제1 챗봇 서버(20-1)로부터 수신된 것을 가정하여 설명을 이어가도록 한다.As illustrated in FIG. 16, the method for updating the conversation model starts at step S500 of receiving historical data from one or more chatbot servers 20. As described above, the history data may include query, response, and feedback information. For example, the history data may include unanswered queries and query and response data where feedback is predicted negatively. Hereinafter, in order to provide convenience for understanding, it is assumed that the history data is received from the first chatbot server 20-1 to continue the description.

단계 S510에서, 이력 데이터에 미응답된 질의 또는 부정적인 피드백을 받은 질의가 존재하는지 판정된다.In step S510, it is determined whether there is an unanswered query or a negative feedback query in the historical data.

단계 S520에서, 존재 판정에 응답하여, 상기 질의들에 대한 추천 응답이 입력된다. 이를테면, 상기 추천 응답은 관리자에 의해 입력될 수 있다. 다른 몇몇 실시예에서는, 축적된 이력 데이터를 분석하여 추천 응답이 자동으로 생성될 수도 있다. 가령, 유사한 질의에 대한 응답들 중에서 피드백이 매우 긍정적이었던 응답이 추천 응답으로 생성될 수 있다.In step S520, in response to the presence determination, a recommendation response to the queries is input. For example, the recommendation response may be input by an administrator. In some other embodiments, recommendation responses may be generated automatically by analyzing accumulated historical data. For example, a response in which feedback is very positive among responses to similar queries may be generated as a recommended response.

단계 S530에서, 복수의 서비스 도메인 중 적어도 일부가 업데이트 대상으로 추천된다. 상세하게는, 제1 챗봇 서버(20-1)와 연관된 제1 서비스 도메인과 다른 서비스 도메인과의 유사도에 기초하여 상기 적어도 일부가 업데이트 대상으로 추천될 수 있다.In step S530, at least a part of the plurality of service domains is recommended as an update target. In detail, based on the similarity between the first service domain associated with the first chatbot server 20-1 and other service domains, the at least a portion may be recommended as an update target.

본 단계 S530에서, 업데이트 대상을 결정하는 구체적인 방식은 실시예에 따라 달라질 수 있다.In this step S530, a specific method of determining an update target may vary according to an embodiment.

몇몇 실시예에서, 상기 업데이트 대상은 상기 제1 서비스 도메인을 포함하고, 상기 제1 서비스 도메인과의 유사도가 기준치 이상인 서비스 도메인을 더 포함할 수 있다.In some embodiments, the update target includes the first service domain, and may further include a service domain having a similarity with the first service domain that is greater than or equal to a reference value.

몇몇 실시예에서는, 같은 계층에 위치한 서비스 도메인들 중에서(정확하게는, 상위 도메인이 동일한 서비스 도메인들 중에서) 상기 유사도가 기준치 이상인 서비스 도메인의 개수가 임계치 이상인 경우, 상기 서비스 도메인들의 상위 서비스 도메인이 업데이트 대상으로 추천될 수 있다. 이해의 편의를 제공하기 위해, 본 실시예에 대하여 도 17을 참조하여 부연 설명하도록 한다. 도 17은 제1 챗봇 서버(20-1)와 연관된 제1 서비스 도메인이 B 호텔 도메인(151)이고 상기 기준치가 "80%"이며, 임계치가 "1/2"인 경우를 예시하고 있다.In some embodiments, if the number of service domains having a similarity or higher than the threshold value is greater than or equal to a threshold value among service domains located in the same layer (exactly, among the service domains having the same upper domain), the upper service domain of the service domains is subject to update Can be recommended as To provide convenience of understanding, the present embodiment will be described in detail with reference to FIG. 17. FIG. 17 illustrates a case where the first service domain associated with the first chatbot server 20-1 is the B hotel domain 151, the reference value is "80%", and the threshold value is "1/2".

도 17에 도시된 계층 구조(150)를 참조하면, B 호텔 도메인(151)과 같은 계층의 서비스 도메인들(151 내지 155) 중에 유사도가 기준치 이상인 서비스 도메인(151, 153)이 2개로 카운팅된다. 카운팅된 개수가 전체(3개)의 1/2 이상이므로, 상위 서비스 도메인(159)이 업데이트 대상으로 추천될 수 있다. 상위 서비스 도메인(159)을 업데이트 대상으로 추천하는 이유는, 유사도가 높은 주변 서비스 도메인(e.g. 153, 155)이 다수 존재할수록 B 호텔 도메인(151)에서 얻어진 이력 데이터가 공통 부분에 해당할 가능성이 높기 때문이다.Referring to the hierarchical structure 150 illustrated in FIG. 17, among service domains 151 to 155 of the same layer as the B hotel domain 151, two service domains 151 and 153 having a similarity or higher than the reference value are counted. Since the counted number is more than 1/2 of the total (three), the upper service domain 159 may be recommended as an update target. The reason for recommending the upper service domain 159 as an update target is that the higher the number of surrounding service domains (eg 153, 155) with high similarity, the higher the likelihood that the historical data obtained from the B hotel domain 151 corresponds to the common part. Because.

도 17에 도시된 예에서, 상위 서비스 도메인(159)이 업데이트 대상으로 최종 결정되었다면, 상위 서비스 도메인(159)의 대화 모델이 업데이트되고, 하위 서비스 도메인(151 내지 155)의 대화 모델 또한 상기 업데이트된 대화 모델에 따라 일괄 업데이트될 수 있다. 왜냐하면, 상위 대화 모델과 하위 대화 모델은 상속 관계에 있기 때문이다.In the example shown in FIG. 17, if the upper service domain 159 is finally determined to be updated, the conversation model of the upper service domain 159 is updated, and the conversation model of the lower service domains 151 to 155 is also updated. It can be updated in bulk depending on the conversation model. This is because the upper dialogue model and the lower dialogue model are inherited.

다른 몇몇 실시예에서는, 각각의 서비스 도메인과 연관된 대화 모델의 성능에 더 기초하여 업데이트 대상이 추천될 수 있다. 가령, 상기 제1 서비스 도메인과의 유사도가 기준치 이상인 서비스 도메인의 대화 모델들이 후보 대화 모델로 결정되고, 상기 후보 모델 중에서 성능이 임계치 이하인 모델이 업데이트 대상으로 추천될 수 있다. 전술한 바와 같이, 상기 대화 모델의 성능은 각 대화 모델과 연관된 시나리오의 개수, 미응답된 질의 개수, 응답된 질의에 대한 사용자 피드백 등에 기초하여 판단될 수 있다. 그러나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In some other embodiments, an update target may be recommended based further on the performance of the conversation model associated with each service domain. For example, conversation models of a service domain having similarity with the first service domain having a reference value or more are determined as candidate conversation models, and among the candidate models, a model having a performance below a threshold may be recommended as an update target. As described above, the performance of the conversation model may be determined based on the number of scenarios associated with each conversation model, the number of unanswered queries, and user feedback on the answered query. However, the technical scope of the present disclosure is not limited thereto.

단계 S540 및 S550에서, 업데이트 대상에 대한 정정이 필요한 경우, 대상 정정이 이루어질 수 있다. 이를테면, 업데이트 대상으로 추천된 서비스 도메인들 중에서 일부 서비스 도메인만이 실제 업데이트 대상으로 선택되거나, 추천되지 않은 서비스 도메인이 추가되는 등의 정정이 이루어질 수 있다. 단계 S540 및 S550은 업데이트 대상 선별의 정확도를 향상시키기 위해 관리자에 의해 수행될 수 있을 것이다. 물론, 필요에 따라, 단계 S540 및 S550은 생략될 수도 있다.In steps S540 and S550, when correction for an update target is required, the target correction may be performed. For example, a correction may be made such that only some service domains among service domains recommended as update targets are selected as actual update targets, or service domains not recommended are added. Steps S540 and S550 may be performed by the administrator to improve the accuracy of selection of the update target. Of course, if necessary, steps S540 and S550 may be omitted.

단계 S560에서, 업데이트 대상으로 결정된 서비스 도메인과 연관된 대화 모델이 업데이트된다.In step S560, the conversation model associated with the service domain determined to be updated is updated.

지금까지 도 16 및 도 17을 참조하여 본 개시의 다양한 실시예에 따른 대화 모델 업데이트 방법에 대하여 설명하였다. 상술한 방법에 따르면, 서비스 도메인 간 유사도, 성능 등의 지표에 기초하여 업데이트 대상(범위)에 대한 자동 추천이 이루어질 수 있다. 따라서, 대화 모델 관리에 투입되는 인적 비용은 절감되고, 관리자의 편의성은 더욱 향상될 수 있다.So far, a method of updating a conversation model according to various embodiments of the present disclosure has been described with reference to FIGS. 16 and 17. According to the above-described method, automatic recommendation for an update target (range) may be made based on indicators such as similarity and performance between service domains. Therefore, the human cost for managing the conversation model is reduced, and the convenience of the manager can be further improved.

이하에서는, 도 18을 참조하여 본 개시의 다양한 실시예에 따른 장치(e.g. 챗봇 서버 20, 관리 서버 30)을 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대해 설명하도록 한다.Hereinafter, an exemplary computing device 200 capable of implementing a device (e.g. chatbot server 20, management server 30) according to various embodiments of the present disclosure will be described with reference to FIG. 18.

도 18에 도시된 바와 같이, 컴퓨팅 장치(200)는 하나 이상의 프로세서(210), 버스(250), 통신 인터페이스(270), 프로세서(210)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(230)와, 컴퓨터 프로그램(291)을 저장하는 스토리지(290)를 포함할 수 있다. 다만, 도 18에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 18에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.As shown in FIG. 18, the computing device 200 includes a memory (for loading) a computer program performed by one or more processors 210, a bus 250, a communication interface 270, and a processor 210. 230, and a storage 290 for storing the computer program 291. However, only components related to the exemplary embodiment of the present disclosure are illustrated in FIG. 18. Accordingly, a person skilled in the art to which the present disclosure belongs may recognize that other general-purpose components may be further included in addition to the components illustrated in FIG. 18.

프로세서(210)는 컴퓨팅 장치(200)의 각 구성의 전반적인 동작을 제어한다. 프로세서(210)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(210)는 본 개시의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(200)는 하나 이상의 프로세서를 구비할 수 있다.The processor 210 controls the overall operation of each component of the computing device 200. The processor 210 includes a CPU (Central Processing Unit), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphic Processing Unit (GPU), or any type of processor well known in the art of the present disclosure. Can be. Also, the processor 210 may perform operations on at least one application or program for executing the method according to embodiments of the present disclosure. Computing device 200 may include one or more processors.

메모리(230)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(230)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 스토리지(290)로부터 하나 이상의 프로그램(291)을 로드할 수 있다. 메모리(230)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 아니한다.The memory 230 stores various data, commands and/or information. The memory 230 may load one or more programs 291 from the storage 290 to execute a method/operation according to various embodiments of the present disclosure. The memory 230 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(250)는 컴퓨팅 장치(200)의 구성 요소 간 통신 기능을 제공한다. 버스(250)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 250 provides communication functions between components of the computing device 200. The bus 250 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(270)는 컴퓨팅 장치(200)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(270)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(270)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 270 supports wired and wireless Internet communication of the computing device 200. Also, the communication interface 270 may support various communication methods other than Internet communication. To this end, the communication interface 270 may include a communication module well known in the art of the present disclosure.

스토리지(290)는 상기 하나 이상의 프로그램(291)과 각종 데이터를 비임시적으로 저장할 수 있다. 상기 각종 데이터는 대화 모델, 각종 이력 데이터 등을 포함할 수 있다. 스토리지(290)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 290 may store the one or more programs 291 and various data non-temporarily. The various data may include a conversation model, various history data, and the like. The storage 290 is well-known in the art of non-volatile memory such as read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, or the present disclosure. And any known form of computer-readable recording media.

컴퓨터 프로그램(291)은 메모리(230)에 로드될 때 프로세서(210)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다. 즉, 프로세서(210)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다.Computer program 291 may include one or more instructions that, when loaded into memory 230, cause processor 210 to perform methods/operations in accordance with various embodiments of the present disclosure. That is, the processor 210 may perform the methods/operations according to various embodiments of the present disclosure by executing the one or more instructions.

예를 들어, 컴퓨터 프로그램(291)은 계층적으로 정의된 복수의 서비스 도메인 중에서 대상 챗봇이 적용될 타깃 서비스 도메인을 결정하는 동작, 상기 타깃 서비스 도메인의 상위 서비스 도메인에 대한 제1 대화 모델을 얻는 동작, 상기 제1 대화 모델을 상속받아 상기 타깃 서비스 도메인의 제2 대화 모델을 생성하는 동작 및 상기 제2 대화 모델을 이용하는 상기 대상 챗봇을 통해 상기 타깃 서비스 도메인에 대한 챗봇 서비스를 제공하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 개시의 몇몇 실시예에 따른 챗봇 서버(20)가 구현될 수 있다.For example, the computer program 291 determines a target service domain to which a target chatbot is applied among a plurality of hierarchically defined service domains, and obtains a first conversation model for a higher service domain of the target service domain, To inherit the first conversation model to generate a second conversation model of the target service domain, and to perform an operation of providing a chatbot service for the target service domain through the target chatbot using the second conversation model It may include instructions. In this case, the chatbot server 20 according to some embodiments of the present disclosure may be implemented through the computing device 200.

다른 예를 들어, 컴퓨터 프로그램(291)은 대상 챗봇을 통해 사용자 단말로부터 질의를 수신하는 동작, 상기 대상 챗봇이 적용된 타깃 서비스 도메인의 대화 모델에 기반하여 상기 질의에 대한 응답 가능 여부를 판정하는 동작, 상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 상기 복수의 대화 모델 중에서 참조용 대화 모델을 선정하는 동작 및 상기 참조용 대화 모델을 이용하여 생성된 응답을 상기 대상 챗봇을 통해 제공하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 개시의 다른 몇몇 실시예에 따른 챗봇 서버(20)가 구현될 수 있다.For another example, the computer program 291 may receive a query from a user terminal through a target chatbot, and determine whether to respond to the query based on a conversation model of a target service domain to which the target chatbot is applied, In response to the determination that the response is not possible, an operation of selecting a reference conversation model from among the plurality of conversation models based on the similarity between service domains and a response generated using the reference conversation model through the target chatbot It may include instructions to perform the provided operation. In this case, the chatbot server 20 according to some other embodiments of the present disclosure may be implemented through the computing device 200.

또 다른 예를 들어, 컴퓨터 프로그램(291)은 복수의 서비스 도메인 중 제1 서비스 도메인에서 활용되는 제1 챗봇으로부터 미응답된 질의를 포함하는 질의 데이터를 얻어오는 동작, 상기 질의 데이터에 대한 추천 응답을 입력받는 동작, 상기 제1 서비스 도메인과 다른 서비스 도메인 간의 유사도에 기초하여 상기 복수의 서비스 도메인 중 적어도 일부를 업데이트 대상으로 추천하는 동작 및 상기 질의 데이터와 상기 추천 응답을 포함하는 업데이트용 데이터를 이용하여 상기 추천된 서비스 도메인과 연관된 대화 모델을 업데이트하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 개시의 몇몇 실시예에 따른 관리 서버(20)가 구현될 수 있다.For another example, the computer program 291 obtains query data including an unanswered query from a first chatbot utilized in a first service domain among a plurality of service domains, and recommends a response to the query data. Using an input operation, an operation of recommending at least a part of the plurality of service domains as an update target based on the similarity between the first service domain and another service domain, and using update data including the query data and the recommendation response And instructions for performing an operation of updating a conversation model associated with the recommended service domain. In this case, the management server 20 according to some embodiments of the present disclosure may be implemented through the computing device 200.

지금까지 도 18을 참조하여 본 개시의 다양한 실시예에 따른 장치를 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 설명하였다.So far, an exemplary computing device 200 capable of implementing an apparatus according to various embodiments of the present disclosure has been described with reference to FIG. 18.

지금까지 도 1 내지 도 18을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present disclosure and effects according to the embodiments have been described with reference to FIGS. 1 to 18. Effects according to the technical spirit of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 1 내지 도 18을 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described so far with reference to FIGS. 1 to 18 may be embodied as computer readable codes on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray Disc, USB storage device, removable hard disk), or a fixed recording medium (ROM, RAM, computer-equipped hard disk). Can. The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed on the other computing device, and thus used on the other computing device.

이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all components constituting the embodiments of the present disclosure are described as being combined or operated as one, the technical spirit of the present disclosure is not necessarily limited to these embodiments. That is, within the scope of the present disclosure, all of the components may be selectively combined and operated.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are shown in a specific order in the drawings, it should not be understood that the operations must be performed in a specific order or in a sequential order, or all illustrated operations must be executed to obtain a desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of various configurations in the above-described embodiments should not be understood as such a separation is not necessarily necessary, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is.

이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present disclosure have been described with reference to the accompanying drawings, those of ordinary skill in the art to which the present disclosure pertains may implement the present disclosure in other specific forms without changing its technical spirit or essential features. You can understand that there is. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of protection of the present disclosure should be interpreted by the claims below, and all technical spirits within the scope equivalent thereto should be interpreted as being included in the scope of the technical spirits defined by the present disclosure.

Claims (22)

컴퓨팅 장치에 의하여 수행되는 챗봇 서비스 제공 방법에 있어서,
계층적으로 정의된 복수의 서비스 도메인 중에서 대상 챗봇이 적용될 타깃 서비스 도메인을 결정하는 단계;
상기 타깃 서비스 도메인의 상위 서비스 도메인에 대한 제1 대화 모델을 얻는 단계;
상기 제1 대화 모델을 상속받아 상기 타깃 서비스 도메인의 제2 대화 모델을 생성하는 단계; 및
상기 제2 대화 모델을 이용하는 상기 대상 챗봇을 통해 상기 타깃 서비스 도메인에 대한 챗봇 서비스를 제공하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
A method for providing a chatbot service performed by a computing device,
Determining a target service domain to which a target chatbot is applied among a plurality of hierarchically defined service domains;
Obtaining a first conversation model for an upper service domain of the target service domain;
Generating a second conversation model of the target service domain by inheriting the first conversation model; And
And providing a chatbot service for the target service domain through the target chatbot using the second conversation model.
How to provide chatbot service.
제1 항에 있어서,
상기 챗봇 서비스를 제공하는 단계는,
사용자 단말로부터 질의를 수신하는 단계;
상기 제2 대화 모델을 이용하여 상기 질의에 대한 응답을 생성하는 단계; 및
상기 생성된 응답을 상기 사용자 단말에게 제공하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of providing the chatbot service,
Receiving a query from a user terminal;
Generating a response to the query using the second conversation model; And
Characterized in that it comprises the step of providing the generated response to the user terminal,
How to provide chatbot service.
제2 항에 있어서,
상기 질의에 대한 응답을 생성하는 단계는,
상기 질의에 포함된 의도(intent)를 추출하는 단계;
상기 제2 대화 모델을 통해 상기 의도에 부합하는 시나리오를 결정하는 단계; 및
상기 결정된 시나리오에 기반하여 상기 응답을 생성하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 2,
Generating a response to the query,
Extracting an intent included in the query;
Determining a scenario meeting the intention through the second conversation model; And
Characterized in that it comprises the step of generating the response based on the determined scenario,
How to provide chatbot service.
제1 항에 있어서,
상기 챗봇 서비스를 제공하는 단계는,
사용자 단말로부터 질의를 수신하는 단계;
상기 제2 대화 모델에 기초하여 상기 질의에 대한 응답 가능 여부를 판정하는 단계;
상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 상기 복수의 서비스 도메인 중에서 참조 서비스 도메인을 선정하는 단계; 및
상기 참조 서비스 도메인과 연관된 제3 대화 모델을 이용하여 생성된 응답을 상기 사용자 단말에게 제공하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 1,
The step of providing the chatbot service,
Receiving a query from a user terminal;
Determining whether a response to the query is possible based on the second conversation model;
In response to determining that the response is not possible, selecting a reference service domain from the plurality of service domains based on the similarity between service domains; And
Characterized in that it comprises the step of providing a response generated using the third conversation model associated with the reference service domain to the user terminal,
How to provide chatbot service.
제4 항에 있어서,
상기 참조 서비스 도메인을 선정하는 단계는,
상기 수신된 질의에 허용되는 기준 유사도를 만족하는 서비스 도메인을 상기 참조 서비스 도메인으로 선정하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 4,
The step of selecting the reference service domain,
And selecting a service domain that satisfies the criterion similarity allowed for the received query as the reference service domain,
How to provide chatbot service.
제4 항에 있어서,
상기 참조 서비스 도메인을 선정하는 단계는,
상기 유사도를 기초로 복수의 서비스 도메인 중에서 복수의 후보 서비스 도메인을 선정하는 단계;
상기 복수의 후보 서비스 도메인 각각의 대화 모델을 이용하여 복수의 응답을 생성하는 단계;
상기 복수의 응답 각각의 품질을 평가하는 단계; 및
상기 평가 결과를 기초로 상기 참조 서비스 도메인을 선정하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 4,
The step of selecting the reference service domain,
Selecting a plurality of candidate service domains from among a plurality of service domains based on the similarity;
Generating a plurality of responses using a conversation model of each of the plurality of candidate service domains;
Evaluating the quality of each of the plurality of responses; And
And selecting the reference service domain based on the evaluation result.
How to provide chatbot service.
제4 항에 있어서,
상기 사용자 단말로부터 상기 생성된 응답에 대한 피드백을 얻는 단계; 및
상기 피드백을 기초로 상기 참조 서비스 도메인에 대한 유사도를 조정하는 단계를 더 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 4,
Obtaining feedback on the generated response from the user terminal; And
And adjusting the similarity to the reference service domain based on the feedback.
How to provide chatbot service.
제4 항에 있어서,
상기 유사도는,
상기 타깃 서비스 도메인의 사양 정보와 다른 서비스 도메인의 사양 정보 간의 유사도에 기초하여 산출되는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
According to claim 4,
The similarity is,
Characterized in that it is calculated based on the similarity between the specification information of the target service domain and the specification information of another service domain,
How to provide chatbot service.
컴퓨팅 장치에서 복수의 서비스 도메인에서 활용되는 복수의 대화 모델을 이용하여 챗봇 서비스를 제공하는 방법에 있어서,
대상 챗봇을 통해 사용자 단말로부터 질의를 수신하는 단계;
상기 대상 챗봇이 적용된 타깃 서비스 도메인의 대화 모델에 기반하여 상기 질의에 대한 응답 가능 여부를 판정하는 단계;
상기 응답이 가능하지 않다는 판정에 응답하여, 서비스 도메인 간 유사도를 기초로 상기 복수의 대화 모델 중에서 참조용 대화 모델을 선정하는 단계; 및
상기 참조용 대화 모델을 이용하여 생성된 응답을 상기 대상 챗봇을 통해 제공하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
A method for providing a chatbot service using a plurality of conversation models utilized in a plurality of service domains on a computing device,
Receiving a query from a user terminal through a target chatbot;
Determining whether a response to the query is possible based on a conversation model of a target service domain to which the target chatbot is applied;
In response to determining that the response is not possible, selecting a reference conversation model from among the plurality of conversation models based on the similarity between service domains; And
And providing a response generated using the reference conversation model through the target chatbot.
How to provide chatbot service.
제9 항에 있어서,
상기 참조용 대화 모델을 선정하는 단계는,
상기 복수의 서비스 도메인 중에서 상기 수신된 질의에 허용되는 기준 유사도를 만족하는 서비스 도메인의 대화 모델을 상기 참조용 대화 모델로 선정하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 9,
The step of selecting the conversation model for reference,
And selecting a conversation model of a service domain that satisfies a criterion similarity allowed for the received query among the plurality of service domains as the reference conversation model.
How to provide chatbot service.
제9 항에 있어서,
상기 참조용 대화 모델을 선정하는 단계는,
상기 유사도를 기초로 복수의 서비스 도메인 중에서 복수의 후보 서비스 도메인을 선정하는 단계;
상기 복수의 후보 서비스 도메인 각각의 대화 모델을 이용하여 복수의 응답을 생성하는 단계;
상기 복수의 응답 각각의 품질을 평가하는 단계; 및
상기 평가 결과를 기초로 상기 참조용 대화 모델을 선정하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 9,
The step of selecting the conversation model for reference,
Selecting a plurality of candidate service domains from among a plurality of service domains based on the similarity;
Generating a plurality of responses using a conversation model of each of the plurality of candidate service domains;
Evaluating the quality of each of the plurality of responses; And
And selecting the dialogue model for reference based on the evaluation result.
How to provide chatbot service.
제9 항에 있어서,
상기 사용자 단말로부터 상기 생성된 응답에 대한 피드백을 얻는 단계; 및
상기 피드백을 기초로 상기 참조용 대화 모델과 연관된 서비스 도메인의 유사도를 조정하는 단계를 더 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 9,
Obtaining feedback on the generated response from the user terminal; And
And adjusting the similarity of service domains associated with the reference conversation model based on the feedback.
How to provide chatbot service.
제12 항에 있어서,
상기 피드백을 얻는 단계는,
지정된 시간 내에 상기 피드백이 수신되지 않는 경우, 상기 생성된 응답에 대한 피드백을 예측하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 12,
The step of obtaining the feedback,
And if the feedback is not received within a specified time period, predicting feedback for the generated response.
How to provide chatbot service.
제12 항에 있어서,
상기 피드백이 긍정적이라는 판정에 응답하여, 상기 수신된 질의와 상기 생성된 응답을 포함하는 대화쌍을 기초로 상기 타깃 서비스 도메인의 대화 모델을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 12,
In response to determining that the feedback is positive, further comprising updating a conversation model of the target service domain based on the conversation pair comprising the received query and the generated response,
How to provide chatbot service.
제12 항에 있어서,
상기 피드백이 부정적이라는 판정에 응답하여, 상기 수신된 질의를 관리 서버로 보고하는 단계;
상기 관리 서버로부터 상기 수신된 질의에 대한 추천 응답을 수신하는 단계; 및
상기 수신된 질의 및 상기 추천 응답을 포함하는 대화쌍을 기초로 상기 타깃 서비스 도메인의 대화 모델을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 12,
In response to determining that the feedback is negative, reporting the received query to a management server;
Receiving a recommendation response to the received query from the management server; And
And updating a conversation model of the target service domain based on the conversation pair including the received query and the recommended response.
How to provide chatbot service.
제9 항에 있어서,
상기 유사도는,
상기 타깃 서비스 도메인의 제1 사양 정보와 다른 서비스 도메인의 제2 사양 정보 간의 유사도에 기초하여 산출되는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 9,
The similarity is,
Characterized in that it is calculated based on the similarity between the first specification information of the target service domain and the second specification information of the other service domain,
How to provide chatbot service.
제16 항에 있어서,
상기 제1 사양 정보 및 상기 제2 사양 정보는 특정 의도와 연관된 사양 정보이고,
상기 유사도는 의도 별로 산출되며,
상기 참조용 대화 모델을 선정하는 단계는,
상기 질의에 포함된 의도를 추출하는 단계; 및
상기 추출된 의도에 대한 유사도를 기초로 상기 참조용 대화 모델을 선정하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 16,
The first specification information and the second specification information are specification information associated with a specific intention,
The similarity is calculated for each intention,
The step of selecting the conversation model for reference,
Extracting the intention included in the query; And
And selecting the dialogue model for reference based on the similarity to the extracted intention,
How to provide chatbot service.
컴퓨팅 장치에서 복수의 서비스 도메인에서 활용되는 복수의 챗봇을 이용하여 챗봇 서비스를 제공하는 방법에 있어서,
상기 복수의 서비스 도메인 중 제1 서비스 도메인에서 활용되는 제1 챗봇으로부터 미응답된 질의를 포함하는 질의 데이터를 얻어오는 단계;
상기 질의 데이터에 대한 추천 응답을 입력받는 단계;
상기 제1 서비스 도메인과 다른 서비스 도메인 간의 유사도에 기초하여 상기 복수의 서비스 도메인 중 적어도 일부를 업데이트 대상으로 추천하는 단계; 및
상기 질의 데이터와 상기 추천 응답을 포함하는 업데이트용 데이터를 이용하여 상기 추천된 서비스 도메인과 연관된 대화 모델을 업데이트하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
A method of providing a chatbot service using a plurality of chatbots utilized in a plurality of service domains on a computing device,
Obtaining query data including an unanswered query from a first chatbot utilized in a first service domain among the plurality of service domains;
Receiving a recommendation response to the query data;
Recommending at least a portion of the plurality of service domains as an update target based on the similarity between the first service domain and other service domains; And
And updating a conversation model associated with the recommended service domain by using the update data including the query data and the recommendation response.
How to provide chatbot service.
제18 항에 있어서,
상기 질의 데이터는 부정적인 사용자 피드백을 받은 질의를 더 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 18,
The query data is characterized in that it further comprises a query received negative user feedback,
How to provide chatbot service.
제18 항에 있어서,
상기 업데이트 대상으로 추천하는 단계는,
각각의 서비스 도메인과 연관된 대화 모델의 성능에 더 기초하여 상기 적어도 일부를 추천하는 단계를 포함하되,
상기 대화 모델의 성능은 각 대화 모델과 연관된 시나리오의 개수에 기초하여 결정되는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 18,
The recommended step for the update target,
Recommending at least some of the above based on the performance of the conversation model associated with each service domain,
Characterized in that the performance of the conversation model is determined based on the number of scenarios associated with each conversation model,
How to provide chatbot service.
제18 항에 있어서,
상기 업데이트 대상으로 추천하는 단계는,
각각의 서비스 도메인과 연관된 대화 모델의 성능에 더 기초하여 상기 적어도 일부를 추천하는 단계를 포함하되,
상기 대화 모델의 성능은 미응답된 질의 개수와 응답된 질의에 대한 사용자 피드백에 기초하여 결정되는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 18,
The recommended step for the update target,
Recommending at least some of the above based on the performance of the conversation model associated with each service domain,
The performance of the conversation model is determined based on the number of unanswered queries and user feedback on the answered queries,
How to provide chatbot service.
제18 항에 있어서,
상기 복수의 서비스 도메인은 계층적 구조로 정의되고,
상기 업데이트 대상을 추천하는 단계는,
상기 제1 서비스 도메인이 위치한 제1 계층에서, 상기 서비스 도메인 간 유사도가 기준치 이상인 서비스 도메인의 개수를 카운팅하는 단계; 및
상기 카운팅된 개수가 임계치 이상이라는 판정에 응답하여, 상기 제1 계층의 상위 계층에 위치한 제2 서비스 도메인을 상기 업데이트 대상으로 추천하는 단계를 포함하고,
상기 업데이트하는 단계는,
상기 업데이트용 데이터를 이용하여 상기 제2 서비스 도메인과 연관된 제1 대화 모델을 업데이트하는 단계; 및
상기 업데이트된 상기 제1 대화 모델을 기초로 상기 제2 서비스 도메인의 하위 서비스 도메인과 연관된 대화 모델을 일괄 업데이트하는 단계를 포함하는 것을 특징으로 하는,
챗봇 서비스 제공 방법.
The method of claim 18,
The plurality of service domains are defined in a hierarchical structure,
In the step of recommending the update target,
Counting the number of service domains in which the similarity between the service domains is greater than or equal to a reference value in a first layer in which the first service domain is located; And
And in response to a determination that the counted number is greater than or equal to a threshold, recommending a second service domain located in an upper layer of the first layer as the update target,
The updating step,
Updating a first conversation model associated with the second service domain using the update data; And
And updating the conversation model associated with a sub-service domain of the second service domain based on the updated first conversation model.
How to provide chatbot service.
KR1020190011620A 2019-01-30 2019-01-30 Method for providing chatbot service, apparatus and system thereof KR20200094311A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190011620A KR20200094311A (en) 2019-01-30 2019-01-30 Method for providing chatbot service, apparatus and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011620A KR20200094311A (en) 2019-01-30 2019-01-30 Method for providing chatbot service, apparatus and system thereof

Publications (1)

Publication Number Publication Date
KR20200094311A true KR20200094311A (en) 2020-08-07

Family

ID=72050019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011620A KR20200094311A (en) 2019-01-30 2019-01-30 Method for providing chatbot service, apparatus and system thereof

Country Status (1)

Country Link
KR (1) KR20200094311A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308448B1 (en) * 2021-03-09 2021-10-05 주식회사 스누아이랩 Apparatus for Infant Management and Driving Method Thereof
KR20220020058A (en) * 2020-08-11 2022-02-18 주식회사 스켈터랩스 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot
KR102596036B1 (en) * 2022-12-21 2023-11-01 주식회사 인조이웍스 System for providing artificial intelligence based unmanned store management service
WO2024079698A1 (en) * 2022-10-13 2024-04-18 Sumitomo Pharma Co., Ltd. Chatbot module facilitating insight evaluation and multi-sourced response generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089242A (en) 2017-01-31 2018-08-08 주식회사 머니브레인 Method, system and non-transitory computer-readable recording medium for generating dialogue contents according to output type for same at chatbot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089242A (en) 2017-01-31 2018-08-08 주식회사 머니브레인 Method, system and non-transitory computer-readable recording medium for generating dialogue contents according to output type for same at chatbot

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220020058A (en) * 2020-08-11 2022-02-18 주식회사 스켈터랩스 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot
KR102308448B1 (en) * 2021-03-09 2021-10-05 주식회사 스누아이랩 Apparatus for Infant Management and Driving Method Thereof
WO2024079698A1 (en) * 2022-10-13 2024-04-18 Sumitomo Pharma Co., Ltd. Chatbot module facilitating insight evaluation and multi-sourced response generation
KR102596036B1 (en) * 2022-12-21 2023-11-01 주식회사 인조이웍스 System for providing artificial intelligence based unmanned store management service

Similar Documents

Publication Publication Date Title
US11159457B2 (en) Chatbot orchestration
US11687811B2 (en) Predicting user question in question and answer system
US11645470B2 (en) Automated testing of dialog systems
US10360305B2 (en) Performing linguistic analysis by scoring syntactic graphs
US9196245B2 (en) Semantic graphs and conversational agents
US11600276B2 (en) Graph based prediction for next action in conversation flow
US8694304B2 (en) Semantic clustering and user interfaces
KR20200094311A (en) Method for providing chatbot service, apparatus and system thereof
US11763084B2 (en) Automatic formulation of data science problem statements
US10552426B2 (en) Adaptive conversational disambiguation system
US11250044B2 (en) Term-cluster knowledge graph for support domains
US10032448B1 (en) Domain terminology expansion by sensitivity
US11775894B2 (en) Intelligent routing framework
KR102307380B1 (en) Natural language processing based call center support system and method
US12026186B2 (en) Managing query systems for responding to queries based on attributes associated with a given query
US11144727B2 (en) Evaluation framework for intent authoring processes
US11100407B2 (en) Building domain models from dialog interactions
US20240087187A1 (en) Systems and methods for visualizing problem areas of an automated question answering system
US11621928B2 (en) Reducing toil in chat environments
US12020689B2 (en) Method to improve digital agent conversations
US20230177255A1 (en) Conversational agent counterfactual simulation
CN116956901A (en) Virtual dialog system dynamic context collection
US20200372112A1 (en) Evaluation framework for intent authoring processes
US20210287133A1 (en) Interoperable smart ai enabled evaluation of models