KR102148439B1 - Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario - Google Patents

Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario Download PDF

Info

Publication number
KR102148439B1
KR102148439B1 KR1020190132870A KR20190132870A KR102148439B1 KR 102148439 B1 KR102148439 B1 KR 102148439B1 KR 1020190132870 A KR1020190132870 A KR 1020190132870A KR 20190132870 A KR20190132870 A KR 20190132870A KR 102148439 B1 KR102148439 B1 KR 102148439B1
Authority
KR
South Korea
Prior art keywords
chatbot
block
scenario
user terminal
unit block
Prior art date
Application number
KR1020190132870A
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 KR1020190132870A priority Critical patent/KR102148439B1/en
Application granted granted Critical
Publication of KR102148439B1 publication Critical patent/KR102148439B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • G06Q50/30
    • 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/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (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

Provided is a method for providing a chatbot service providing a block-based adaptive development environment combined with API functions and scenarios. The method includes the steps of: uploading, into at least one kind of store platform, at least one unit block combined with at least one scenario and an application programing interface (API) for performing the at least one scenario; if a user terminal makes a purchase of any one of the at least one unit block or at least one combination through the at least one kind of store platform, selecting the purchased one or the at least one combination; and if the user terminal places the at least one unit block selected on the user terminal onto a scenario builder through a drag and drop action, setting a chatbot, which is created as at least one combination of at least one function of the at least one unit block combined on the scenario builder forms one scenario, to be operated on a platform designated by the user terminal. According to the present invention, an adaptive and flexible platform can be provided since scenarios and functions are all included in a block.

Description

API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 서버, 방법 및 시스템{SERVER, METHOD, AND SYSTEM FOR PROVIDING CHATBOT SERVICE WITH ADAPTIVE DEVELOPMENT ENVIRONMENT BASED ON BLOCK UNIT COMBINED API FUNCTION AND SCENARIO}A chatbot service providing server, method, and system that provides a block-based adaptive development environment that combines AI functions and scenarios {SERVER, METHOD, AND SYSTEM FOR PROVIDING CHATBOT SERVICE WITH ADAPTIVE DEVELOPMENT ENVIRONMENT BASED ON BLOCK UNIT COMBINED API FUNCTION AND SCENARIO}

본 발명은 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 서버에 관한 것으로, 시나리오 빌더 상 드래그 앤 드랍으로 단위 블럭을 조합하는 것만으로도 챗봇을 생성할 수 있는 유연한 개발 플랫폼을 제공한다.The present invention relates to a chatbot service providing server that provides a block-based adaptive development environment in which API functions and scenarios are combined. Flexible development capable of creating a chatbot by simply combining unit blocks by dragging and dropping on a scenario builder Provide a platform.

자연어 기반의 대화형 AI나 챗봇은 사용자가 직접 질의하여 정보를 찾는 주도적인 정보 습득이 가능한 구조를 지니고 있다. 이러한 주도적인 정보 습득 구조와 함께, 사회 관계망 서비스와 보편화된 스마트폰 등 다양한 커뮤니케이션 채널의 확대에 힘입어 챗봇은 차세대 소셜 플랫폼으로 떠오르고 있다. 현재 상용화할 수 있는 챗봇은 대부분 규칙 기반으로 이루어진 시스템으로서, 사전에 정의된 단어와 패턴에 의거하여 응답이 이루어지므로, 미리 정의되고 시스템에 학습된 패턴이 아닌 경우, 사용자 질의에 응답할 수 없는 한계점이 발생한다. 챗봇을 제공하는 기업 또는 사업자 또한 자신이 원하는 시나리오에 맞는 챗봇을 개발하기 위해서는 동일한 플랫폼과 매커니즘을 가지고 있는 챗봇이 존재함에도 이를 활용하지 못하고 처음부터 다시 개발해야 하므로 챗봇 개발은 늘 원점에서 시작한다.Natural language-based conversational AI or chatbots have a structure in which users can inquire directly to find information and acquire information proactively. Chatbots are emerging as the next generation social platform thanks to the proactive information acquisition structure and the expansion of various communication channels such as social network services and generalized smartphones. Chatbots currently commercially available are mostly rule-based systems, and responses are made based on pre-defined words and patterns.Therefore, if the patterns are not predefined and learned by the system, they cannot respond to user queries. This happens. In order to develop chatbots that are suitable for the scenarios they want, even though chatbots with the same platform and mechanism exist, companies or operators that provide chatbots cannot utilize them and have to re-develop them from scratch, so chatbot development always starts from the origin.

이때, 챗봇 개발자를 위하여 각 파라미터에 따라 별도로 다수의 별도로 구축하지 않고도 하나의 블록으로 챗봇을 제작할 수 있는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-1944353호(2019년04월17일 공고)에는, 제작자 단말로부터 적어도 하나의 문장을 입력받는 경우 적어도 하나의 문장에 포함된 각 단어에 대한 속성 정보인 파라미터 정보를 각 단어별로 추출하고, 제작자 단말이 선택한 두 개 이상의 파라미터 정보에 대한 그룹핑을 수행하고, 제작자 단말에 의해 제작된 챗봇은 사용자 단말이 챗봇 서비스 서버에 접속함으로써 구동되며, 챗봇은 사용자 단말이 입력한 채팅메시지의 문장으로부터 사전에 그룹핑된 두 개 이상의 파라미터 정보 중 어느 하나의 파라미터 정보를 추출한 경우 추출된 파라미터 정보를 참조하여 기 설정된 명령을 수행하는 구성이 개시되어 있다.At this time, for the chatbot developer, a method for producing a chatbot with one block without separately building a number of separate parameters according to each parameter has been researched and developed. In this regard, Korean Patent Registration No. 10-1944353 (2019) Announcement on April 17th), when at least one sentence is input from the producer terminal, parameter information, which is attribute information for each word included in at least one sentence, is extracted for each word, and two or more parameters selected by the producer terminal Grouping of information is performed, and the chatbot produced by the producer terminal is driven by the user terminal accessing the chatbot service server, and the chatbot is one of two or more parameter information grouped in advance from the sentences of the chat message input by the user terminal. When any one parameter information is extracted, a configuration for executing a preset command by referring to the extracted parameter information is disclosed.

다만, 상술한 구성을 이용한다고 할지라도 챗봇이 서비스될 시나리오를 생성할 때 단순히 시나리오를 제작할 수 있을 뿐이고, 각 파라미터의 기능을 단순 주합(Aggregation)하는 구성에 불과할 뿐 각 기업 및 사업자에 적응적인 유연한 플랫폼이 제공되지 못하여 챗봇의 적응적 개발은 다시 원점으로 회귀한다. 또한, 많은 비용과 인력을 투입하여 챗봇을 개발했다고 할지라도 챗봇의 시나리오가 개발자의 생각에 기반하여 작성되었기 때문에 실제 사용함에 있어서 문제가 생기거나 추가해야 할 사항이 발생하는 경우에는 다시 시나리오를 변경해야 하는데, 유지보수에 따른 비용과 인력투입이 불가피해지며 적응적인 챗봇을 제공하지 못함에 따른 손실이 또 발생하게 된다. 따라서, 시스템 관리자나 개발자 뿐만 아니라 각 기업 또는 사업자인 일반인도 사업 형태나 상황에 따라 적응적으로 개발 및 유지할 수 있는 챗봇 개발 플랫폼이 요구되고 있다.However, even if the above-described configuration is used, it is only possible to create a scenario when creating a scenario to be serviced by the chatbot, and it is only a configuration that simply aggregates the functions of each parameter. Due to the lack of a platform, adaptive development of chatbots goes back to the origin. In addition, even if the chatbot was developed by investing a large amount of money and manpower, the scenario of the chatbot was created based on the developer's thoughts, so if there is a problem or something to be added, the scenario must be changed again. However, maintenance costs and manpower input are inevitable, and losses are incurred due to failure to provide an adaptive chatbot. Accordingly, there is a need for a chatbot development platform that can adaptively develop and maintain not only system administrators and developers, but also individual companies or business owners according to business types and circumstances.

본 발명의 일 실시예는, 시나리오 빌더 상에 사용자의 드래그 앤 드롭으로 올려진 적어도 하나의 단위 블럭을 이용하여 챗봇을 생성함으로써, 개발자 뿐만 아니라 일반인도 시나리오가 결합된 블럭의 조합으로 원하는 챗봇을 제작할 수 있으며, 시스템 관리자 뿐만 아니라 일반인들도 자유롭게 블럭을 생성 및 판매할 수 있는 구조이므로 누구나 수익창출이 가능하고, 블럭 자체에 시나리오와 기능이 모두 포함되어 있기 때문에 적응적이면서도 유연한 플랫폼을 제공할 수 있는, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.According to an embodiment of the present invention, by creating a chatbot using at least one unit block uploaded by a user's drag and drop on a scenario builder, not only the developer but also the general public can create a desired chatbot with a combination of blocks combined with the scenario. It is a structure in which not only system administrators but also general people can freely create and sell blocks, so anyone can generate revenue, and because the block itself contains both scenarios and functions, it is possible to provide an adaptive and flexible platform. , It is possible to provide a chatbot service providing method that provides a block-based adaptive development environment in which API functions and scenarios are combined. However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드하는 단계, 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 적어도 하나의 종류의 스토어 플랫폼을 통하여 사용자 단말에서 구매하는 경우, 구매한 어느 하나 또는 적어도 하나의 조합을 선택받는 단계, 및 시나리오 빌더 상에 사용자 단말에서 선택된 적어도 하나의 단위 블럭을 사용자 단말에서 드래그 앤 드랍 방식으로 올려지면, 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능의 적어도 하나의 조합이 하나의 시나리오를 이루며 구현되는 챗봇이 사용자 단말에서 지정한 플랫폼 상에서 구동되도록 설정하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, an embodiment of the present invention is a combination of at least one scenario and an API (Application Programming Interface) for executing at least one scenario to at least one kind of store platform. Uploading at least one unit block, when purchasing any one or at least one combination of at least one unit block from a user terminal through at least one type of store platform, the purchased one or at least one combination At least one of at least one function of the at least one unit block combined on the scenario builder when the selected step, and when at least one unit block selected from the user terminal is uploaded on the scenario builder by a drag-and-drop method from the user terminal. It includes the step of setting the chatbot to be executed on the platform designated by the user terminal as the combination forms one scenario.

여기서, 챗봇 서비스 제공 서버는, 사용자 단말에서 적어도 하나의 단위 블럭 중 어느 하나의 단위 블럭 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어처리 모듈이 결합된 챗봇을 생성하여 사용자 단말로 전송할 수 있다.Here, when the user terminal selects any one unit block or a plurality of unit blocks, the chatbot service providing server generates a chatbot in which the selected unit block and the natural language processing module are combined and transmits it to the user terminal. I can.

본 발명의 다른 실시예는, 적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드하는 업로드부, 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API가 결합된 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 적어도 하나의 종류의 스토어 플랫폼을 통하여 사용자 단말에서 구매하는 경우, 구매한 어느 하나 또는 적어도 하나의 조합을 선택받는 선택부, 및 시나리오 빌더 상에 사용자 단말에서 선택된 적어도 하나의 단위 블럭을 사용자 단말에서 드래그 앤 드랍 방식으로 올려지면, 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능이 구현되는 챗봇이 사용자 단말에서 지정한 플랫폼 상에서 구동되도록 설정하는 설정부를 포함한다.Another embodiment of the present invention is an upload unit for uploading at least one unit block to which at least one scenario and an API (Application Programming Interface) for executing at least one scenario are combined to at least one kind of store platform, at least Any one or at least one combination of at least one unit block in which one scenario and an API for executing at least one scenario are combined is purchased from a user terminal through at least one kind of store platform, any one purchased Alternatively, when at least one unit block selected from the user terminal is placed on the selection unit for selecting at least one combination, and at least one unit block selected from the user terminal on the scenario builder, at least one unit block combined on the scenario builder It includes a setting unit for setting the chatbot on which one function is implemented to run on the platform designated by the user terminal.

본 발명의 또 다른 실시예는, 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 제공하고, 단위 블럭이 선택되는 경우 시나리오 빌더 상에 선택된 단위 블럭을 올려 챗봇을 생성하는 챗봇 서비스 제공 서버, 및 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 단위 블럭의 조합을 적어도 하나의 종류의 스토어 플랫폼으로부터 선택 및 구매하여 시나리오 빌더 상에 올리고, 적어도 하나의 단위 블럭에 기반하여 생성된 챗봇을 구동 또는 공유하는 사용자 단말을 포함한다.Another embodiment of the present invention provides at least one unit block in which at least one scenario and an API (Application Programming Interface) for executing at least one scenario are combined, and when the unit block is selected, on the scenario builder A chatbot service providing server that generates a chatbot by uploading the selected unit block, and a combination of at least one unit block or at least one unit block are selected and purchased from at least one type of store platform and placed on the scenario builder, It includes a user terminal that drives or shares a chatbot generated based on at least one unit block.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 시나리오 빌더 상에 사용자의 드래그 앤 드롭으로 올려진 적어도 하나의 단위 블럭을 이용하여 챗봇을 생성함으로써, 개발자 뿐만 아니라 일반인도 시나리오가 결합된 블럭의 조합으로 원하는 챗봇을 제작할 수 있으며, 시스템 관리자 뿐만 아니라 일반인들도 자유롭게 블럭을 생성 및 판매할 수 있는 구조이므로 누구나 수익창출이 가능하고, 블럭 자체에 시나리오와 기능이 모두 포함되어 있기 때문에 적응적이면서도 유연한 플랫폼을 제공할 수 있다.According to any one of the above-described problem solving means of the present invention, by creating a chatbot using at least one unit block uploaded by a user's drag and drop on the scenario builder, not only the developer but also the general public can use the block to which the scenario is combined. Anyone can create and sell blocks freely as well as system administrators as well as system administrators can freely create and sell blocks, and since the block itself contains both scenarios and functions, it is adaptive and flexible. Platform can be provided.

도 1은 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 챗봇 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 도 1의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a view for explaining a chatbot service providing system that provides a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a chatbot service providing server included in the system of FIG. 1.
3 is a view for explaining an embodiment in which a chatbot service providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention is implemented.
FIG. 4 is a diagram illustrating a process of transmitting and receiving data between components included in a chatbot service providing system providing a block-based adaptive development environment in which the API functions and scenarios of FIG. 1 are combined according to an embodiment of the present invention. to be.
5 is a flowchart illustrating a method for providing a chatbot service providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included, and one or more other features, not excluding other components, unless specifically stated to the contrary. It is to be understood that it does not preclude the presence or addition of any number, step, action, component, part, or combination thereof.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. The terms "about", "substantially" and the like, as used throughout the specification, are used in or close to the numerical value when manufacturing and material tolerances specific to the stated meaning are presented, and are used in the sense of the present invention. To assist, accurate or absolute figures are used to prevent unfair use of the stated disclosure by unscrupulous infringers. As used throughout the specification of the present invention, the term "step (to)" or "step of" does not mean "step for".

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다. In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by the terminal, device, or device may be performed instead in a server connected to the terminal, device, or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal, device, or device connected to the server.

본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal means mapping or matching the unique number of the terminal or the identification information of the individual, which is the identification information of the terminal. Can be interpreted as.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 챗봇 서비스 제공 서버(300), 적어도 하나의 쇼핑몰 서버(400)를 포함할 수 있다. 다만, 이러한 도 1의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a view for explaining a chatbot service providing system that provides a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention. Referring to FIG. 1, a chatbot service providing system 1 providing a block-based adaptive development environment in which API functions and scenarios are combined, at least one user terminal 100, a chatbot service providing server 300, at least one May include a shopping mall server 400 of. However, since the chatbot service providing system 1 that provides a block-based adaptive development environment in which the API functions and scenarios of FIG. 1 are combined is only an embodiment of the present invention, the present invention is limited to interpretation through FIG. It does not become.

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 챗봇 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 쇼핑몰 서버(400)과 연결될 수 있다. 또한, 적어도 하나의 쇼핑몰 서버(400)는, 네트워크(200)를 통하여 챗봇 서비스 제공 서버(300)와 연결될 수 있다. In this case, each component of FIG. 1 is generally connected through a network 200. For example, as shown in FIG. 1, at least one user terminal 100 may be connected to the chatbot service providing server 300 through the network 200. In addition, the chatbot service providing server 300 may be connected to at least one user terminal 100 and at least one shopping mall server 400 through the network 200. In addition, at least one shopping mall server 400 may be connected to the chatbot service providing server 300 through the network 200.

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 와이파이(Wi-Fi), NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.Here, the network refers to a connection structure in which information exchange is possible between respective nodes such as a plurality of terminals and servers, and examples of such networks include RF, 3rd Generation Partnership Project (3GPP) network, and Long Term (LTE). Evolution) network, 5GPP (5th Generation Partnership Project) network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network) , PAN (Personal Area Network), Bluetooth (Bluetooth) network, Wi-Fi, NFC network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, Visible Light Communication (VLC), LiFi and the like are included, but are not limited thereto.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term “at least one” is defined as a term including the singular number and the plural number, and even if the term “at least one” does not exist, each component may exist in the singular or plural, and may mean the singular or plural. It will be self-evident. In addition, it will be possible to change according to the embodiment that each component is provided in a singular or plural.

적어도 하나의 사용자 단말(100)은, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 챗봇을 제작 또는 개발하는 일반인, 판매자, 개발자, 기업 등의 단말일 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 챗봇을 제작 또는 개발할 때 원하는 단위 블럭을 선택하는 인터페이스를 통하여 자신만의 챗봇을 생성하거나 편집 또는 변형하는 사용자의 단말일 수 있다. 그리고, 적어도 하나의 사용자 단말(100)은, 복수의 쇼핑몰 서버(400)의 페이지에 게재된 상품 데이터를 챗봇 서비스 제공 서버(300)로 전송하고, 챗봇 서비스 제공 서버(300)로부터 추천된 질의응답 데이터 셋을 수신하고, 어느 하나의 질의응답 데이터 셋을 선택하거나 변형 또는 편집하는 단말일 수 있다. 또한, 적어도 하나의 사용자 단말(100)은, 선택된 질의응답 데이터 셋을 시나리오에 포함시켜 챗봇을 생성하는 단말일 수 있다. At least one user terminal 100 is a general person or seller who creates or develops a chatbot using a web page, app page, program or application related to a chatbot service that provides a block-based adaptive development environment in which API functions and scenarios are combined. , It may be a terminal such as a developer or a company. At this time, the at least one user terminal 100 may be a terminal of a user who creates, edits, or transforms his own chatbot through an interface for selecting a desired unit block when creating or developing a chatbot. In addition, at least one user terminal 100 transmits product data posted on the pages of the plurality of shopping mall servers 400 to the chatbot service providing server 300, and answering questions recommended from the chatbot service providing server 300 It may be a terminal that receives the data set and selects, transforms, or edits any one of the Q&A data sets. In addition, the at least one user terminal 100 may be a terminal that generates a chatbot by including the selected Q&A data set in a scenario.

여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop), VR HMD(예를 들어, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR 등) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 여기서, VR HMD 는 PC용 (예를 들어, HTC VIVE, Oculus Rift, FOVE, Deepon 등)과 모바일용(예를 들어, GearVR, DayDream, 폭풍마경, 구글 카드보드 등) 그리고 콘솔용(PSVR)과 독립적으로 구현되는 스탠드 얼론(Stand Alone) 모델(예를 들어, Deepon, PICO 등) 등을 모두 포함한다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와, 웨어러블 디바이스, 및, 블루투스(BLE, Bluetooth Low Energy), NFC(Near-Field Communication), RFID(Radio-Frequency IDentification), 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. Here, the at least one user terminal 100 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer is, for example, a laptop with navigation, a web browser, a desktop, a laptop, a VR HMD (for example, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR, etc.) ), etc. In this case, the at least one user terminal 100 may be implemented as a terminal capable of accessing a remote server or terminal through a network. Here, VR HMD is for PC (for example, HTC VIVE, Oculus Rift, FOVE, Deepon, etc.), for mobile (for example, GearVR, DayDream, Storm Horse Racing, Google Cardboard, etc.) and console (PSVR) and It includes all standalone models (eg, Deepon, PICO, etc.) implemented independently. At least one user terminal 100, for example, as a wireless communication device that is guaranteed portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) ) All kinds of handheld-based wireless communication devices such as terminals, smartphones, smart pads, and tablet PCs, wearable devices, and Bluetooth (BLE, Bluetooth Low Energy) ), NFC (Near-Field Communication), RFID (Radio-Frequency IDentification), Ultrasound (Ultrasonic), infrared, Wi-Fi, Li-Fi (LiFi) can include various devices equipped with communication modules such as.

챗봇 서비스 제공 서버(300)는, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 적어도 하나의 사용자 단말(100)이 자신의 의도 및 시나리오에 맞게 챗봇을 제작 또는 개발할 수 있는 인터페이스를 제공하는 서버일 수 있다. 이를 위하여, 챗봇 서비스 제공 서버(300)는, 시나리오 뿐만 아니라, 이를 실행할 수 있는 API(Application Programing Interface)를 결합하여 단위 블럭으로 적어도 하나의 사용자 단말(100)로 제공하고, 사용자 단말(100)에서 단위 블럭을 선택하는 것만으로도, 즉, 프로그램에 대한 지식 없이도, 코딩따위는 하지 않아도, 또는 원점에서 시작하지 않도록, 원하는 기능을 가진 챗봇을 생성할 수 있도록 하는 서버일 수 있다. 이를 위하여, 챗봇 서비스 제공 서버(300)는, 적어도 하나의 종류의 시나리오와, 이를 응용 프로그램에 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 함께 블럭으로 결합시켜 데이터베이스를 구축한 서버일 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 상품을 등록한 적어도 하나의 쇼핑몰 페이지를 입력하는 경우, 적어도 하나의 쇼핑몰 페이지에 업로드된 상품 데이터를 수집 및 분석하여 상품 데이터에 적합한 질의응답 데이터 셋을 추천해주는 서버일 수 있다. 그리고, 추천된 질의응답 데이터 셋을 사용자 단말(100)에서 선택하는 경우, 챗봇 서비스 제공 서버(300)는, 선택된 질의응답 데이터 셋을 시나리오로 하는 단위 블럭을 챗봇에 삽입하여 고객의 질의에 응답을 제공하는 챗봇을 생성하는 서버일 수 있다. 여기서, 질의응답 데이터 셋을 추출하기 위해 챗봇 서비스 제공 서버(300)는, 텍스트나 이미지를 분석하는 엔진을 포함하는 서버일 수 있다.The chatbot service providing server 300 may be a server that provides a chatbot service web page, an app page, a program, or an application that provides a block-based adaptive development environment in which API functions and scenarios are combined. In addition, the chatbot service providing server 300 may be a server that provides an interface through which at least one user terminal 100 can produce or develop a chatbot according to its intention and scenario. To this end, the chatbot service providing server 300 combines not only a scenario, but also an API (Application Programming Interface) capable of executing it, and provides it to at least one user terminal 100 as a unit block, and the user terminal 100 It may be a server that allows you to create a chatbot with a desired function just by selecting a unit block, that is, without knowledge about the program, without coding, or starting from the origin. To this end, the chatbot service providing server 300 combines at least one type of scenario and an interface made to control functions provided by an operating system or a programming language together in a block so that it can be used in an application program. It can be the server that built the database. And, the chatbot service providing server 300, when inputting at least one shopping mall page in which a product is registered in the user terminal 100, collects and analyzes product data uploaded to at least one shopping mall page, and queries suitable for product data. It may be a server that recommends a response data set. In addition, when the recommended Q&A data set is selected from the user terminal 100, the chatbot service providing server 300 inserts a unit block using the selected Q&A data set as a scenario into the chatbot to respond to customer inquiries. It may be a server that creates a provided chatbot. Here, in order to extract the Q&A data set, the chatbot service providing server 300 may be a server including an engine that analyzes text or images.

여기서, 챗봇 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the chatbot service providing server 300 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like.

적어도 하나의 쇼핑몰 서버(400)는, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 쇼핑몰의 서버일 수 있다. 이때, 적어도 하나의 쇼핑몰 서버(400)는, 사용자 단말(100)의 쇼핑몰 페이지 및 쇼핑몰 페이지에 접근가능한 사용자 정보를 관리하는 서버일 수 있다. 그리고, 적어도 하나의 쇼핑몰 서버(400)는, 챗봇 서비스 제공 서버(300)로부터 사용자 단말(100)의 계정에 접근 및 쇼핑몰 페이지에 엑세스하는 경우, 이를 허용하는 서버일 수 있고, 쇼핑몰 페이지에 질의응답 프레임 내에 챗봇 서비스 제공 서버(300)에서 등록된 데이터를 입력하여 저장하는 서버일 수 있다. The at least one shopping mall server 400 may be a server of a shopping mall using a chatbot service related web page, an app page, a program, or an application that provides a block-based adaptive development environment in which API functions and scenarios are combined. In this case, the at least one shopping mall server 400 may be a server that manages a shopping mall page of the user terminal 100 and user information accessible to the shopping mall page. In addition, at least one shopping mall server 400 may be a server that allows when accessing the account of the user terminal 100 and accessing the shopping mall page from the chatbot service providing server 300, and answering questions to the shopping mall page. It may be a server that inputs and stores data registered in the chatbot service providing server 300 in the frame.

여기서, 적어도 하나의 쇼핑몰 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the at least one shopping mall server 400 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like.

도 2는 도 1의 시스템에 포함된 챗봇 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3은 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.FIG. 2 is a block diagram illustrating a chatbot service providing server included in the system of FIG. 1, and FIG. 3 is a block diagram for providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention. A diagram for explaining an embodiment in which a chatbot service is implemented.

도 2를 참조하면, 챗봇 서비스 제공 서버(300)는, 업로드부(310), 선택부(320)와 설정부(330)를 포함할 수 있다.Referring to FIG. 2, the chatbot service providing server 300 may include an upload unit 310, a selection unit 320, and a setting unit 330.

본 발명의 일 실시예에 따른 챗봇 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 및 적어도 하나의 쇼핑몰 서버(400)로 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 및 적어도 하나의 쇼핑몰 서버(400)는, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 적어도 하나의 사용자 단말(100), 및 적어도 하나의 쇼핑몰 서버(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.The chatbot service providing server 300 or another server (not shown) that operates in conjunction with the chatbot service providing server 300 according to an embodiment of the present invention is used as at least one user terminal 100 and at least one shopping mall server 400 for API functions and scenarios. When transmitting a chatbot service application, program, app page, web page, etc. that provide a block-based adaptive development environment combined with, at least one user terminal 100 and at least one shopping mall server 400 Chatbot service applications, programs, app pages, web pages, etc. that provide a block-based adaptive development environment in which functions and scenarios are combined can be installed or opened. In addition, a service program may be driven in at least one user terminal 100 and at least one shopping mall server 400 by using a script executed in a web browser. Here, the web browser is a program that enables you to use the web (WWW: world wide web) service, and refers to a program that receives and displays hypertext described in HTML (hyper text mark-up language). For example, Netscape , Explorer, chrome, etc. In addition, the application means an application on the terminal, and includes, for example, an app that is executed on a mobile terminal (smartphone).

이하, 도 2를 통하여 본 발명의 일 실시예에 따른 챗봇 서비스를 설명하기 이전에, 챗봇의 개념을 간단히 설명한다.Hereinafter, before describing the chatbot service according to an embodiment of the present invention with reference to FIG. 2, the concept of the chatbot will be briefly described.

챗봇은 채팅과 로봇의 합성어로 로봇의 인공지능을 대화형 인터페이스에 접목한 기술로 인공지능을 기반으로 사람과 상호작용하는 대화형 시스템을 지칭한다. 챗봇은 인공지능 기술의 발전으로 머신러닝 또는 딥러닝 기술이 챗봇에 적용되어 사용자의 질문을 이해하고 의도를 파악하여 적합한 답변을 제시할 수 있게 되면서 더 복잡한 일을 수행하는 것이 가능해졌다. 또한, 스마트폰의 보급과 모바일 메신저 사용자가 급증하여 스마트 폰 사용자는 대부분 메신저 앱을 사용하고 있어 메신저 앱을 사용하여 챗봇 서비스를 제공하는 경우 새로운 앱 설치 없이 누구나 익숙한 환경에서 챗봇 서비스를 사용자들에게 공급할 수 있게 되었다. 이에 따라 기존 메신저 업체들은 챗봇 시장을 선점하기 위해 각자의 메신저 플랫폼 API를 공개함은 물론 인공지능 기술이 적용된 메신저 플랫폼을 개발하고 있다.Chatbot is a compound word of chat and robot, and refers to an interactive system that interacts with people based on artificial intelligence, a technology that combines the artificial intelligence of a robot with an interactive interface. With the advancement of artificial intelligence technology for chatbots, machine learning or deep learning technology is applied to chatbots to understand users' questions, understand their intentions, and provide appropriate answers, making it possible to perform more complex tasks. In addition, as the spread of smartphones and mobile messenger users increase rapidly, most smartphone users use messenger apps, so if you provide chatbot services using messenger apps, you can provide chatbot services to users in a familiar environment without installing new apps. Became possible. Accordingly, existing messenger companies are developing a messenger platform with artificial intelligence technology as well as opening their own messenger platform APIs to preoccupy the chatbot market.

챗봇은 동작방식에 따라 규칙기반 챗봇과 기계학습기반 챗봇, 정보교환방식에 따라 일회성 질의응답 챗봇과 연속대화형 챗봇, 답변생성방식에 따라 검색모델 챗봇과 생성모델 챗봇으로 분류할 수 있다. 규칙기반 챗봇은 미리 정의된 규칙을 기반으로 챗봇이 동작하게 되어 있는데, 사용자의 입력을 해석하는 해석규칙, 사용자의 입력에 대해 반응하는 반응 규칙 또는 응답을 생성하는 규칙을 포함하고 있다. 규칙기반 챗봇의 개발에는 대량의 데이터가 필요하지 않으며 상대적으로 구현이 쉬운데, 규칙기반 챗봇의 경우 규칙이 잘 정의되면 높은 품질의 대화 서비스가 가능하지만 많은 규칙을 잘 정의하는 데에는 많은 시간과 인력이 요구된다.Chatbots can be classified into rule-based chatbots and machine learning-based chatbots according to their operation method, one-time Q&A chatbots and continuous conversational chatbots according to information exchange method, and search model chatbots and generation model chatbots according to the answer generation method. The rule-based chatbot operates based on a predefined rule, and includes an interpretation rule that interprets the user's input, a reaction rule that responds to the user's input, or a rule that generates a response. Rule-based chatbot development does not require a large amount of data and is relatively easy to implement.For rule-based chatbots, high-quality conversation services are possible if rules are well defined, but a lot of time and manpower are required to well define many rules. do.

기계학습기반 챗봇은 자연어를 이해하고 적절한 답변을 생성하거나 선택하기 위해 기계학습 알고리즘을 사용한다. NLP(Natural Language Process) 모듈은 사용자가 입력한 자연어를 다양한 언어학적 자원을 활용해 분해하는 역할을 수행하고, NLU(Natural Language Understanding) 모듈은 분해된 자연어의 의미를 파악하여 정제된 정보를 답변을 생성하기 위한 최종 분류 모델 또는 생성모델로 전달하게 된다. 나아가 NLU 모듈의 결과물을 사용하여 기계학습 알고리즘은 기존에 정의된 답변을 선택하거나 NLG(Natural Language Generation) 모듈이 새로운 답변을 생성하게 된다. 기계학습 기반 챗봇은 높은 수준의 대화가 가능하지만 그만큼 높은 수준 자연어 처리기술을 필요로 하며, NLP 모듈 및 NLU 모듈은 많은 언어학적 자원 및 데이터를 요구한다.(말뭉치 사전, 형태소사전, 의미역 사전)Machine learning-based chatbots use machine learning algorithms to understand natural language and generate or select appropriate answers. The NLP (Natural Language Process) module decomposes the natural language input by the user by using various linguistic resources, and the NLU (Natural Language Understanding) module understands the meaning of the decomposed natural language and answers refined information. It is passed to the final classification model or generation model for generation. Furthermore, by using the result of the NLU module, the machine learning algorithm selects a previously defined answer or the NLG (Natural Language Generation) module generates a new answer. Machine learning-based chatbots can communicate at a high level, but require a high level of natural language processing technology, and the NLP module and NLU module require many linguistic resources and data (corporate dictionary, morpheme dictionary, semantic translation dictionary).

또한, 특정 태스크 수행을 위해 만들어진 기계학습 모듈은 적용 분야에 따라 새롭게 개발해야 하는 경우가 많으며 대부분 재활용이 어렵다. 일회성 질의응답 챗봇은 대화관리 기능을 필요로 하지 않으며 질문과 관련성이 가장 높은 답변을 제시하는 검색엔진과 유사한 형태로 작동한다. 자주 묻는 질문에 대한 정해진 답변을 제시하는 FAQ 챗봇의 대부분이 1회성 질의응답 형태로 설계된다. 연속 대화형 챗봇은 대화의 시작과 종료가 있으며 사용자로부터 특정한 목적을 달성하기 위해 정보를 수집하고, 수집된 정보를 바탕으로 최종 응답을 하면 대화가 종료된다. 챗봇이 다양한 주제에 대해 모든 응답을 하는 것이 불가능하므로 대부분 특정 대화의 주제에 따라 구조화된 대화의 형식(시나리오)이 정해져 있다. 정해진 시나리오에 따라 동작하는 챗봇 시스템을 프레임 기반 담화 시스템(Frame-based system)이라고 한다. 프레임 기반 담화 시스템은 사용자의 질문에 응답하기 위한 정보의 세트인 슬롯을 구성하여 슬롯에 기반을 두어 질문을 생성하고, 요구되는 정보가 수집된 상태에 따라 담화가 전개된다.In addition, machine learning modules made to perform a specific task often need to be newly developed depending on the application field, and most are difficult to recycle. One-time Q&A chatbots do not require a conversation management function and operate in a similar form to a search engine that presents the most relevant answers to questions. Most of the FAQ chatbots that provide fixed answers to frequently asked questions are designed in a one-time Q&A format. Continuous conversational chatbots have a conversation start and end, collect information from users to achieve a specific purpose, and end the conversation when a final response is made based on the collected information. Since it is impossible for chatbots to respond to various topics, most of them have a structured conversation format (scenario) depending on the topic of a specific conversation. A chatbot system that operates according to a predetermined scenario is called a frame-based system. The frame-based discourse system constructs a slot, which is a set of information for answering a user's question, generates a question based on the slot, and develops the discourse according to the state in which the requested information is collected.

검색기반 챗봇은 사용자의 질문에 따라 기존 지식 베이스에 저장된 답변 중 가장 적절한 답변을 선택하여 제시하는 방식으로 작동한다. 생성기반 챗봇은 사용자의 질문에 따라 기존에 정의되어 있지 않은 새로운 답변을 생성하여 제공한다. 생성모델의 챗봇은 답변을 생성하는데 자유도가 크기 때문에 문법적인 오류를 범하거나 일반적이지 않은 답변을 생성하는 경향이 있으며, 생성모델의 챗봇을 만들기 위해서는 굉장히 방대한 학습데이터가 필요하다. 현재 상용화된 챗봇은 대부분 검색기반 챗봇이거나 검색모델과 생성모델을 결합한 하이브리드 방식이며, 최근 많은 연구자들이 딥러닝 알고리즘(Encoder-Decoder, Seq2Seq)을 적용하여 챗봇을 만들기 위한 연구를 진행하고 있다.Search-based chatbots work by selecting and presenting the most appropriate answer among answers stored in the existing knowledge base according to the user's question. Generation-based chatbots generate and provide new answers that are not previously defined according to user questions. The generative model chatbot tends to make a grammatical error or generate an unusual answer because it has a large degree of freedom to generate an answer, and a very large amount of learning data is required to create a generative model chatbot. Currently, most commercially available chatbots are search-based chatbots or hybrid methods that combine a search model and a generation model, and recently, many researchers are conducting research to create a chatbot by applying a deep learning algorithm (Encoder-Decoder, Seq2Seq).

상술한 개념을 바탕으로 본 발명의 일 실시예를 도 2를 참고로 설명한다. 이하 도 2에서 설명되지 않은 내용들은 상술한 내용과 동일 또는 유사하거나 전제가 되는 중복되는 부분은 생략하기로 한다.An embodiment of the present invention will be described with reference to FIG. 2 based on the above-described concept. Hereinafter, contents not described in FIG. 2 will be omitted from overlapping parts that are the same, similar, or premised on the above-described contents.

업로드부(310)는, 적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 상기 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드할 수 있다. 이때, 적어도 하나의 단위 블럭은, 챗봇을 구성하는 적어도 하나의 블럭의 기능 또는 디자인에 대응하는 블럭일 수 있다. 이는, 수천 내지 수만가지가 될 수 있으나 그 종류의 개수를 한정하지는 않는다. 이때, 기능에 대응하는 블럭은, 지도보기, 배송조회, 결제조회, 회사 내선 번호 확인, 및 Q&A 엑셀데이터 밀어넣기를 포함하는 블럭일 수 있으나, 나열된 것들로 그 기능을 한정하지는 않는다. 또한, 디자인에 대응하는 블럭은, 상기 챗봇의 스킨에 대응하는 블럭일 수 있으나, 역시 나열되지 않았다는 이유로 경시되지 않는다.The upload unit 310 may upload at least one unit block to which at least one scenario and an application programming interface (API) for executing the at least one scenario are combined to at least one type of store platform. In this case, the at least one unit block may be a block corresponding to a function or design of at least one block constituting the chatbot. This may be thousands to tens of thousands, but the number of types is not limited. In this case, the block corresponding to the function may be a block including a map view, a delivery inquiry, a payment inquiry, a company extension number confirmation, and a Q&A Excel data push, but the function is not limited to those listed. Further, the block corresponding to the design may be a block corresponding to the skin of the chatbot, but is not downplayed because it is not listed.

선택부(320)는, 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 사용자 단말(100)로부터 선택받을 수 있다. 이때, 시나리오는, 챗봇 내에서 사용자가 경험할 수 있는 서비스 단위로 예를 들어 금융과 관련된 서비스를 제공하는 챗봇이 있다고 가정하면 이 챗봇이 제공할 수 있는 서비스 단위, 즉 시나리오는 예금, 적금, 대출, 연금, 방카슈랑스 등일 수 있고, 이 시나리오의 기능을 담당하는 것이 단위 블럭인데, 이의 조합으로 이루어지는 것이 시나리오이다. A-B-C의 단위 블럭이 모여 D의 시나리오를 만들 수도 있고, A-C-B의 단위 블럭이 모여 E의 시나리오를 만들 수도 있다. 결합된 순서나 조합 방법의 경우의 수에 따라 다양하게 이루어질 수 있는 것이 시나리오이고, 이를 구성하는 것이 단위 블럭이다. 시나리오 빌더에서는 사용자의 의도(Intent)를 응대하는 가장 작은 단위를 단위 블록(Block)이라고 하는데, 하나의 시나리오는 다양한 블록들이 모여서 이루어지게 된다. 즉, 챗봇 작업자는 이러한 시나리오 단위로 다수의 단위 블록들을 원하는 서비스 별로 그룹핑하여 체계적으로 관리할 수 있다.The selection unit 320 selects from the user terminal 100 any one or at least one combination of at least one scenario and at least one unit block in which an API (Application Programming Interface) for executing at least one scenario is combined I can receive it. At this time, the scenario is a service unit that the user can experience within the chatbot. Assuming that there is a chatbot that provides services related to finance, for example, the service unit that this chatbot can provide, that is, the scenario is deposit, savings, loan, It can be pension, bancassurance, etc. The unit block is responsible for the function of this scenario, and the scenario is a combination of these. Unit blocks of A-B-C can be combined to create a scenario for D, or unit blocks of A-C-B can be combined to create a scenario for E. A scenario is a scenario that can be performed in various ways depending on the number of combined order or combination method, and it is a unit block. In the scenario builder, the smallest unit that responds to the user's intent is called a unit block, and one scenario is formed by gathering various blocks. That is, the chatbot operator can systematically manage a number of unit blocks by grouping them by desired service in this scenario unit.

이때, 시나리오란, 상술한 바와 같이 사용자가 챗봇을 이용할 때 질의할 수 있는 각 경우의 수와 이에 대한 답변을 알고리즘 형태로 제작한 것인데, 상술한 바와 같이 시나리오는 모든 경우의 수를 개발자 또는 제작자가 파악하기가 불가능하고, 고객별로 질의하는 상황이 달라지거나 변수가 다양하기도 하며, 각 사용자(클라이언트, 판매자, 개발자)별로 어떠한 챗봇을 만드는지에 따라 원하는 시나리오가 다르기 때문에, 어느 하나의 챗봇이 만들어졌다고 해서 이를 재사용하는 것은 거의 불가능했다. 이에 따라, 본 발명의 일 실시예는, 각각의 단위 시나리오와, 이를 수행하기 위한 기능인 API를 결합하여 단위 블럭을 제공함으로써, 각 단위 블럭을 결합 또는 조합하는 것만으로도 챗봇을 만들 수 있는 플랫폼을 제공할 수 있다. 이때, API는 애플리케이션을 만들기 위한 하위함수, 프로토콜, 도구들의 집합일 수 있으며, 다양한 컴포넌트 간의 통신방법을 포함할 수 있다. 이는, 미리 프로그램된 모듈을 제공함으로써 시나리오를 실제로 스마트 폰 등에서 구동되도록 하기 때문에 API가 함께 제공되는 경우, 원하는 시나리오에 따라 프로그램을 일일이 짜지 않아도 챗봇을 만드는 것이 가능해진다.In this case, as described above, the scenario is the number of each case that the user can query when using the chatbot and the answer to it in the form of an algorithm.As described above, in the scenario, the developer or the producer It is impossible to grasp, the situation of querying for each customer varies, and there are various variables, and the desired scenario is different depending on what kind of chatbot each user (client, seller, developer) creates, so any one chatbot was created. It was almost impossible to reuse it. Accordingly, an embodiment of the present invention provides a unit block by combining each unit scenario and an API that is a function for performing it, thereby providing a platform for creating a chatbot simply by combining or combining each unit block. Can provide. In this case, the API may be a set of subfunctions, protocols, and tools for creating an application, and may include a communication method between various components. This is because a pre-programmed module is provided so that the scenario is actually driven on a smartphone, etc., so if an API is provided together, it becomes possible to create a chatbot without writing a program according to the desired scenario.

이때, 사용자 단말(100)은, 시나리오 빌더 상에 단위 블럭을 드래그 앤 드랍으로 간단히 단위 블럭을 올릴 수 있도록 하는 UI/UX를 출력하게 되는데, 사용자 단말(100)에서 드래그 앤 드랍으로 올린 단위 블럭들은 사용자가 의도한 서비스를 그 자체로 제공하기도 하고, 다른 단위 블럭과의 조합으로 제공하기도 한다. 이렇게 되면 프로그래머가 아니거나 일반인일지라도 간단하게 단위 블럭의 조합으로 시나리오를 짤 수 있고, 이를 구현하는 챗봇을 만들 수 있게 된다. 예를 들어, 물건을 전자상거래를 통하여 판매하는 판매자가 사용자라고 가정하면, 자신이 필요한 기능, 예를 들어, 고객센터직원을 챗봇으로 대체하고 싶다고 가정할 때, 배송 프로세스에 대한 질의응답기능, 지도보기기능, 배송트래킹 질의응답기능, 결제조회 질의응답기능 등을 포함하여 만들 수 있다. 물론 기능들은 나열된 것들로 한정되는 것은 아니다. At this time, the user terminal 100 outputs a UI/UX that allows the unit block to be simply uploaded by dragging and dropping the unit block on the scenario builder. The unit blocks uploaded by drag and drop by the user terminal 100 are The service intended by the user is provided by itself or in combination with other unit blocks. In this way, even if you are not a programmer or a general person, you can easily create a scenario with a combination of unit blocks and create a chatbot that implements it. For example, assuming that the user is a seller who sells goods through e-commerce, the functions he needs, for example, assuming that he wants to replace the customer center staff with a chatbot, is a question-and-answer function for the delivery process, and guidance. It can be created by including a viewing function, a shipping tracking query answering function, and a payment inquiry query answering function. Of course, the functions are not limited to those listed.

설정부(330)는, 시나리오 빌더 상에 사용자 단말(100)에서 선택된 적어도 하나의 단위 블럭을 사용자 단말(100)에서 드래그 앤 드랍 방식으로 올려지면, 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능이 구현되는 챗봇이 사용자 단말(100)에서 지정한 플랫폼 상에서 구동되도록 설정할 수 있다. 여기서, 적어도 하나의 단위 블럭에 대응하는 기능은, 챗봇에서 사용가능한 적어도 하나의 기능을 포함할 수 있고, 적어도 하나의 기능은, 전자상거래에 요구되는 적어도 하나의 기능을 포함할 수 있다.When the at least one unit block selected by the user terminal 100 is uploaded on the scenario builder by a drag-and-drop method from the user terminal 100, the setting unit 330 A chatbot in which at least one function is implemented may be set to run on a platform designated by the user terminal 100. Here, the function corresponding to the at least one unit block may include at least one function usable in the chatbot, and the at least one function may include at least one function required for e-commerce transactions.

이때, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 적어도 하나의 단위 블럭 중 어느 하나의 단위 블럭 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어처리 모듈이 결합된 챗봇을 생성하여 사용자 단말(100)로 전송할 수 있다. 또한, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 단위 블럭을 선택한 경우, 선택된 단위 블럭이 유료 또는 무료로 공유되는 공유 플랫폼을 제공할 수 있다. 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)로부터 적어도 하나의 쇼핑몰 페이지에 등록된 상품의 상품 데이터를 수집하여 전처리를 수행한 후 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 사용자 단말(100)로 추천하고, 추천된 질의응답 데이터 셋이 사용자 단말(100)에서 선택되는 경우, 선택된 질의응답 데이터 셋에 대응하도록 챗봇을 생성할 수 있다.In this case, when the user terminal 100 selects any one unit block or a plurality of unit blocks from the user terminal 100, the chatbot service providing server 300 provides a chatbot in which the selected unit block and the natural language processing module are combined. It can be generated and transmitted to the user terminal 100. In addition, the chatbot service providing server 300 may provide a sharing platform in which the selected unit block is shared for a fee or for free when a unit block is selected in the user terminal 100. The chatbot service providing server 300 collects product data of products registered on at least one shopping mall page from the user terminal 100, performs pre-processing, analyzes the product data, and stores a previously stored Q&A data set at the user terminal ( 100), and when the recommended Q&A data set is selected in the user terminal 100, a chatbot may be generated to correspond to the selected Q&A data set.

덧붙여서, 챗봇 서비스 제공 서버(300)는 적어도 하나의 시나리오에 포함된 자연어를 전처리, 해석 및 의도에 대응하는 결과를 출력할 수 있다. 챗봇 서비스 제공 서버(300)의 자연어 처리 단계(Natural Language Process)에서 주로 이루어지는 작업은 자연어에 대한 형태소 분석이다. 형태소 분석(POS-tagging)이란 원시 말뭉치(Corpus)를 형태소 단위로 쪼개고 각 형탯에 품사정보를 부작하는 작업을 말하며, 형태소, 어근, 접두사/접미사, 품사(POS, part-ofspeech) 등 다양한 언어적 속성의 구조를 파악할 수 있어서 챗봇을 이용하는 고객이나 클라이언트가 질의한 사항에 대하여 시나리오에 따라 답변을 수행하도록 한다. 그리고, 챗봇 서비스 제공 서버(300)의 자연어 이해(Natural Language Understanding) 단계에서는, 사용자(챗봇 사용자)의 입력을 분해한 후 분해된 개체들에 대해서 적절한 구문 및 의미체계를 결정하는 과정을 수행할 수 있다. 이때, 챗봇 서비스 제공 서버(300)의 자연어 이해 단계에서는, 일반개체명 인식, 세부 개체명 인식, 어휘의미분석, 구문분석, 의도분석 등의 처리를 수행할 수 있다. 개체명을 추출할 때 특정 도메인이나 태스크에서 챗봇이 작동하기 위해서는 세부 개체명 인식기(Specific-NER)를 더 이용할 수 있으며, 개체명 인식이나 의미역 결정에, 예를 들어, 은닉마르코프 모델(Hidden Markov model), 지지벡터기계학습모형(Support Vector Machines), 조건부 랜덤필드(Conditional Random Fields) 등의 통계적 모델링 뿐만 아니라, 딥러닝, 즉 FFNN(Feed-Forward Neural Network), CNN(Convolutional Neural Network), LSTM(Long Short Term Memory) 등을 이용할 수도 있다. 마지막으로, 챗봇 서비스 제공 서버(300)의 자연어 생성(Natural Language Generation) 단계에서는, 인간과 컴퓨터 간의 의사 전달을 위해 컴퓨터 내부의 지식표현으로부터 문법과 사전을 이용하여 그에 해당하는 자연언어 문장을 만들어 내는 과정을 수행할 수 있다. In addition, the chatbot service providing server 300 may pre-process, interpret, and output a result corresponding to the intention of the natural language included in at least one scenario. The task mainly performed in the natural language process of the chatbot service providing server 300 is morpheme analysis of natural language. The morpheme analysis (POS-tagging) refers to the work of dividing the primitive corpus into morpheme units and substituting part-of-speech information on each morpheme. Morphology, root, prefix/suffix, part-of-speech (POS, part-ofspeech), etc. The structure of the attribute can be grasped, so that the customer or the client using the chatbot responds to the query according to the scenario. And, in the natural language understanding step of the chatbot service providing server 300, after decomposing the input of the user (chatbot user), the process of determining an appropriate syntax and semantic system for the decomposed objects can be performed. have. At this time, in the natural language understanding step of the chatbot service providing server 300, processing such as general entity name recognition, detailed entity name recognition, vocabulary meaning analysis, syntax analysis, intention analysis, and the like may be performed. When extracting the entity name, in order to operate the chatbot in a specific domain or task, a specific entity name recognizer (Specific-NER) can be further used, and for entity name recognition or semantic determination, for example, Hidden Markov model (Hidden Markov model). model), Support Vector Machines, Conditional Random Fields, etc., as well as deep learning, i.e., FFNN (Feed-Forward Neural Network), CNN (Convolutional Neural Network), LSTM You can also use (Long Short Term Memory). Finally, in the natural language generation step of the chatbot service providing server 300, a natural language sentence corresponding to the grammar and dictionary is generated from the knowledge expression inside the computer for communication between humans and computers. The process can be carried out.

자연어 생성에 대한 과정은 다음과 같은 세 부분으로 나눠질 수 있는데, 첫째 무엇을 말할 것인지를 결정하는 전달할 정보를 나타내는 구조의 구성 부분, 둘째, 문장의 순서를 정하기 위한 대화 구조 및 문장에 대한 규칙을 적용하는 부분, 셋째, 실제 문장을 생성하기 위하여, 단어에 대한 정보 및 문장론적 규칙을 적용하는 부분을 포함할 수 있다. 그리고, 이렇게 챗봇 서비스 제공 서버(300)의 자연어 처리 기능이 시나리오 빌더와 합쳐지는 경우, 챗봇의 응답 생성방식에 따라 검색형 챗봇과 생성형 챗봇으로 생성될 수 있는데, 딥러닝 아키텍처 중 RNN의 변형인 Dual-encoder, Seq2seq등을 활용하여 자동으로 답변을 생성하는 생성형 챗봇이 생성될 수도 있다. seq2seq의 구조에서는 인코더에서 질의를 입력으로 받아 히든레이어에서 부호화되며, 디코더에서는 답변을 입력으로 받아 질문과 답변에 대한 학습을 하게 된다. 덧붙여서, 단어의 의미를 학습시키기 위한 워드 임베딩(word-embedding)이 더 추가될 수도 있다.The process of natural language generation can be divided into three parts: first, the component part of the structure representing the information to be conveyed, which determines what to say, and second, the dialogue structure to determine the order of the sentences and the rules for sentences. It may include a part to be applied, and thirdly, a part to apply information on words and a sentence-based rule in order to generate an actual sentence. And, in this case, when the natural language processing function of the chatbot service providing server 300 is combined with the scenario builder, it can be generated as a search-type chatbot and a generation-type chatbot according to the response generation method of the chatbot, which is a variant of RNN among the deep learning architecture. Generating chatbots that automatically generate answers using Dual-encoder, Seq2seq, etc. may be created. In the structure of seq2seq, the encoder receives a query as an input and is encoded in the hidden layer, and the decoder receives the answer as an input and learns about the question and answer. In addition, word-embedding for learning the meaning of words may be further added.

챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 적어도 하나의 단위 블럭 중 어느 하나의 단위 블럭 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어처리 기능이 결합된 챗봇을 생성하여 사용자 단말(100)로 전송할 수 있다. 예를 들어, 사용자가 남성용 운동화 판매자이고, 판매를 위한 안내 및 질의응답을 위해 챗봇을 생성한다고 가정하자. 고객이 구매예산을 입력하면 챗봇은 그에 적합한 상품을 추천해야 하는데, 예를 들어, "10만원 미만의 남성용 운동화"를 고객이 찾는다고 알려주면, 치수, 색상, 스타일 등을 되물은 후 이에 대응하는 판매 리스트를 찾아서 추천해줄 수 있다. 이를 위해서는, 가격, 색상, 치수, 스타일에 대응하는 상품 데이터베이스가 구축이 되어 있어야 하고, 챗봇의 단위 블럭은 고객으로부터 받은 정보에 대응하는 상품 리스트를 추출하는 기능을 수행하도록 정의되어 있어야 한다. 이에 따라, 호텔을 찾아주는 챗봇, 화장품을 추천해주는 챗봇, 옷을 추천해주는 챗봇, 고객의 영수증을 분석해 정기결제되는 내역을 파악하는 챗봇 등이 구현될 수 있으며, 각 단위 블럭을 모두 하나의 챗봇 내에 넣어서 구현할 수도 있으며, 자유자재로 단위 블럭을 편집함으로써 간단히 나만의 챗봇을 만들 수 있게 된다. When the user terminal 100 selects any one unit block or a plurality of unit blocks from the user terminal 100, the chatbot service providing server 300 generates a chatbot in which the selected unit block and natural language processing function are combined. It can be transmitted to the user terminal 100. For example, suppose a user is a seller of men's sneakers, and you create a chatbot to guide and answer questions for sales. When a customer enters a purchase budget, the chatbot should recommend a suitable product. For example, if the customer tells us that they are looking for "men's sneakers for less than KRW 100,000", it asks for dimensions, color, style, etc. You can find a sales list and recommend it. To do this, a product database corresponding to price, color, dimension, and style must be established, and the unit block of the chatbot must be defined to perform a function of extracting a product list corresponding to information received from customers. Accordingly, a chatbot that searches for a hotel, a chatbot that recommends cosmetics, a chatbot that recommends clothes, and a chatbot that analyzes customer receipts to determine the details of regular payments can be implemented, and each unit block can be integrated into one chatbot. It can also be implemented by putting it in, and you can create your own chatbot simply by editing the unit blocks freely.

덧붙여서, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 선택한 단위 블록으로 챗봇을 생성하지만, 디폴트로 전제되어야 하는 사항들을 더 제공할 수도 있다. 예를 들어, 챗봇을 제작 또는 개발할 때 가장 피해야 되는 것은 "이해하지 못했습니다"하고 대화가 끝나버리는 상황인데, '어떤 모델을 원하시나요?'란 질문에 단지 고객이 '싫어'라고 대답을 하는 등 시나리오에서 정의되지 않거나 전제되지 않은 답변을 할지라도 계속 적절한 질문을 하여 대화를 이어가야 한다. 또한 찾는 품목이 없을지라도 비슷한 제품을 보여주며 다른 선택을 유도해야 하며, 챗봇이 적절한 답변을 하지 못하는 상황이 반복되는 경우, 고객은 "하아, 답답하다"라거나 욕설이 포함된 발화를 하거나, 한숨을 쉬는 등의 답답함을 표시하는데, 이때 계속 챗봇이 대화를 이어나가기 보다는 바로 ARS의 상담원과 연결하여 고객이 쇼핑몰 페이지에서 벗어나는 것을 막아야 하는데, 이러한 단위 블록들을 임의로 또는 디폴트로 제공할 수도 있다.In addition, the chatbot service providing server 300 generates a chatbot with a unit block selected by the user terminal 100, but may further provide items that should be premised by default. For example, when creating or developing a chatbot, the most avoidable thing is the situation where the conversation ends with "I didn't understand". In scenarios, such as when the customer just answers the question "What model do you want?" Even with undefined or unpredictable answers, you should continue to ask appropriate questions and continue the conversation. In addition, even if there is no item you are looking for, you must show a similar product and induce other choices, and if the situation where the chatbot fails to answer appropriately is repeated, the customer will say "ha, frustrated" or utter a swearword or sigh. In this case, rather than continuing the conversation, the chatbot should immediately connect with an ARS agent to prevent the customer from leaving the shopping mall page, and these unit blocks can be provided arbitrarily or by default.

또한, 챗봇 서비스 제공 서버(300)는, 사전에 정의된 단어와 패턴에 의거하여 응답을 함은 물론, 미리 정의되고 시스템에 학습된 패턴이 아닌 경우일지라도 점진적인 학습 스타일을 제공할 수 있다. 고객의 질의가 정의되지 않아 질문의 의도를 파악할 수 없는 경우일지라도, 시스템에서 그 의도를 유사도 기반으로 결정하여 시스템의 성능을 향상시키는 방법이다. 또한, 해당 질의와 의도를 새롭게 자가학습하여, 더욱 폭 넓은 질의 처리와 추후 질의들에 대한 빠른 응답 처리를 수행하도록 한다. 우선, 챗봇에서 파악하지 못한 의도(Intent)는 먼저 엔티티(Entity)를 추출하여 해당 조합과 가장 유사한 의도로 결정하는데, 예를 들어, "스웨터를 찬물에 세제넣고 세탁기에 돌려도 될까?"라는 질의의 의도를 챗봇에서 파악하지 못하는 경우, 즉 시나리오에 없거나 정보가 없어서 의도를 파악하지 못하는 경우에는 "스웨터", "찬물", "세제", "세탁기", "돌려"라는 엔티티를 추출한 뒤, 위의 조합을 포함하고 있는 "스웨터 세탁 방법" 의도로 매핑하여 데이터베이스로부터 스웨터의 세탁방법 정보를 고객에게 응답하는 것이다. 추가적으로, 챗봇에서 의도를 파악하지 못한 질의를 학습시킴으로써, 이후 유사한 질의에 대해서는 자체적으로 응답할 수 있도록 하도록 구성하는 경우, 프로세스를 통하여 자체적으로 챗봇이 진화하게 되고, 고객의 질의를 예상하여 미리 학습시키는 과정이 불필요하며 질의에 포함된 엔티티만을 중심으로 응답을 생성할 수 있다. 따라서, 사용하는 고객이 많아질수록 성능 개선을 기대할 수 있게 된다.In addition, the chatbot service providing server 300 may respond based on predefined words and patterns, as well as provide a gradual learning style even if it is not a pattern that is predefined and learned in the system. This is a method to improve the performance of the system by determining the intention based on the similarity in the system even if the customer's query is not defined and the intention of the question cannot be determined. In addition, by newly self-learning the corresponding query and intention, it performs wider query processing and quick response processing to future inquiries. First of all, the intent that the chatbot did not understand is first extracted and determined as the most similar intent to the corresponding combination. For example, the query "Can I put the sweater in cold water and run it in the washing machine?" If the intent is not understood by the chatbot, that is, the intent is not understood because it is not in the scenario or there is no information, the entities such as "sweater", "cold water", "detergent", "washing machine", and "turn" are extracted, and the above It maps to the intention of "How to wash the sweater" containing the combination, and responds to the customer with information on how to wash the sweater from the database. In addition, if the chatbot learns a query that does not understand the intention, and is configured to respond to similar inquiries by itself, the chatbot evolves itself through the process, and the customer's query is expected and learned in advance. The process is unnecessary, and responses can be generated centered on entities included in the query. Therefore, as more customers use it, performance improvement can be expected.

챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 단위 블럭을 제작한 경우, 제작된 단위 블럭이 유료 또는 무료로 공유되는 공유 플랫폼을 제공할 수 있다. 예를 들어, 여성 비치 원피스를 판매하는 사용자(판매자)가 A,B,C,D의 단위 블럭을 제작하고, A,B,C,D 단위 블럭을 넣은 챗봇을 생성했다고 가정하자. 이때, A,B,C,D는 여성 비치 원피스를 판매할 때 고객에게 제공해야 할 정보나 고객이 원하는 질의에 대한 답변이나 요청을 수행하는 기능을 포함하고 있기 때문에, 다른 의류 판매자가 이를 이용할 때에는 반드시 A+B+C+D만을 포함해야 하는 것은 아니고, E가 포함되거나 A 내지 D 중 어느 하나가 변형되는 등의 과정을 거칠 수도 있다. 이에 따라, 챗봇 자체를 공유하기보다는 이를 만드는 원료인 각 단위 블럭을 각각 공유할 수 있도록 함으로써, 다른 사용자가 챗봇을 만들 때 용이하게 할 수 있으며, 처음부터 모두 프로그램을 짜야 하는 수고를 덜 수 있다.The chatbot service providing server 300 may provide a sharing platform in which, when a unit block is produced in the user terminal 100, the produced unit block is shared for a fee or for free. For example, suppose a user (seller) who sells a female beach dress creates a unit block of A, B, C, and D, and creates a chatbot with A, B, C, and D unit blocks. At this time, because A, B, C, and D contain information to be provided to customers when selling women's beach dresses, or functions to answer or request a customer's desired query, when other clothing sellers use it, It is not necessary to include only A+B+C+D, and E may be included or any one of A to D may be transformed. Accordingly, rather than sharing the chatbot itself, each unit block, which is a raw material for making it, can be shared separately, thereby making it easier for other users to create a chatbot, and reducing the trouble of writing a program from the beginning.

챗봇 서비스 제공 서버(300)는, 사용자 단말(100)로부터 적어도 하나의 쇼핑몰 페이지에 등록된 상품의 상품 데이터를 수집하여 전처리를 수행한 후 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 사용자 단말(100)로 추천하고, 추천된 질의응답 데이터 셋이 사용자 단말(100)에서 선택되는 경우, 선택된 질의응답 데이터 셋에 대응하도록 챗봇을 생성할 수 있다. 이때, 추천 모듈(350)은, 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 사용자 단말(100)로 추천하기 위한 텍스트 분석 엔진, OCR 텍스트 엔진, 유사이미지 검색 엔진, 및 카테고리 분석 엔진을 포함할 수 있다. The chatbot service providing server 300 collects product data of products registered on at least one shopping mall page from the user terminal 100, performs pre-processing, analyzes the product data, and stores a previously stored Q&A data set at the user terminal ( 100), and when the recommended Q&A data set is selected in the user terminal 100, a chatbot may be generated to correspond to the selected Q&A data set. At this time, the recommendation module 350 includes a text analysis engine, an OCR text engine, a similar image search engine, and a category analysis engine for recommending a previously stored Q&A data set to the user terminal 100 by analyzing product data. I can.

덧붙여서, 본 발명의 일 실시예에 따른 챗봇 서비스 제공 서버(300)는, 글의 맥락(context)을 고려할 수 있는 계층 순환신경망인 HRED(Hierarchical Recurrent Encoder-Decoder)는 문장 생성에 있어 빔서치(beam search)적용을 통해 모델을 개선시킬 수도 있다. 여기서, HRED는 순환신경망의 확장인데, 세 개의 순환신경망 모듈 Encoder RNN, Decoder RNN, Context RNN으로 구성될 수 있다. 기본적인 순환신경망이 Encoder와 Decoder의 정보만으로 문장을 생성한 것과 달리 맥락이라는 정보가 추가되어 문장 생성에서 완성도를 높이게 되는데, Encoder RNN에서 단어가 벡터로 인코딩되고 그 값이 Context RNN의 입력 값으로 입력되고, 벡터 값을 반환 받으면 Decoder RNN으로 들어가 마지막으로 문장을 출력한다. 빔서치는, 학습 과정에서 탐색기법으로 쓰이는데 순환신경망은 최고우선탐색(best first search)를 사용한다. 최고우선탐색이란 최상의 확률 값만 이용하는 것이므로, 빔서치는 위 탐색 방법을 기본으로 하되 그 범위를 지정해주어 탐색을 진행한다. 빔서치의 탐색 방법은, 우선 학습 과정에서 빔 범위가 N 일 때 현재 상태(state)에서 상위 N 개의 확률 값을 설정하고, 설정 후 각각 그 다음 상태의 입력값이 되고, N 개의 결과값을 만들게 되므로, 총 경우의 수는 N의 자승이 되는데, 그 중 상위의 N 개 값만 남기고 삭제하는 방법이다. 빔서치를 통해 하나의 입력 값으로 나온 다수의 결과들로 전체적인 문장의 정확도를 높일 수 있고 생성 문장의 성능을 향상시킬 수 있다. 물론, 정확한 답변을 생성하기 위한 방법이 상술한 방법에 한정되지 않으며 실시예에 따라 다양한 방법이 이용가능함은 자명하다 할 것이다.In addition, the chatbot service providing server 300 according to an embodiment of the present invention, a hierarchical recurrent encoder-decoder (HRED), which is a hierarchical recurrent neural network that can consider the context of an article, is a beam search in sentence generation. Search) can be applied to improve the model. Here, HRED is an extension of the cyclic neural network, and may be composed of three cyclic neural network modules Encoder RNN, Decoder RNN, and Context RNN. Unlike the basic circulatory neural network that generates sentences only with the information of the encoder and decoder, contextual information is added to improve the completeness in sentence generation.The words are encoded as vectors in the encoder RNN, and the values are input as input values of the context RNN. , When the vector value is returned, it enters the Decoder RNN and finally outputs the sentence. Beam search is used as a search method in the learning process, and the circulatory neural network uses the best first search. Since the highest priority search is to use only the best probability value, the beam search is based on the above search method, but the search is conducted by specifying the range. In the beam search method, first, when the beam range is N in the learning process, the top N probability values are set in the current state, and after setting, they are input values of the next state, and N result values are created. Therefore, the total number of cases becomes the power of N, and among them, only the upper N values are left and deleted. Through beam search, it is possible to increase the accuracy of the entire sentence and improve the performance of the generated sentence with a plurality of results obtained as one input value. Of course, it will be apparent that a method for generating an accurate answer is not limited to the above-described method, and that various methods may be used according to embodiments.

이하, 상술한 도 2의 챗봇 서비스 제공 서버의 구성에 따른 동작 과정을 도 3을 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.Hereinafter, the operation process according to the configuration of the chatbot service providing server of FIG. 2 will be described in detail with reference to FIG. 3 as an example. However, it will be apparent that the embodiment is only any one of various embodiments of the present invention, and is not limited thereto.

도 3a를 참조하면, (a) 챗봇 서비스 제공 서버(300)는 사용자 단말(100)에서 챗봇을 만들기 시작하면 적어도 하나의 단위 블럭을 제공하고, 사용자 단말(100)에서 선택한 단위 블럭을 사용자 단말(100)의 식별자와 매핑하여 저장한다. 그리고, 사용자가 판매자이고, 자신이 판매하는 상품이 게재된 쇼핑몰 페이지에 적절한 Q&A 또는 F&Q를 한꺼번에 등록하고 싶거나, 적절한 Q&A를 추천받아서 이를 챗봇에 넣고 싶은 경우, (b) 사용자 단말(100)은, 챗봇 서비스 제공 서버(300)에 자신이 판매하는 상품이 게재된 쇼핑몰 페이지에 대한 정보를 제공한다. 이때, 챗봇 서비스 제공 서버(300)는, 쇼핑몰 페이지에 엑세스하여 상품 데이터로부터 상품 정보를 추출하고, 텍스트라면 그대로 전처리 및 분석 과정을 거치고, 텍스트가 아니라면 상품 이미지에 텍스트가 존재하는지 확인을 하고, 상품 이미지 내에도 읽히는 텍스트가 없으면 유사이미지 검색, 그 마저도 없다면 상품명을 카테고리 분석하는 엔진을 이용해서 가장 유사한 질의응답 데이터 셋을 추출하고, 이를 사용자 단말(100)로 추천한다. 이때, 사용자 단말(100)에서 어느 하나의 질의응답 데이터 셋을 선택하는 경우, (c) 챗봇 서비스 제공 서버(300)은, 질의응답 데이터 셋에 기반하여 답변을 할 수 있는 단위 블럭을 포함, 사용자 단말(100)에서 선택한 다른 단위 블럭을 결합시켜 챗봇을 생성한다. 그리고, (d) 사용자 단말(100)에서 Q&A를 편집하거나, 고객 단말(미도시)에서 시나리오에 없는 질의를 하는 경우, 챗봇 서비스 제공 서버(300)는, 상술한 점진적 학습 기법으로 최대한 유사한 의도에 맞도록 엔티티를 추출하여 답변하고, 시나리오에 없는 구성을 이용하여 재학습을 수행하여 시나리오가 점진적으로 진화할 수 있도록 한다.Referring to FIG. 3A, (a) when the chatbot service providing server 300 starts to create a chatbot in the user terminal 100, it provides at least one unit block and selects the unit block selected by the user terminal 100 to the user terminal ( 100) is mapped and saved. And, if the user is a seller and wants to register an appropriate Q&A or F&Q at the same time on the shopping mall page where the product he sells is posted, or if he/she wants to receive an appropriate Q&A and put it into the chatbot, (b) the user terminal 100 , The chatbot service providing server 300 provides information on a shopping mall page on which the product it sells is posted. At this time, the chatbot service providing server 300 accesses the shopping mall page to extract product information from product data, and if it is text, it goes through pre-processing and analysis as it is, and if it is not text, it checks whether the text exists in the product image, and If there is no text to be read in the image, a similar image search is used, and if there is no text, the most similar Q&A data set is extracted using an engine that analyzes a product name by category, and recommends it to the user terminal 100. At this time, in the case of selecting any one Q&A data set from the user terminal 100, (c) the chatbot service providing server 300 includes a unit block capable of answering based on the Q&A data set, Another unit block selected by the terminal 100 is combined to create a chatbot. And, (d) when editing a Q&A in the user terminal 100 or a query that is not in the scenario in the customer terminal (not shown), the chatbot service providing server 300 can achieve similar intentions as much as possible with the above-described incremental learning technique. It extracts and answers entities to fit, and re-learns using configurations that are not in the scenario so that the scenario can gradually evolve.

도 3b 내지 도 3e는 본 발명의 일 실시예에 따른 챗봇을 적어도 하나의 블럭을 이용하여 시나리오를 구성한 후 생성하는 과정을 도시한 도면이다. 도 3b를 참조하면, 나의 메뉴에 존재하는 박스가 하나의 단위 블럭에 대응하는 아이콘이다. 이때, 아이블럭(단위 블럭) 쇼핑하기를 선택하는 경우, 도 3c와 같이 스토어에 연결되어 기능 또는 스킨 역할을 수행하는 아이블럭을 구매할 수 있는 플랫폼이 출력된다. 이때, 도 3b의 나의메뉴 프레임에 존재하는 아이블럭을 나의메뉴적용하기 프레임으로 드래그하는 경우, 우측의 챗봇 화면과 같이 제품문의 및 장착문의 등 선택한 아이블럭이 챗봇에 적용되게 된다. 이렇게 적용된 메뉴는 시나리오 작성을 통하여 챗봇 인터페이스 내에서 자동으로 시나리오를 도 3d와 같이 만들게 된다. 3B to 3E are diagrams illustrating a process of creating a chatbot after constructing a scenario using at least one block according to an embodiment of the present invention. Referring to FIG. 3B, a box present in My Menu is an icon corresponding to one unit block. At this time, when shopping for i-blocks (unit blocks) is selected, a platform for purchasing i-blocks, which is connected to the store and performs a function or skin role, is displayed as shown in FIG. 3C. At this time, when dragging the i-block existing in the My Menu frame of FIG. 3B to the Apply My Menu frame, the selected i-block, such as product inquiry and installation inquiry, is applied to the chatbot as shown in the chatbot screen on the right. The applied menu automatically creates a scenario as shown in FIG. 3D in the chatbot interface through scenario creation.

이때, 시나리오를 생성할 때, 아이블럭은 어느 하나의 기능이나 스킨을 수행하도록 국한되어 있는 것은 아님은 상술한 바와 같이 자명하다 할 것이며, 계속적으로 업데이트 또는 업로드될 수 있으므로 어느 하나의 기능으로 한정하지는 않는다. 시나리오는, 도 3d와 같이 시나리오 맵(Map)으로 시나리오 빌더에서 표시되는데, 주문 결제와 같은 경우, 결제문의, 배송기간, 주문취소, 교환&환불로 생성하는 경우, 챗봇에서도 도 3e와 같이 시나리오대로 동작하게 된다.At this time, when creating a scenario, it is self-evident that the iBlock is not limited to perform any one function or skin, as described above, and since it can be continuously updated or uploaded, it is not limited to any one function. Does not. Scenarios are displayed in the scenario builder as a scenario map as shown in FIG. 3D. In the case of order payment, payment inquiry, delivery period, order cancellation, exchange & refund, the chatbot operates according to the scenario as shown in FIG. 3E. Is done.

이와 같은 도 2 및 도 3의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.For details that are not described about the method of providing a chatbot service that provides a block-based adaptive development environment in which the API functions and scenarios of FIGS. 2 and 3 are combined, refer to FIG. 1 above, and block-based adaptation in which API functions and scenarios are combined. A method of providing a chatbot service providing an appropriate development environment is the same as the description or can be easily inferred from the description, so a description thereof will be omitted.

도 4는 본 발명의 일 실시예에 따른 도 1의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 4를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 4에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.FIG. 4 is a diagram illustrating a process of transmitting and receiving data between components included in a chatbot service providing system providing a block-based adaptive development environment in which the API functions and scenarios of FIG. 1 are combined according to an embodiment of the present invention. to be. Hereinafter, an example of a process in which data is transmitted/received between each component will be described through FIG. 4, but the present application is not limitedly interpreted as such an embodiment, and according to various embodiments described above, It is apparent to those skilled in the art that the process of transmitting and receiving data may be changed.

도 4를 참조하면, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)에서 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 선택하여 시나리오 빌더 상에 드래그 앤 드랍하면(S4100, S4200), 선택된 단위 블럭을 시나리오 빌더 상에 올리고 NLP를 결합시켜 챗봇을 생성한다(S4300).Referring to FIG. 4, the chatbot service providing server 300 selects any one or at least one combination of unit blocks from the user terminal 100 and drags and drops it onto the scenario builder (S4100, S4200), and the selected unit The block is placed on the scenario builder and NLP is combined to create a chatbot (S4300).

여기서, 챗봇 서비스 제공 서버(300)는, 사용자 단말(100)로 생성된 챗봇을 전송하여 구동되도록 하며(S4400, S4500), 챗봇 서비스 제공 서버(300)는 사용자 단말(100)에서 지정된 플랫폼 또는 적어도 하나의 쇼핑몰 서버(400)으로 공유한다(S4600).Here, the chatbot service providing server 300 transmits and drives the chatbot generated to the user terminal 100 (S4400, S4500), and the chatbot service providing server 300 is a platform designated by the user terminal 100 or at least It is shared by one shopping mall server 400 (S4600).

상술한 단계들(S4100~S4600)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S4100~S4600)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The order between the above-described steps S4100 to S4600 is only an example and is not limited thereto. That is, the order of the above-described steps S4100 to S4600 may be mutually changed, and some of the steps may be executed or deleted at the same time.

이와 같은 도 4의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 3을 통해 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.For details that are not described about the method of providing a chatbot service that provides a block-based adaptive development environment in which the API functions and scenarios of FIG. 4 are combined, the block-based adaptation in which API functions and scenarios are combined through FIGS. 1 to 3 above. A method of providing a chatbot service providing an appropriate development environment is the same as the description or can be easily inferred from the description, so a description thereof will be omitted.

도 5는 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법을 설명하기 위한 동작 흐름도이다. 도 5를 참조하면, 챗봇 서비스 제공 서버는, 적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드한다(S5100).5 is a flowchart illustrating a method for providing a chatbot service providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention. Referring to FIG. 5, the chatbot service providing server uploads at least one unit block in which at least one scenario and an application programming interface (API) for executing at least one scenario are combined to at least one kind of store platform. (S5100).

그리고, 챗봇 서비스 제공 서버는, 적어도 하나의 시나리오 및 적어도 하나의 시나리오를 수행하기 위한 API가 결합된 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 적어도 하나의 종류의 스토어 플랫폼을 통하여 사용자 단말에서 구매하는 경우, 구매한 어느 하나 또는 적어도 하나의 조합을 선택받는다(S5200).In addition, the chatbot service providing server provides at least one scenario and at least one unit block in which an API for executing at least one scenario is combined, or a combination of at least one type of the user terminal through at least one type of store platform. In the case of purchasing at, one or at least one of the purchased combinations is selected (S5200).

마지막으로, 챗봇 서비스 제공 서버는, 시나리오 빌더 상에 사용자 단말에서 선택된 적어도 하나의 단위 블럭을 사용자 단말에서 드래그 앤 드랍 방식으로 올려지면, 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능이 구현되는 챗봇이 사용자 단말에서 지정한 플랫폼 상에서 구동되도록 설정한다(S5300).Finally, the chatbot service providing server, when at least one unit block selected from the user terminal is uploaded on the scenario builder by drag-and-drop method from the user terminal, at least one function of at least one unit block combined on the scenario builder. The implemented chatbot is set to run on the platform designated by the user terminal (S5300).

이와 같은 도 5의 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.For details that are not described about the method of providing a chatbot service that provides a block-based adaptive development environment in which the API functions and scenarios of FIG. 5 are combined, the block-based adaptation in which the API functions and scenarios are combined through FIGS. 1 to 4 above. A method of providing a chatbot service providing an appropriate development environment is the same as the description or can be easily inferred from the description, so a description thereof will be omitted.

도 5를 통해 설명된 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The chatbot service providing method for providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment described with reference to FIG. 5 is a computer-executable command such as an application or program module executed by a computer. It may be implemented in the form of a recording medium including a. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The above-described method for providing a chatbot service providing a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention is an application basically installed in a terminal (this is a platform or operating system basically installed in the terminal, etc.). It can be executed by an application (that is, a program) directly installed on the master terminal through an application providing server such as an application store server, an application, or a web server related to the service. It can also be implemented. In this sense, the method for providing a chatbot service that provides a block-based adaptive development environment in which API functions and scenarios are combined according to an embodiment of the present invention described above is basically an application installed on a terminal or directly installed by a user (i.e. Program) and recorded on a computer-readable recording medium such as a terminal.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

Claims (7)

챗봇 서비스 제공 서버에서 실행되는 챗봇 서비스 제공 방법에 있어서,
적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 상기 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드하는 단계;
상기 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 상기 적어도 하나의 종류의 스토어 플랫폼을 통하여 사용자 단말에서 구매하는 경우, 상기 구매한 어느 하나 또는 적어도 하나의 조합을 선택받는 단계;
시나리오 빌더 상에 상기 사용자 단말에서 선택된 적어도 하나의 단위 블럭을 상기 사용자 단말에서 드래그 앤 드랍 방식으로 올려지면, 상기 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능의 적어도 하나의 조합이 하나의 시나리오를 이루며 구현되는 챗봇이 상기 사용자 단말에서 지정한 플랫폼 상에서 구동되도록 설정하는 단계; 및
상기 사용자 단말에서 상기 적어도 하나의 단위 블럭 중 어느 하나의 단위 블록 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어 처리 모듈이 결합된 챗봇을 생성하여 상기 사용자 단말로 전송하는 단계;를 포함하되,
상기 자연어처리 모듈은,
무엇을 말할 것인지를 결정하는 전달할 정보를 나타내는 구조의 구성 부분, 문장의 순서를 정하기 위한 대화 구조와 문장에 대한 규칙을 적용하는 부분, 및 실제 문장을 생성하기 위해 단어에 대한 정보와 문장론적 규칙을 적용하는 부분으로 구분하여 자연어를 생성하고,
상기 적어도 하나의 단위 블럭은 챗봇을 구성하는 적어도 하나의 블럭의 기능에 대응하는 블럭 또는 디자인에 대응하는 블럭이며,
상기 기능에 대응하는 블럭은 지도보기, 배송조회, 결제조회, 회사 내선번호 확인 및 Q&A 엑셀데이터 밀어넣기를 포함하는 블럭이고, 상기 디자인에 대응하는 블럭은 챗봇의 스킨에 대응하는 블럭이며,
상기 시나리오는 사용자가 챗봇을 이용할 때 질의할 수 있는 각각의 경우의 수와 이에 대한 답변을 알고리즘 형태로 제작한 것이고,
상기 챗봇 서비스 제공 서버는,
상기 사용자 단말에서 단위 블럭을 선택한 경우, 상기 선택된 단위 블럭이 유료 또는 무료로 공유되는 공유 플랫폼을 제공하는 것을 특징으로 하는
API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법.
In the chatbot service providing method executed in the chatbot service providing server,
Uploading at least one unit block to which at least one scenario and an application programming interface (API) for executing the at least one scenario are combined to at least one type of store platform;
When a user terminal purchases any one or a combination of at least one of the at least one unit block through the at least one type of store platform, receiving the purchased one or at least one combination;
When at least one unit block selected from the user terminal is uploaded on the scenario builder by a drag-and-drop method from the user terminal, at least one combination of at least one function of at least one unit block combined on the scenario builder is Setting a chatbot implemented in one scenario to run on a platform designated by the user terminal; And
When the user terminal selects any one unit block or a plurality of unit blocks among the at least one unit block, generating a chatbot in which the selected unit block and the natural language processing module are combined and transmitting the chatbot to the user terminal; But,
The natural language processing module,
Constituent parts of the structure representing the information to be conveyed that determine what to say, the part that applies the rules for the dialogue structure and sentences to determine the order of the sentences, and the information about words and the syntactic rules to generate the actual sentences. Generate natural language by dividing it into applied parts,
The at least one unit block is a block corresponding to a function or a design of at least one block constituting the chatbot,
The block corresponding to the function is a block including map view, delivery inquiry, payment inquiry, company extension number confirmation, and Q&A Excel data push, and the block corresponding to the design is a block corresponding to the skin of the chatbot,
In the above scenario, the number of each case that a user can query when using a chatbot and an answer to it are produced in the form of an algorithm,
The chatbot service providing server,
When a unit block is selected in the user terminal, a sharing platform in which the selected unit block is shared for a fee or for free is provided.
A method of providing a chatbot service that provides a block-based adaptive development environment in which API functions and scenarios are combined.
삭제delete 제 1 항에 있어서,
상기 적어도 하나의 단위 블럭에 대응하는 기능은, 챗봇에서 사용가능한 적어도 하나의 기능을 포함하고,
상기 적어도 하나의 기능은, 전자상거래에 요구되는 적어도 하나의 기능을 포함하는 것인, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법.
The method of claim 1,
The function corresponding to the at least one unit block includes at least one function usable in the chatbot,
The at least one function includes at least one function required for e-commerce, a chatbot service providing method for providing a block-based adaptive development environment in which API functions and scenarios are combined.
삭제delete 제 1 항에 있어서,
상기 챗봇 서비스 제공 서버는,
상기 사용자 단말로부터 적어도 하나의 쇼핑몰 페이지에 등록된 상품의 상품 데이터를 수집하여 전처리를 수행한 후 상기 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 상기 사용자 단말로 추천하고, 상기 추천된 질의응답 데이터 셋이 상기 사용자 단말에서 선택되는 경우에 상기 선택된 질의응답 데이터 셋에 대응하도록 챗봇을 생성하며,
글의 맥락(context)을 위한 계층 순환신경망인 HRED(Hierarchical Recurrent Encoder-Decoder)를 이용하는 것인, API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 방법.
The method of claim 1,
The chatbot service providing server,
After collecting product data of products registered on at least one shopping mall page from the user terminal, performing pre-processing, analyzing the product data, and recommending a previously stored Q&A data set to the user terminal, and the recommended Q&A data When a set is selected in the user terminal, a chatbot is created to correspond to the selected Q&A data set,
A method of providing a chatbot service that provides a block-based adaptive development environment in which API functions and scenarios are combined, which uses HRED (Hierarchical Recurrent Encoder-Decoder), a hierarchical recurrent neural network for the context of an article.
적어도 하나의 종류의 스토어 플랫폼에 적어도 하나의 시나리오 및 상기 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 업로드하는 업로드부;
상기 적어도 하나의 시나리오 및 상기 적어도 하나의 시나리오를 수행하기 위한 API가 결합된 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 조합을 상기 적어도 하나의 종류의 스토어 플랫폼을 통하여 사용자 단말에서 구매하는 경우, 상기 구매한 어느 하나 또는 적어도 하나의 조합을 선택받는 선택부; 및
시나리오 빌더 상에 상기 사용자 단말에서 선택된 적어도 하나의 단위 블럭을 상기 사용자 단말에서 드래그 앤 드랍 방식으로 올려지면, 상기 시나리오 빌더 상에 결합된 적어도 하나의 단위 블럭의 적어도 하나의 기능이 구현되는 챗봇이 상기 사용자 단말에서 지정한 플랫폼 상에서 구동되도록 설정하는 설정부;를 포함하되,
상기 사용자 단말에서 상기 적어도 하나의 단위 블럭 중 어느 하나의 단위 블록 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어 처리 모듈이 결합된 챗봇을 생성하여 상기 사용자 단말로 전송하고,
상기 적어도 하나의 단위 블럭은 챗봇을 구성하는 적어도 하나의 블럭의 기능에 대응하는 블럭 또는 디자인에 대응하는 블럭이며,
상기 기능에 대응하는 블럭은 지도보기, 배송조회, 결제조회, 회사 내선번호 확인 및 Q&A 엑셀데이터 밀어넣기를 포함하는 블럭이고, 상기 디자인에 대응하는 블럭은 챗봇의 스킨에 대응하는 블럭이며,
상기 시나리오는 사용자가 챗봇을 이용할 때 질의할 수 있는 각각의 경우의 수와 이에 대한 답변을 알고리즘 형태로 제작한 것이고,
상기 사용자 단말에서 단위 블럭을 선택한 경우, 상기 선택된 단위 블럭이 유료 또는 무료로 공유되는 공유 플랫폼을 제공하는 것을 특징으로 하는
API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 서버.
An upload unit for uploading at least one unit block to which at least one scenario and an application programming interface (API) for executing the at least one scenario are combined to at least one type of store platform;
When the user terminal purchases any one or at least one combination of at least one unit block in which the at least one scenario and the API for executing the at least one scenario are combined through the at least one kind of store platform, A selection unit for selecting one or at least one of the purchased combinations; And
When at least one unit block selected from the user terminal is uploaded on the scenario builder by a drag-and-drop method from the user terminal, the chatbot implementing at least one function of the at least one unit block combined on the scenario builder Including; a setting unit configured to run on the platform designated by the user terminal;
When the user terminal selects any one unit block or a plurality of unit blocks among the at least one unit block, a chatbot in which the selected unit block and the natural language processing module are combined is generated and transmitted to the user terminal,
The at least one unit block is a block corresponding to a function or a design of at least one block constituting the chatbot,
The block corresponding to the function is a block including map view, delivery inquiry, payment inquiry, company extension number confirmation, and Q&A Excel data push, and the block corresponding to the design is a block corresponding to the skin of the chatbot,
In the above scenario, the number of each case that a user can query when using a chatbot and an answer to it are produced in the form of an algorithm,
When a unit block is selected in the user terminal, a sharing platform in which the selected unit block is shared for a fee or for free is provided.
Chatbot service providing server that provides a block-based adaptive development environment in which API functions and scenarios are combined.
적어도 하나의 시나리오 및 상기 적어도 하나의 시나리오를 수행하기 위한 API(Application Programming Interface)가 결합된 적어도 하나의 단위 블럭을 제공하고, 상기 단위 블럭이 선택되는 경우 시나리오 빌더 상에 선택된 단위 블럭을 올려 챗봇을 생성하는 챗봇 서비스 제공 서버; 및
상기 적어도 하나의 단위 블럭 중 어느 하나 또는 적어도 하나의 단위 블럭의 조합을 적어도 하나의 종류의 스토어 플랫폼으로부터 선택 및 구매하여 상기 시나리오 빌더 상에 올리고, 상기 적어도 하나의 단위 블럭에 기반하여 생성된 챗봇을 구동 또는 공유하는 사용자 단말;을 포함하되,
상기 사용자 단말에서 상기 적어도 하나의 단위 블럭 중 어느 하나의 단위 블록 또는 복수의 단위 블럭을 선택하는 경우, 선택된 단위 블럭과 자연어 처리 모듈이 결합된 챗봇을 생성하여 상기 사용자 단말로 전송하고,
상기 적어도 하나의 단위 블럭은 챗봇을 구성하는 적어도 하나의 블럭의 기능에 대응하는 블럭 또는 디자인에 대응하는 블럭이며,
상기 기능에 대응하는 블럭은 지도보기, 배송조회, 결제조회, 회사 내선번호 확인 및 Q&A 엑셀데이터 밀어넣기를 포함하는 블럭이고, 상기 디자인에 대응하는 블럭은 챗봇의 스킨에 대응하는 블럭이며,
상기 시나리오는 사용자가 챗봇을 이용할 때 질의할 수 있는 각각의 경우의 수와 이에 대한 답변을 알고리즘 형태로 제작한 것이고,
상기 사용자 단말에서 단위 블럭을 선택한 경우, 상기 선택된 단위 블럭이 유료 또는 무료로 공유되는 공유 플랫폼을 제공하는 것을 특징으로 하는
API 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 시스템.
Provides at least one unit block in which at least one scenario and an API (Application Programming Interface) for executing the at least one scenario are combined, and when the unit block is selected, the selected unit block is uploaded on the scenario builder to start the chatbot. A generated chatbot service providing server; And
Select and purchase any one of the at least one unit block or a combination of at least one unit block from at least one type of store platform, upload it on the scenario builder, and generate a chatbot based on the at least one unit block. Including; driving or sharing user terminal;
When the user terminal selects any one unit block or a plurality of unit blocks among the at least one unit block, a chatbot in which the selected unit block and the natural language processing module are combined is generated and transmitted to the user terminal,
The at least one unit block is a block corresponding to a function or a design of at least one block constituting the chatbot,
The block corresponding to the function is a block including map view, delivery inquiry, payment inquiry, company extension number confirmation, and Q&A Excel data push, and the block corresponding to the design is a block corresponding to the skin of the chatbot,
In the above scenario, the number of each case that a user can query when using a chatbot and an answer to it are produced in the form of an algorithm,
When a unit block is selected in the user terminal, a sharing platform in which the selected unit block is shared for a fee or for free is provided.
Chatbot service providing system that provides a block-based adaptive development environment in which API functions and scenarios are combined.
KR1020190132870A 2019-10-24 2019-10-24 Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario KR102148439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190132870A KR102148439B1 (en) 2019-10-24 2019-10-24 Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190132870A KR102148439B1 (en) 2019-10-24 2019-10-24 Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario

Publications (1)

Publication Number Publication Date
KR102148439B1 true KR102148439B1 (en) 2020-08-26

Family

ID=72293325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190132870A KR102148439B1 (en) 2019-10-24 2019-10-24 Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario

Country Status (1)

Country Link
KR (1) KR102148439B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220037217A (en) * 2020-09-17 2022-03-24 에스케이플래닛 주식회사 Method and apparatus for providing chatbot service using condition expression generated interface
KR102424288B1 (en) * 2021-04-30 2022-07-22 이탁 Work schedule management system
US11699431B2 (en) 2021-09-08 2023-07-11 Allstate Solutions Private Limited Methods and systems for codeless chatbot development
WO2024117292A1 (en) * 2022-11-29 2024-06-06 주식회사 아이오테드 Metaverse-linked chatbot system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191865A (en) * 2009-02-20 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Device and method for supporting scenario development
KR20140094392A (en) * 2013-01-22 2014-07-30 주식회사 넥스다임 A method for providing an application developing tool and an apparatus using it
KR101944353B1 (en) * 2017-12-20 2019-04-17 주식회사 카카오 Method and apparatus for providing chatbot builder user interface
US20190132264A1 (en) * 2017-10-30 2019-05-02 International Business Machines Corporation Generation of a chatbot interface for an application programming interface
KR20190058257A (en) * 2017-11-20 2019-05-29 미스터마인드 주식회사 Chatbot trainer platform and method of operating the same
US20190311036A1 (en) * 2018-04-10 2019-10-10 Verizon Patent And Licensing Inc. System and method for chatbot conversation construction and management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191865A (en) * 2009-02-20 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Device and method for supporting scenario development
KR20140094392A (en) * 2013-01-22 2014-07-30 주식회사 넥스다임 A method for providing an application developing tool and an apparatus using it
US20190132264A1 (en) * 2017-10-30 2019-05-02 International Business Machines Corporation Generation of a chatbot interface for an application programming interface
KR20190058257A (en) * 2017-11-20 2019-05-29 미스터마인드 주식회사 Chatbot trainer platform and method of operating the same
KR101944353B1 (en) * 2017-12-20 2019-04-17 주식회사 카카오 Method and apparatus for providing chatbot builder user interface
US20190311036A1 (en) * 2018-04-10 2019-10-10 Verizon Patent And Licensing Inc. System and method for chatbot conversation construction and management

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220037217A (en) * 2020-09-17 2022-03-24 에스케이플래닛 주식회사 Method and apparatus for providing chatbot service using condition expression generated interface
KR102475796B1 (en) * 2020-09-17 2022-12-08 에스케이플래닛 주식회사 Method and apparatus for providing chatbot service using condition expression generated interface
KR20220165234A (en) * 2020-09-17 2022-12-14 에스케이플래닛 주식회사 Method and apparatus for providing chatbot service using condition expression generated interface
KR102655058B1 (en) * 2020-09-17 2024-04-08 에스케이플래닛 주식회사 Method and apparatus for providing chatbot service using condition expression generated interface
KR102424288B1 (en) * 2021-04-30 2022-07-22 이탁 Work schedule management system
US11699431B2 (en) 2021-09-08 2023-07-11 Allstate Solutions Private Limited Methods and systems for codeless chatbot development
WO2024117292A1 (en) * 2022-11-29 2024-06-06 주식회사 아이오테드 Metaverse-linked chatbot system

Similar Documents

Publication Publication Date Title
KR102148439B1 (en) Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario
Ngai et al. An intelligent knowledge-based chatbot for customer service
Gao et al. Artificial intelligence-enabled personalization in interactive marketing: a customer journey perspective
Landim et al. Chatbot design approaches for fashion E-commerce: an interdisciplinary review
CN101689255A (en) System and method for electronic commerce and other uses
Gümüş et al. The effect of customers’ attitudes towards chatbots on their experience and behavioural intention in Turkey
US11632341B2 (en) Enabling communication with uniquely identifiable objects
Singh ChatGPT: A new approach to revolutionise organisations
KR102446649B1 (en) Method and apparatus for producing application using recommended templet based on artificial intelligence model
El-Ansari et al. Sentiment analysis for personalized chatbots in e-commerce applications
Ossowska et al. Exploring an ontological approach for user requirements elicitation in the design of online virtual agents
Fischer et al. DIY assistant: a multi-modal end-user programmable virtual assistant
Kashyap et al. Artificial Intelligence and Its Applications in E-Commerce–a Review Analysis and Research Agenda
Rane et al. Hyper-personalization for enhancing customer loyalty and satisfaction in Customer Relationship Management (CRM) systems
Wang et al. Configuring products with natural language: a simple yet effective approach based on text embeddings and multilayer perceptron
Heins Artificial intelligence in retail–a systematic literature review
Jayawardena et al. Artificial intelligence (AI)-based market intelligence and customer insights
Daza et al. The Impact of Chatbots on Customer Satisfaction: A Systematic Literature Review.
Koroglu AI and XR (AIXR) Marketing in Industry 5.0 or Society 5.0
Picareta et al. Intelligent applications in the modern sales organization
Aarthi et al. Chatbot for retail shop evaluation
Remountakis et al. ChatGPT and Persuasive Technologies for the Management and Delivery of Personalized Recommendations in Hotel Hospitality
Suraña‐Sánchez et al. Impact of artificial intelligence on customer engagement and advertising engagement: A review and future research agenda
Moe et al. Building ontologies for cross-domain recommendation on facial skin problem and related cosmetics
Rainsberger AI-The new intelligence in sales

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant