KR20240133305A - Method for providing chatbot service and device for performing the same - Google Patents
Method for providing chatbot service and device for performing the same Download PDFInfo
- Publication number
- KR20240133305A KR20240133305A KR1020230027081A KR20230027081A KR20240133305A KR 20240133305 A KR20240133305 A KR 20240133305A KR 1020230027081 A KR1020230027081 A KR 1020230027081A KR 20230027081 A KR20230027081 A KR 20230027081A KR 20240133305 A KR20240133305 A KR 20240133305A
- Authority
- KR
- South Korea
- Prior art keywords
- context
- user input
- action
- information
- user
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
챗봇 서비스 제공 방법 및 이를 수행하는 장치가 개시된다. 일 실시예에 따른 챗봇 서비스 제공 방법은 제1 사용자 입력(user input)을 수신하는 동작; 상기 제1 사용자 입력에 대한 응답(response)을 제공하기 위해 필요한 정보를 상기 제1 사용자 입력보다 앞서 획득된 챗봇과 사용자 간의 컨텍스트 정보(context information)로부터 획득하는 동작; 및 획득된 정보(information)에 기초하여 상기 응답을 출력하는 동작을 포함할 수 있다.A method for providing a chatbot service and a device for performing the same are disclosed. The method for providing a chatbot service according to one embodiment may include an operation of receiving a first user input; an operation of obtaining information necessary for providing a response to the first user input from context information between a chatbot and a user obtained prior to the first user input; and an operation of outputting the response based on the obtained information.
Description
아래 개시는 챗봇 서비스 제공 방법 및 이를 수행하는 장치에 관한 것이다.The disclosure below relates to a method for providing a chatbot service and a device for performing the same.
챗봇(chatbot)은 인공지능(artificial intelligence) 및 자연어 처리(natural language processing)을 이용하여 사용자가 웹 기반 서비스(web-based service) 및/또는 어플리케이션(application)과 상호 작용하도록 돕는 기술을 의미할 수 있다.A chatbot may refer to a technology that uses artificial intelligence and natural language processing to help users interact with web-based services and/or applications.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.The background technology described above is technology that the inventor possessed or acquired in the process of deriving the disclosure content of the present application, and cannot necessarily be said to be a publicly known technology disclosed to the general public prior to the present application.
일 실시예는 사용자 입력에 대한 정보를 제공하기 위해 필요한 필수 파라미터(mandatory parameter)를 이전 컨텍스트 정보(previous context information)로부터 획득함으로써, 사용자 편의성을 향상시킬 수 있다.One embodiment can improve user convenience by obtaining mandatory parameters required to provide information about user input from previous context information.
일 실시예에는 사용자와 챗봇 간의 이전 컨텍스트를 간단히 검색할 수 있는 방법을 제공할 수 있다.One embodiment may provide a way to easily retrieve previous context between a user and a chatbot.
일 실시예는 활성화된 대화 시나리오를 종료할 수 있는 직관적인 방법을 제공할 수 있다.One embodiment may provide an intuitive way to terminate an active conversation scenario.
일 실시예는 대화 상대방을 용이하게 파악할 수 있는 방법을 제공할 수 있다.One embodiment may provide a way to easily identify a conversation partner.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, technical challenges are not limited to the technical challenges described above, and other technical challenges may exist.
일 실시예에 따른 챗봇 서비스(chatbot service)를 제공하기 위한 장치는 인스트럭션들을 포함하는 메모리; 및 상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함할 수 있다. 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 제어할 수 있다. 상기 복수의 동작들은 제1 사용자 입력(user input)을 수신하는 동작; 상기 제1 사용자 입력에 대한 응답(response)을 제공하기 위해 필요한 정보를 상기 제1 사용자 입력보다 앞서 획득된 챗봇과 사용자 간의 컨텍스트 정보(context information)로부터 획득하는 동작; 및 획득된 정보(information)에 기초하여 상기 응답을 출력하는 동작을 포함할 수 있다.A device for providing a chatbot service according to one embodiment may include a memory including instructions; and a processor electrically connected to the memory and configured to execute the instructions. When the instructions are executed by the processor, the processor may control a plurality of operations. The plurality of operations may include an operation of receiving a first user input; an operation of acquiring information necessary for providing a response to the first user input from context information between a chatbot and a user acquired prior to the first user input; and an operation of outputting the response based on the acquired information.
상기 컨텍스트 정보는 상기 제1 사용자 입력보다 앞서 수신된 제2 사용자 입력에 기초하여 생성된 상기 챗봇과 상기 사용자 간의 컨텍스트, 상기 컨텍스트에 포함된 키워드(keyword), 및 상기 키워드에 대응하는 도메인(domain) 중에서 하나 이상을 포함할 수 있다.The context information may include one or more of a context between the chatbot and the user generated based on a second user input received prior to the first user input, a keyword included in the context, and a domain corresponding to the keyword.
상기 출력하는 동작은 상기 제1 사용자 입력에 대응하는 정보 또는 상기 컨텍스트 정보 중에서 하나 이상의 컨텍스트를 출력하는 동작을 포함할 수 있다.The above outputting operation may include an operation of outputting one or more contexts among information corresponding to the first user input or the context information.
상기 획득하는 동작은 상기 제1 사용자 입력에 대응하는 정보를 제공하기 위해 필요한 파라미터(parameter)를 획득하기 위해 상기 컨텍스트 정보로부터 상기 파라미터와 연관된 키워드를 검색하는 동작; 및 검색된 키워드에 대한 사용자 응답(user responses)에 기초하여 상기 파라미터를 획득함으로써 슬롯 필링(slot-filling)을 수행하는 동작을 포함할 수 있다.The above obtaining operation may include an operation of searching for a keyword associated with a parameter from the context information to obtain a parameter necessary to provide information corresponding to the first user input; and an operation of performing slot-filling by obtaining the parameter based on user responses to the searched keyword.
상기 출력하는 동작은 상기 파라미터에 기초하여 상기 제1 사용자 입력에 대응하는 정보를 출력하는 동작을 포함할 수 있다.The above outputting operation may include an operation of outputting information corresponding to the first user input based on the above parameter.
상기 제1 사용자 입력을 수신하는 동작은 상기 챗봇과 상기 사용자 간의 제1 컨텍스트가 활성화된 상태에서 상기 제1 컨텍스트보다 앞서 획득된 상기 챗봇과 상기 사용자 간의 제2 컨텍스트를 검색하기 위한 사용자 입력을 수신하는 동작을 포함할 수 있다.The action of receiving the first user input may include an action of receiving a user input for searching a second context between the chatbot and the user that was acquired prior to the first context while the first context between the chatbot and the user is activated.
상기 획득하는 동작은 상기 제2 컨텍스트에 포함된 키워드를 출력하는 동작; 상기 키워드에 대한 사용자 응답을 수신하는 동작; 및 상기 제2 컨텍스트 중에서 상기 사용자 응답과 연관된 컨텍스트를 출력하는 동작을 포함할 수 있다.The above-described acquiring operation may include an operation of outputting a keyword included in the second context; an operation of receiving a user response to the keyword; and an operation of outputting a context associated with the user response among the second contexts.
상기 컨텍스트를 출력하는 동작은 상기 사용자 응답과 연관된 컨텍스트 중에서 상기 제1 컨텍스트와 연관된 컨텍스트를 출력하는 동작을 포함할 수 있다.The action of outputting the above context may include an action of outputting a context associated with the first context among the contexts associated with the user response.
상기 복수의 동작들은 상기 챗봇과 상기 사용자 간의 활성화된 컨텍스트에 대한 정보를 포함하는 인터페이스를 표시하는 동작을 더 포함할 수 있다.The above plurality of actions may further include an action of displaying an interface that includes information about an activated context between the chatbot and the user.
상기 활성화된 컨텍스트에 대한 정보는 상기 활성화된 컨텍스트의 대화 상대에 대한 정보를 포함할 수 있다.Information about the activated context may include information about a conversation partner of the activated context.
일 실시예에 따른 챗봇 서비스 제공 방법은 제1 사용자 입력(user input)을 수신하는 동작; 상기 제1 사용자 입력에 대한 응답(response)을 제공하기 위해 필요한 정보를 상기 제1 사용자 입력보다 앞서 획득된 챗봇과 사용자 간의 컨텍스트 정보(context information)로부터 획득하는 동작; 및 획득된 정보(information)에 기초하여 상기 응답을 출력하는 동작을 포함할 수 있다.A method for providing a chatbot service according to one embodiment may include an operation of receiving a first user input; an operation of obtaining information necessary to provide a response to the first user input from context information between the chatbot and the user obtained prior to the first user input; and an operation of outputting the response based on the obtained information.
상기 컨텍스트 정보는 상기 제1 사용자 입력보다 앞서 수신된 제2 사용자 입력에 기초하여 생성된 상기 챗봇과 상기 사용자 간의 컨텍스트, 상기 컨텍스트에 포함된 키워드(keyword), 및 상기 키워드에 대응하는 도메인(domain) 중에서 하나 이상을 포함할 수 있다.The context information may include one or more of a context between the chatbot and the user generated based on a second user input received prior to the first user input, a keyword included in the context, and a domain corresponding to the keyword.
상기 출력하는 동작은 상기 제1 사용자 입력에 대응하는 정보 또는 상기 컨텍스트 정보 중에서 하나 이상의 컨텍스트를 출력하는 동작을 포함할 수 있다.The above outputting operation may include an operation of outputting one or more contexts among information corresponding to the first user input or the context information.
상기 획득하는 동작은 상기 제1 사용자 입력에 대응하는 정보를 제공하기 위해 필요한 파라미터(parameter)를 획득하기 위해 상기 컨텍스트 정보로부터 상기 파라미터와 연관된 키워드를 검색하는 동작; 및 검색된 키워드에 대한 사용자 응답(user responses)에 기초하여 상기 파라미터를 획득함으로써 슬롯 필링(slot-filling)을 수행하는 동작을 포함할 수 있다.The above obtaining operation may include an operation of searching for a keyword associated with a parameter from the context information to obtain a parameter necessary to provide information corresponding to the first user input; and an operation of performing slot-filling by obtaining the parameter based on user responses to the searched keyword.
상기 출력하는 동작은 상기 파라미터에 기초하여 상기 제1 사용자 입력에 대응하는 정보를 출력하는 동작을 포함할 수 있다.The above outputting operation may include an operation of outputting information corresponding to the first user input based on the above parameter.
상기 제1 사용자 입력을 수신하는 동작은 상기 챗봇과 상기 사용자 간의 제1 컨텍스트가 활성화된 상태에서 상기 제1 컨텍스트보다 앞서 획득된 상기 챗봇과 상기 사용자 간의 제2 컨텍스트를 검색하기 위한 사용자 입력을 수신하는 동작을 포함할 수 있다.The action of receiving the first user input may include an action of receiving a user input for searching a second context between the chatbot and the user that was acquired prior to the first context while the first context between the chatbot and the user is activated.
상기 획득하는 동작은 상기 제2 컨텍스트에 포함된 키워드를 출력하는 동작; 상기 키워드에 대한 사용자 응답을 수신하는 동작; 및 상기 제2 컨텍스트 중에서 상기 사용자 응답과 연관된 컨텍스트를 출력하는 동작을 포함할 수 있다.The above-described acquiring operation may include an operation of outputting a keyword included in the second context; an operation of receiving a user response to the keyword; and an operation of outputting a context associated with the user response among the second contexts.
상기 컨텍스트를 출력하는 동작은 상기 사용자 응답과 연관된 컨텍스트 중에서 상기 제1 컨텍스트와 연관된 컨텍스트를 출력하는 동작을 포함할 수 있다.The action of outputting the above context may include an action of outputting a context associated with the first context among the contexts associated with the user response.
상기 방법은 상기 챗봇과 상기 사용자 간의 활성화된 컨텍스트에 대한 정보를 포함하는 인터페이스를 표시하는 동작을 더 포함할 수 있다.The method may further include an action of displaying an interface that includes information about an activated context between the chatbot and the user.
상기 활성화된 컨텍스트에 대한 정보는 상기 활성화된 컨텍스트의 대화 상대에 대한 정보를 포함할 수 있다.Information about the activated context may include information about a conversation partner of the activated context.
도 1은 일 실시예에 따른 챗봇 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 대화 시나리오를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 컨텍스트 정보를 생성 및 저장하는 방법을 설명하기 위한 도면일 수 있다.
도 4는 일 실시예에 따른 컨텍스트 정보를 이용한 챗봇 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 컨텍스트 정보를 이용한 챗봇 서비스 제공 방법의 일 예를 도시한다.
도 6은 일 실시예에 따른 컨텍스트 검색 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 컨텍스트 검색 방법의 일 예를 도시한다.
도 8은 일 실시예에 따른 대화 시나리오 종료 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 대화 상대 표시 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 챗봇의 감정 표시 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 전자 장치의 개략적인 블록도이다.
도 12는 일 실시예에 따른 서버의 개략적인 블록도이다.Figure 1 is a drawing for explaining a chatbot system according to one embodiment.
Figure 2 is a diagram for explaining a conversation scenario according to one embodiment.
FIG. 3 may be a diagram for explaining a method of generating and storing context information according to one embodiment.
Figure 4 is a flowchart explaining a method for providing a chatbot service using context information according to one embodiment.
FIG. 5 illustrates an example of a method for providing a chatbot service using context information according to one embodiment.
FIG. 6 is a flowchart illustrating a context search method according to one embodiment.
Figure 7 illustrates an example of a context search method according to one embodiment.
FIG. 8 is a diagram for explaining a method for ending a conversation scenario according to one embodiment.
FIG. 9 is a drawing for explaining a method for displaying a conversation partner according to one embodiment.
Fig. 10 is a drawing for explaining a method for expressing emotions of a chatbot according to one embodiment.
FIG. 11 is a schematic block diagram of an electronic device according to one embodiment.
Figure 12 is a schematic block diagram of a server according to one embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be implemented in various forms. Therefore, the actual implemented form is not limited to the specific embodiments disclosed, and the scope of the present disclosure includes modifications, equivalents, or alternatives included in the technical idea described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although the terms first or second may be used to describe various components, such terms should be construed only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When it is said that a component is "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but there may also be other components in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this document, the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "at least one of A, B, or C" can each include any one of the items listed together in that phrase, or any and all possible combinations thereof. It should be understood that, as used herein, the terms "comprises" or "have" are intended to specify the presence of a described feature, number, step, operation, component, part, or combination thereof, but do not exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning they have in the context of the relevant art, and will not be interpreted in an idealized or overly formal sense unless explicitly defined herein.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.The term "module" as used in this document may include a unit implemented in hardware, software or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally configured component or a minimum unit of the component or a portion thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 예를 들어, '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한, '~부'는 하나 이상의 프로세서를 포함할 수 있다.The term '~part' used in this document means a software or hardware component such as an FPGA or ASIC, and the '~part' performs certain roles. However, the '~part' is not limited to software or hardware. The '~part' may be configured to be on an addressable storage medium and may be configured to regenerate one or more processors. For example, the '~part' may include components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided in the components and '~parts' may be combined into a smaller number of components and '~parts' or further separated into additional components and '~parts'. In addition, the components and '~parts' may be implemented to regenerate one or more CPUs in a device or a secure multimedia card. Additionally, '~bu' may include one or more processors.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. When describing with reference to the attached drawings, identical components are given the same reference numerals regardless of the drawing numbers, and redundant descriptions thereof will be omitted.
도 1은 일 실시예에 따른 챗봇 서비스 시스템을 설명하기 위한 도면이다.Figure 1 is a drawing for explaining a chatbot service system according to one embodiment.
도 1을 참조하면, 일 실시예에 따르면, 챗봇 서비스 시스템(chatbot service system)(100)은 전자 장치(electronic device)(110) 및 서버(server)(160)를 포함할 수 있다. 다만, 도 1은 본 발명을 설명하기 위한 일 예이고, 본 발명의 권리 범위가 이에 한정되는 것으로 해석되어서는 안 된다. 예를 들어, 전자 장치(110)는 서버(160) 없이 단독으로 챗봇 서비스를 사용자에게 제공할 수도 있다. 전자 장치(110)가 단독으로 챗봇 서비스를 사용자에게 제공하는 경우, 전자 장치(110)는 본 명세서에 기재된 서버(160)의 동작을 수행할 수 있다.Referring to FIG. 1, according to one embodiment, a chatbot service system (100) may include an electronic device (110) and a server (160). However, FIG. 1 is an example for explaining the present invention, and the scope of the rights of the present invention should not be construed as being limited thereto. For example, the electronic device (110) may provide a chatbot service to a user independently without the server (160). When the electronic device (110) provides a chatbot service to a user independently, the electronic device (110) may perform the operation of the server (160) described in this specification.
전자 장치(110)는 다양한 입력 장치(예: 마이크로폰(microphone), 물리 키보드(physical keyboard), 가상 키보드(virtual keyboard), 카메라(camera), 및/또는 감지 센서(detection sensor))를 이용하여 사용자 입력(user input)을 수신하고, 사용자 입력을 서버(160)로 전송할 수 있다. 전자 장치(110)는 사용자 입력에 기초하여 생성되는 시스템 응답(system response)(예: 사용자 입력에 대응하는 정보)을 서버(160)으로부터 수신할 수 있다. 전자 장치(110)는 수신된 시스템 응답을 다양한 방식으로 출력할 수 있다. 예를 들어, 전자 장치(110)는 디스플레이 또는 스피커를 통해 시스템 응답을 출력할 수 있다.The electronic device (110) may receive user input using various input devices (e.g., a microphone, a physical keyboard, a virtual keyboard, a camera, and/or a detection sensor) and transmit the user input to the server (160). The electronic device (110) may receive a system response (e.g., information corresponding to the user input) generated based on the user input from the server (160). The electronic device (110) may output the received system response in various ways. For example, the electronic device (110) may output the system response through a display or a speaker.
서버(160)는 전자 장치(110)로부터 사용자 입력을 수신하고, 사용자 입력에 대응하는 시스템 응답을 생성하고, 시스템 응답을 전자 장치(110)로 전송할 수 있다. 예를 들어, 서버(160)는 특정 서비스와 연관된 질의 메시지(inquiry message)를 수신하고, 대응하는 정보를 생성할 수 있다.The server (160) may receive user input from the electronic device (110), generate a system response corresponding to the user input, and transmit the system response to the electronic device (110). For example, the server (160) may receive an inquiry message associated with a particular service and generate corresponding information.
도 2는 일 실시예에 따른 대화 시나리오를 설명하기 위한 도면이다.Figure 2 is a diagram for explaining a conversation scenario according to one embodiment.
도 2를 참조하면, 일 실시예에 따르면, 서버(예: 도 1의 서버(160))는 사용자 입력(21)에 기초하여 대화 시나리오(conversation scenario)를 활성화하고, 사용자 입력(21)에 대응하는 시스템 응답(예: 정보)을 제공할 수 있다. 예를 들어, 서버(160)는 사용자 입력(21)의 인텐트(intent)(예: 차량 시승)를 판단하고, 인텐트와 연관 대화 시나리오(예: 시승 네트워크 시나리오(test network scenario))를 활성화할 수 있다. 대화 시나리오는 미리 설계된 대화의 흐름을 의미할 수 있다.Referring to FIG. 2, according to one embodiment, a server (e.g., server (160) of FIG. 1) may activate a conversation scenario based on a user input (21) and provide a system response (e.g., information) corresponding to the user input (21). For example, the server (160) may determine an intent (e.g., test drive a vehicle) of the user input (21) and activate a conversation scenario (e.g., test network scenario) associated with the intent. The conversation scenario may mean a pre-designed conversation flow.
서버(160)는 사용자 입력에 포함된 정보(예: 위치 정보, 시간 정보, 날짜 정보, 및/또는 이름 정보와 같은 정보)로부터 필수 파라미터(mandatory parameter)를 획득할 수 있다. 필수 파라미터는 사용자 입력(21)의 인텐트를 판단하기 위해 필요한 정보 및/또는 사용자 입력에 대응하는 시스템 응답(예: 정보)를 제공하기 위해 필요한 정보를 의미할 수 있다. 예를 들어, 서버(160)는 사용자 입력(21)의 인텐트를 판단하고, 사용자 입력(21)에 대응하는 정보를 위해 필요한 필수 파라미터(예: 장소 및 모델명)를 사용자 입력(21)으로부터 획득할 수 있다.The server (160) can obtain mandatory parameters from information included in the user input (e.g., information such as location information, time information, date information, and/or name information). The mandatory parameters may mean information necessary for determining the intent of the user input (21) and/or information necessary for providing a system response (e.g., information) corresponding to the user input. For example, the server (160) can determine the intent of the user input (21) and obtain mandatory parameters (e.g., location and model name) necessary for information corresponding to the user input (21) from the user input (21).
필수 파라미터 중에서 하나 이상의 필수 파라미터(예: 모델명)가 사용자 입력(21)로부터 획득되지 않은 경우, 서버(160)는 미획득 필수 파라미터를 획득하기 위한 메시지(23)(예: 되묻기 질문(follow-up question))를 생성하고, 메시지(23)를 전자 장치(예: 도 1의 전자 장치(110))로 전송할 수 있다. 사용자는 메시지(23)에 대한 응답(미도시)을 전자 장치(110)를 통해 제공하고, 서버(160)는 사용자 응답(미도시)으로부터 필수 파라미터(예: 사용자 입력(21)로부터 획득되지 못한 필수 파라미터)를 획득할 수 있다. 이와 같이, 서버(160)가 되묻기 질문(follow-up question)을 통해 필수 파라미터를 획득하는 과정을 슬롯 필링(slot-filling)이라 부른다. 서버(160)는 사용자 편의성을 향상시키기 위해, 챗봇과 사용자 사이의 컨텍스트(previous context)에 대한 정보(예: 컨텍스트 정보)에 기초하여 슬롯 필링을 수행할 수 있다.If one or more of the required parameters (e.g., model name) are not acquired from the user input (21), the server (160) can generate a message (23) (e.g., follow-up question) for acquiring the unacquired required parameters and transmit the message (23) to an electronic device (e.g., electronic device (110) of FIG. 1). The user can provide a response (not shown) to the message (23) through the electronic device (110), and the server (160) can acquire the required parameters (e.g., the required parameters not acquired from the user input (21)) from the user response (not shown). In this way, the process in which the server (160) acquires the required parameters through the follow-up question is called slot-filling. To improve user convenience, the server (160) may perform slot filling based on information about the context (previous context) between the chatbot and the user (e.g., context information).
도 3은 일 실시예에 따른 컨텍스트 정보를 생성 및 저장하는 방법을 설명하기 위한 도면일 수 있다.FIG. 3 may be a diagram for explaining a method of generating and storing context information according to one embodiment.
도 3을 참조하면, 일 실시예에 따르면, 서버(예: 도 1의 서버(160))는 컨텍스트(31), 컨텍스트(31)에 포함된 키워드(33), 및/또는 키워드(33)에 대응하는 도메인(35)을 포함하는 컨텍스트 정보를 생성 및 저장할 수 있다. 예를 들어, 서버(160)는 사용자 입력(예: 도 2 사용자 입력(21))에 기초하여 생성되는 컨텍스트(31)로부터 키워드(33)을 추출하고, 키워드(33)에 대응하는 도메인(35)을 태깅(tagging)함으로써 컨텍스트 정보를 생성할 수 있다. 컨텍스트(31)는 사용자와 챗봇 사이의 대화 맥락(conversation context)에 관한 정보(또는 데이터)를 의미할 수 있다. 컨텍스트(31)는 사용자 입력(21) 및/또는 사용자 입력(21)에 대한 시스템 응답과 같은 정보를 포함할 수 있다.Referring to FIG. 3, according to one embodiment, a server (e.g., server (160) of FIG. 1) may generate and store context information including a context (31), a keyword (33) included in the context (31), and/or a domain (35) corresponding to the keyword (33). For example, the server (160) may generate context information by extracting a keyword (33) from a context (31) generated based on a user input (e.g., user input (21) of FIG. 2) and tagging a domain (35) corresponding to the keyword (33). The context (31) may mean information (or data) regarding a conversation context between a user and a chatbot. The context (31) may include information such as a user input (21) and/or a system response to the user input (21).
도 4 및 도 5는 일 실시예에 따른 컨텍스트 정보 기반 챗봇 서비스 제공 방법을 설명하기 위한 도면이다. 도 4는 컨텍스트 정보 기반 챗봇 서비스 제공 방법을 설명하기 위한 흐름도이고, 도 5는 컨텍스트 정보 기반 챗봇 서비스 제공 방법의 일 예를 도시한다.FIG. 4 and FIG. 5 are diagrams for explaining a method for providing a context information-based chatbot service according to one embodiment. FIG. 4 is a flowchart for explaining a method for providing a context information-based chatbot service, and FIG. 5 illustrates an example of a method for providing a context information-based chatbot service.
도 4 및 도 5를 참조하면, 일 실시예에 따르면, 동작 410에서, 서버(예: 도 1의 서버(160))는 전자 장치(예: 도 1의 전자 장치(110))로부터 사용자 입력(53)을 수신할 수 있다.Referring to FIGS. 4 and 5, according to one embodiment, at
동작 420에서, 서버(160)는 사용자 입력(53)으로부터 필수 파라미터(예: 장소 및 모델명)를 획득하고, 필수 파라미터 중에서 사용자 입력(53)으로부터 획득되지 못한 필수 파라미터(예: 모델명)가 존재하는지 확인할 수 있다.In
동작 430에서, 사용자 입력(53)으로부터 획득되지 못한 필수 파라미터가 존재하는 경우, 서버(160)는 사용자 입력(53)보다 앞서 생성된 이전 컨텍스트(51)에 대한 정보(예: 이전 컨텍스트 정보(previous context information))가 존재하는지 확인할 수 있다. 예를 들어, 이전 컨텍스트 정보는 서버(160)에 포함된 저장 장치(예: 메모리)에 저장되고, 서버(160)는 저장 장치로부터 이전 컨텍스트 정보를 검색할 수 있다.In
동작 440에서, 이전 컨텍스트 정보가 존재하는 경우, 서버(160)는 이전 컨텍스트 정보와 필수 파라미터(예: 사용자 입력(53)으로부터 획득되지 못한 필수 파라미터) 사이의 연관성을 확인할 수 있다. 예를 들어, 서버(160)는 이전 컨텍스트 정보가 필수 파라미터(예: 모델명)에 대응하는 도메인(예: Model)을 가지는 키워드(예: 아이오닉6, 아이오닉 5)를 포함하는지 여부를 확인할 수 있다.In
동작 450에서, 이전 컨텍스트 정보가 존재하지 않거나, 이전 컨텍스트 정보가 필수 파라미터와 관련이 없는 경우, 서버(160)는 필수 파라미터를 획득하기 위한 메시지(예: 도 2의 메시지(23)와 같은 되묻기 질문(follow-up question))을 출력하고, 메시지를 전자 장치(110)로 전송할 수 있다.In
동작 460에서, 서버(160)는 메시지에 대한 사용자 입력(예: '아이오닉6'와 같은 사용자 입력)을 전자 장치(110)로부터 수신할 수 있다.At
동작470에서, 서버(160)는 사용자 입력(예: 동작 460에서 수신된 사용자 입력)을 이용하여 사용자 입력(53)에 대응하는 정보(예: 대리점의 위치 정보(57))를 출력하고, 정보(57)를 전자 장치(110)로 전송할 수 있다.In
동작 480에서, 이전 컨텍스트 정보가 필수 파라미터와 관련이 있는 경우, 서버(160)는 이전 컨텍스트 정보에 포함된 키워드 중에서 필수 파라미터(예: 모델명)와 연관된 키워드(예: 모델명 관련 키워드들(55))를 출력하고, 키워드(55)를 전자 장치(110)로 전송할 수 있다.In
동작 490에서, 서버(160)는 키워드(55)에 대한 사용자 입력을 전자 장치(110)로부터 수신할 수 있다. 전자 장치(110)는 사용자의 터치(touch), 제스쳐(gesture), 및/또는 음성을 인식하여 키워드(55)에 대한 사용자 입력을 획득할 수 있다.In
동작 470에서, 서버(160)는 사용자 입력(예: 동작 490에서 획득된 사용자 입력)에 기초하여 사용자 입력(53)에 대응하는 정보(예: 대리점의 위치 정보(57))를 출력하고, 정보(57)를 전자 장치(110)로 전송할 수 있다.In
도 4 및 도 5를 참조하여 상술된 바와 같이, 서버(160)(또는 전자 장치(110))는 이전 컨텍스트 정보에 기초하여 슬롯 필링을 수행함으로써, 사용자 편의성을 향상시킬 수 있다.As described above with reference to FIGS. 4 and 5, the server (160) (or electronic device (110)) can improve user convenience by performing slot filling based on previous context information.
도 6 및 도 7은 일 실시예에 따른 컨텍스트 검색 방법을 설명하기 위한 흐름도이다. 도 6은 컨텍스트 검색 방법을 설명하기 위한 흐름도이고, 컨텍스트 검색 방법의 일 예를 도시한다.FIGS. 6 and 7 are flowcharts for explaining a context search method according to one embodiment. FIG. 6 is a flowchart for explaining a context search method and illustrates an example of a context search method.
도 6 및 도 7을 참조하면, 일 실시예에 따르면, 동작 610 내지 동작 640은 순차적으로 수행될 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 둘 이상의 동작들이 병렬적으로 수행될 수 있다.Referring to FIGS. 6 and 7, according to one embodiment,
동작 610에서, 서버(예: 도 1의 서버(160))는 제1 컨텍스트(73)(예: 서비스 네트워크 관련 컨텍스트)가 활성화된 상태에서, 제2 컨텍스트(71)(예: 시승 네트워크 관련 컨텍스트)를 검색하기 위한 사용자 입력을 수신할 수 있다. 제2 컨텍스트(71)는 제1 컨텍스트(73)보다 앞서 획득된 컨텍스트를 나타낼 수 있다. 사용자는 터치, 제스처, 및/또는 음성과 같이 다양한 방식으로 제2 컨텍스트(71)를 검색하기 위한 사용자 입력을 전자 장치(예: 도 1의 전자 장치(110))에 제공할 수 있다. 예를 들어, 사용자는 제1 컨텍스트(73)에 대한 정보를 표시하는 디스플레이 영역(display region)(710)을 터치함으로써 제2 컨텍스트(71)를 검색하기 위한 사용자 입력을 전자 장치(110)에 제공할 수 있다.In
동작 620에서, 서버(160)는 제2 컨텍스트(71)에 포함된 키워드(예: 차량 시승 관련 키워드(75))를 출력하고, 키워드(75)를 전자 장치(110)로 전송할 수 있다.In
동작 630에서, 서버(160)는 키워드(75)에 대한 사용자 응답을 수신할 수 있다. 사용자는 터치, 제스처, 및/또는 음성과 같이 다양한 방식으로 키워드(75) 중에서 하나 이상의 키워드(예: 키워드(77))를 선택할 수 있다.At
동작 640에서, 서버(160)는 제2 컨텍스트(71) 중에서 사용자 응답(예: 키워드 (77))과 연관된 컨텍스트(예: 그랜저 Hybird의 가격에 대한 컨텍스트)를 다양한 방식(예: 팝업(pop-up))으로 출력할 수 있다. 제2 컨텍스트가 복수인 경우, 서버(160)는 미리 설정된 정책에 기초하여, 복수의 제2 컨텍스트들(미도시) 중에서 하나 이상의 컨텍스트를 출력할 수 있다. 예를 들어, 서버(160)는 제2 컨텍스트들(미도시) 중에서 제1 컨텍스트(73)와 연관된 하나 이상의 컨텍스트를 출력할 수 있다. 서버(160)는 컨텍스트들(예: 제1 컨텍스트 및 제2 컨텍스트들)에 포함된 키워드 및 키워드에 대응하는 도메인에 기초하여, 제1 컨텍스트와 제2 컨텍스트들 사이의 연관성을 계산할 수 있다.In
도 6 및 도 7을 참조하여 상술된 바와 같이, 서버(160)(또는 전자 장치(110))는 간단한 조작(예: 터치, 제스처, 및/또는 음성)을 통해 이전 컨텍스트를 검색할 수 있는 방법을 사용자에게 제공함으로써, 사용자 편의성을 향상시킬 수 있다.As described above with reference to FIGS. 6 and 7, the server (160) (or electronic device (110)) can enhance user convenience by providing a way for the user to retrieve previous context through simple manipulation (e.g., touch, gesture, and/or voice).
도 8은 일 실시예에 따른 대화 시나리오 종료 방법을 설명하기 위한 도면이다.FIG. 8 is a diagram for explaining a method for ending a conversation scenario according to one embodiment.
도 8을 참조하면, 일 실시예에 따르면, 서버(예: 도 1의 서버(160))는 활성화된 컨텍스트(예: 그랜저 Hybrid 관련 컨텍스트)에 대한 정보와 함께 활성화된 컨텍스트를 종료할 수 있는 직관적인 인터페이스를 제공할 수 있다. 예를 들어, 사용자는 활성화된 컨텍스트와 함께 표시되는 종료 버튼(예: X 버튼)을 터치함으로써 활성화된 컨텍스트를 종료할 수 있다.Referring to FIG. 8, according to one embodiment, a server (e.g., server (160) of FIG. 1) may provide an intuitive interface for terminating an activated context together with information about the activated context (e.g., a context related to a Grandeur Hybrid). For example, a user may terminate an activated context by touching an end button (e.g., an X button) displayed together with the activated context.
서버(160)는 활성화된 컨텍스트를 종료하기 위한 사용자 입력을 수신하는 경우, 활성화된 컨텍스트를 종료하고, 챗봇에 의해 지원되는 대화 주제(예: 대화 주제(81))를 안내 메시지와 함께 출력할 수 있다.When the server (160) receives a user input to terminate the activated context, it can terminate the activated context and output a conversation topic supported by the chatbot (e.g., conversation topic (81)) along with a guidance message.
도 9는 일 실시예에 따른 대화 상대 표시 방법을 설명하기 위한 도면이다.FIG. 9 is a drawing for explaining a method for displaying a conversation partner according to one embodiment.
도 9를 참조하면, 일 실시예에 따르면, 서버(160)는 활성화된 컨텍스트의 대화 상대(예: 챗봇 또는 상담원)에 대한 정보를 포함하는 인터페이스를 제공할 수 있다. 예를 들어, 서버(160)는 인터페이스의 특정 영역(예: 영역(910))에 활성화된 컨텍스트의 대화 상대에 대한 정보를 표시할 수 있다.Referring to FIG. 9, according to one embodiment, the server (160) may provide an interface that includes information about a conversation partner (e.g., a chatbot or a counselor) of an activated context. For example, the server (160) may display information about a conversation partner of an activated context in a specific area of the interface (e.g., area (910)).
도 10은 일 실시예에 따른 챗봇의 감정 표시 방법을 설명하기 위한 도면이다.Fig. 10 is a drawing for explaining a method for expressing emotions of a chatbot according to one embodiment.
도 10을 참조하면, 일 실시예에 따르면, 서버(160)는 인터페이스의 특정 영역에 챗봇의 감정을 나타내는 이모티콘(105_1, 105_3)을 표시할 수 있다. 예를 들어, 서버(160)는 사용자 입력(101_1, 101_3)에 대한 챗봇 응답(103_1, 103_3)에 대응하는 이모티콘(105_1, 105_3)을 인터페이스의 특정 영역에 표시할 수 있다.Referring to FIG. 10, according to one embodiment, the server (160) may display an emoticon (105_1, 105_3) representing the emotion of the chatbot in a specific area of the interface. For example, the server (160) may display an emoticon (105_1, 105_3) corresponding to a chatbot response (103_1, 103_3) to a user input (101_1, 101_3) in a specific area of the interface.
서버(160)는 챗봇의 감정을 표시하는 이모티콘(105_1, 105_3)을 표시함으로써 챗봇과 사용자 사이에 자연스러운 상호작용이 수행될 수 있게 한다.The server (160) enables natural interaction between the chatbot and the user by displaying emoticons (105_1, 105_3) that express the emotions of the chatbot.
도 11은 일 실시예에 따른 전자 장치의 개략적인 블록도이다.FIG. 11 is a schematic block diagram of an electronic device according to one embodiment.
도 11을 참조하면, 일 실시예에 따르면, 전자 장치(1100)(예: 도 1의 전자 장치(110))는 메모리(1140) 및 프로세서(1120)를 포함할 수 있다.Referring to FIG. 11, according to one embodiment, an electronic device (1100) (e.g., the electronic device (110) of FIG. 1) may include a memory (1140) and a processor (1120).
메모리(1140)는 프로세서(1120)에 의해 실행가능한 인스트럭션(instruction)들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(1120)의 동작 및/또는 프로세서(1120)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory (1140) can store instructions (or programs) executable by the processor (1120). For example, the instructions can include instructions for executing operations of the processor (1120) and/or operations of each component of the processor (1120).
메모리(1140)는 하나 이상의 컴퓨터 판독 가능한 저장 매체(computer-readable storage media)를 포함할 수 있다. 메모리(1140)는 비휘발성 저장 소자들(예: 자기 하드 디스크(magnetic hard disc), 광 디스크(optical disc), 플로피 디스크(floppy disc), 플래시 메모리(flash memory), EPROM(electrically programmable memories), EEPROM(electrically erasable and programmable))을 포함할 수 있다.The memory (1140) may include one or more computer-readable storage media. The memory (1140) may include non-volatile storage devices (e.g., a magnetic hard disc, an optical disc, a floppy disc, a flash memory, an electrically programmable memory (EPROM), an electrically erasable and programmable memory (EEPROM).
메모리(1140)는 비일시적 매체(non-transitory media)일 수 있다. "비일시적"이라는 용어는 저장 매체가 반송파 또는 전파된 신호로 구현되지 않음을 나타낼 수 있다. 단, "비일시적"이라는 용어는 메모리(1140)가 움직일 수 없는 것으로 해석되어서는 안 된다.The memory (1140) may be a non-transitory medium. The term "non-transitory" may indicate that the storage medium is not implemented as a carrier wave or a propagated signal. However, the term "non-transitory" should not be construed to mean that the memory (1140) is immovable.
프로세서(1120)는 메모리(1140)에 저장된 데이터를 처리할 수 있다. 프로세서(1120)는 메모리(1140)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(1120)에 의해 유발된 인스트럭션들을 실행할 수 있다.The processor (1120) can process data stored in the memory (1140). The processor (1120) can execute computer-readable code (e.g., software) stored in the memory (1140) and instructions generated by the processor (1120).
프로세서(1120)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들을 포함할 수 있다.The processor (1120) may be a data processing device implemented as hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), or a field programmable gate array (FPGA).
프로세서(1120)에 의해 수행되는 동작은 도 1 내지 도 10을 참조하여 설명한 전자 장치(110)의 동작과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.The operation performed by the processor (1120) may be substantially the same as the operation of the electronic device (110) described with reference to FIGS. 1 to 10. Accordingly, a detailed description will be omitted.
도 12는 일 실시예에 따른 서버의 개략적인 블록도이다.Figure 12 is a schematic block diagram of a server according to one embodiment.
도 12을 참조하면, 일 실시예에 따르면, 서버(1200)(예: 도 1의 서버(160))는 메모리(1240) 및 프로세서(1220)를 포함할 수 있다.Referring to FIG. 12, according to one embodiment, a server (1200) (e.g., server (160) of FIG. 1) may include a memory (1240) and a processor (1220).
메모리(1240)는 프로세서(1220)에 의해 실행가능한 인스트럭션(instruction)들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(1220)의 동작 및/또는 프로세서(1220)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory (1240) may store instructions (or programs) executable by the processor (1220). For example, the instructions may include instructions for executing operations of the processor (1220) and/or operations of each component of the processor (1220).
메모리(1240)는 하나 이상의 컴퓨터 판독 가능한 저장 매체(computer-readable storage media)를 포함할 수 있다. 메모리(1240)는 비휘발성 저장 소자들(예: 자기 하드 디스크(magnetic hard disc), 광 디스크(optical disc), 플로피 디스크(floppy disc), 플래시 메모리(flash memory), EPROM(electrically programmable memories), EEPROM(electrically erasable and programmable))을 포함할 수 있다.The memory (1240) may include one or more computer-readable storage media. The memory (1240) may include non-volatile storage devices (e.g., a magnetic hard disc, an optical disc, a floppy disc, a flash memory, an electrically programmable memory (EPROM), an electrically erasable and programmable memory (EEPROM).
메모리(1240)는 비일시적 매체(non-transitory media)일 수 있다. "비일시적"이라는 용어는 저장 매체가 반송파 또는 전파된 신호로 구현되지 않음을 나타낼 수 있다. 단, "비일시적"이라는 용어는 메모리(1240)가 움직일 수 없는 것으로 해석되어서는 안 된다.The memory (1240) may be a non-transitory medium. The term "non-transitory" may indicate that the storage medium is not implemented as a carrier wave or a propagated signal. However, the term "non-transitory" should not be construed to mean that the memory (1240) is immovable.
프로세서(1220)는 메모리(1240)에 저장된 데이터를 처리할 수 있다. 프로세서(1220)는 메모리(1240)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(1220)에 의해 유발된 인스트럭션들을 실행할 수 있다.The processor (1220) can process data stored in the memory (1240). The processor (1220) can execute computer-readable code (e.g., software) stored in the memory (1240) and instructions generated by the processor (1220).
프로세서(1220)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들을 포함할 수 있다.The processor (1220) may be a data processing device implemented as hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), or a field programmable gate array (FPGA).
프로세서(1220)에 의해 수행되는 동작은 도 1 내지 도 10을 참조하여 설명한 서버(160)의 동작과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.The operation performed by the processor (1220) may be substantially the same as the operation of the server (160) described with reference to FIGS. 1 to 10. Therefore, a detailed description will be omitted.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and software applications running on the OS. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone, but those skilled in the art will appreciate that the processing device may include multiple processing elements and/or multiple types of processing elements. For example, a processing device may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 저장될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and/or data may be stored on any type of machine, component, physical device, virtual equipment, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over network-connected computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may store program commands, data files, data structures, etc., alone or in combination, and the program commands recorded on the medium may be those specially designed and configured for the embodiment or may be those known to and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with limited drawings as described above, those skilled in the art can apply various technical modifications and variations based on the described embodiments. For example, even if the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or are replaced or substituted by other components or equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also included in the scope of the claims described below.
Claims (20)
인스트럭션들을 포함하는 메모리; 및
상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고,
상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 제어하고,
상기 복수의 동작들은,
제1 사용자 입력(user input)을 수신하는 동작;
상기 제1 사용자 입력에 대한 응답(response)을 제공하기 위해 필요한 정보를 상기 제1 사용자 입력보다 앞서 획득된 챗봇과 사용자 간의 컨텍스트 정보(context information)로부터 획득하는 동작; 및
획득된 정보(information)에 기초하여 상기 응답을 출력하는 동작
을 포함하는, 장치.
In a device for providing a chatbot service,
memory containing instructions; and
A processor electrically connected to the memory and configured to execute the instructions,
When the instructions are executed by the processor, the processor controls a plurality of operations,
The above multiple actions are:
An action to receive first user input;
An operation of obtaining information necessary to provide a response to the first user input from context information between the chatbot and the user obtained prior to the first user input; and
An action that outputs the response based on the acquired information.
A device comprising:
상기 컨텍스트 정보는,
상기 제1 사용자 입력보다 앞서 수신된 제2 사용자 입력에 기초하여 생성된 상기 챗봇과 상기 사용자 간의 컨텍스트, 상기 컨텍스트에 포함된 키워드(keyword), 및 상기 키워드에 대응하는 도메인(domain) 중에서 하나 이상
을 포함하는, 장치.
In the first paragraph,
The above context information is,
At least one of a context between the chatbot and the user generated based on a second user input received prior to the first user input, a keyword included in the context, and a domain corresponding to the keyword
A device comprising:
상기 출력하는 동작은,
상기 제1 사용자 입력에 대응하는 정보 또는 상기 컨텍스트 정보 중에서 하나 이상의 컨텍스트를 출력하는 동작
을 포함하는, 장치.
In the first paragraph,
The above output action is,
An operation of outputting one or more contexts among the information corresponding to the first user input or the context information.
A device comprising:
상기 획득하는 동작은,
상기 제1 사용자 입력에 대응하는 정보를 제공하기 위해 필요한 파라미터(parameter)를 획득하기 위해 상기 컨텍스트 정보로부터 상기 파라미터와 연관된 키워드를 검색하는 동작; 및
검색된 키워드에 대한 사용자 응답(user responses)에 기초하여 상기 파라미터를 획득함으로써 슬롯 필링(slot-filling)을 수행하는 동작
을 포함하는, 장치.
In the first paragraph,
The above acquisition action is,
An operation of searching for a keyword associated with a parameter from the context information to obtain a parameter necessary to provide information corresponding to the first user input; and
An operation for performing slot-filling by obtaining the above parameters based on user responses to searched keywords.
A device comprising:
상기 출력하는 동작은,
상기 파라미터에 기초하여 상기 제1 사용자 입력에 대응하는 정보를 출력하는 동작
을 포함하는, 장치.
In paragraph 4,
The above output action is,
An operation for outputting information corresponding to the first user input based on the above parameters.
A device comprising:
상기 제1 사용자 입력을 수신하는 동작은,
상기 챗봇과 상기 사용자 간의 제1 컨텍스트가 활성화된 상태에서 상기 제1 컨텍스트보다 앞서 획득된 상기 챗봇과 상기 사용자 간의 제2 컨텍스트를 검색하기 위한 사용자 입력을 수신하는 동작
을 포함하는, 장치.
In the first paragraph,
The action of receiving the first user input is:
An operation of receiving a user input for searching a second context between the chatbot and the user obtained before the first context while the first context between the chatbot and the user is activated.
A device comprising:
상기 획득하는 동작은,
상기 제2 컨텍스트에 포함된 키워드를 출력하는 동작;
상기 키워드에 대한 사용자 응답을 수신하는 동작; 및
상기 제2 컨텍스트 중에서 상기 사용자 응답과 연관된 컨텍스트를 출력하는 동작
을 포함하는, 장치.
In Article 6,
The above acquisition action is,
An action of outputting keywords included in the second context;
An action for receiving a user response to the above keyword; and
An action of outputting a context associated with the user response among the second contexts.
A device comprising:
상기 컨텍스트를 출력하는 동작은,
상기 사용자 응답과 연관된 컨텍스트 중에서 상기 제1 컨텍스트와 연관된 컨텍스트를 출력하는 동작
을 포함하는, 장치.
In Article 7,
The action of outputting the above context is:
An action of outputting a context associated with the first context among the contexts associated with the user response.
A device comprising:
상기 챗봇과 상기 사용자 간의 활성화된 컨텍스트에 대한 정보를 포함하는 인터페이스를 표시하는 동작
을 더 포함하는, 장치.
In the first paragraph,
An action that displays an interface containing information about the active context between the chatbot and the user.
A device further comprising:
상기 활성화된 컨텍스트에 대한 정보는,
상기 활성화된 컨텍스트의 대화 상대에 대한 정보
를 포함하는, 장치.
In Article 9,
Information about the above activated context is:
Information about the conversation partner in the above activated context
A device comprising:
제1 사용자 입력(user input)을 수신하는 동작;
상기 제1 사용자 입력에 대한 응답(response)을 제공하기 위해 필요한 정보를 상기 제1 사용자 입력보다 앞서 획득된 챗봇과 사용자 간의 컨텍스트 정보(context information)로부터 획득하는 동작; 및
획득된 정보(information)에 기초하여 상기 응답을 출력하는 동작
을 포함하는, 방법.
In terms of providing chatbot services,
An action to receive first user input;
An operation of obtaining information necessary to provide a response to the first user input from context information between the chatbot and the user obtained prior to the first user input; and
An action that outputs the response based on the acquired information.
A method comprising:
상기 컨텍스트 정보는,
상기 제1 사용자 입력보다 앞서 수신된 제2 사용자 입력에 기초하여 생성된 상기 챗봇과 상기 사용자 간의 컨텍스트, 상기 컨텍스트에 포함된 키워드(keyword), 및 상기 키워드에 대응하는 도메인(domain) 중에서 하나 이상
을 포함하는, 방법.
In Article 11,
The above context information is,
At least one of a context between the chatbot and the user generated based on a second user input received prior to the first user input, a keyword included in the context, and a domain corresponding to the keyword
A method comprising:
상기 출력하는 동작은,
상기 제1 사용자 입력에 대응하는 정보 또는 상기 컨텍스트 정보 중에서 하나 이상의 컨텍스트를 출력하는 동작
을 포함하는, 방법.
In Article 11,
The above output action is,
An operation of outputting one or more contexts among the information corresponding to the first user input or the context information.
A method comprising:
상기 획득하는 동작은,
상기 제1 사용자 입력에 대응하는 정보를 제공하기 위해 필요한 파라미터(parameter)를 획득하기 위해 상기 컨텍스트 정보로부터 상기 파라미터와 연관된 키워드를 검색하는 동작; 및
검색된 키워드에 대한 사용자 응답(user responses)에 기초하여 상기 파라미터를 획득함으로써 슬롯 필링(slot-filling)을 수행하는 동작
을 포함하는, 방법.
In Article 11,
The above acquisition action is,
An operation of searching for a keyword associated with a parameter from the context information to obtain a parameter necessary to provide information corresponding to the first user input; and
An operation for performing slot-filling by obtaining the above parameters based on user responses to searched keywords.
A method comprising:
상기 출력하는 동작은,
상기 파라미터에 기초하여 상기 제1 사용자 입력에 대응하는 정보를 출력하는 동작
을 포함하는, 방법.
In Article 14,
The above output action is,
An operation for outputting information corresponding to the first user input based on the above parameters.
A method comprising:
상기 제1 사용자 입력을 수신하는 동작은,
상기 챗봇과 상기 사용자 간의 제1 컨텍스트가 활성화된 상태에서 상기 제1 컨텍스트보다 앞서 획득된 상기 챗봇과 상기 사용자 간의 제2 컨텍스트를 검색하기 위한 사용자 입력을 수신하는 동작
을 포함하는, 방법.
In Article 11,
The action of receiving the first user input is:
An operation of receiving a user input for searching a second context between the chatbot and the user obtained before the first context while the first context between the chatbot and the user is activated.
A method comprising:
상기 획득하는 동작은,
상기 제2 컨텍스트에 포함된 키워드를 출력하는 동작;
상기 키워드에 대한 사용자 응답을 수신하는 동작; 및
상기 제2 컨텍스트 중에서 상기 사용자 응답과 연관된 컨텍스트를 출력하는 동작
을 포함하는, 방법.
In Article 16,
The above acquisition action is,
An action of outputting keywords included in the second context;
An action for receiving a user response to the above keyword; and
An action of outputting a context associated with the user response among the second contexts.
A method comprising:
상기 컨텍스트를 출력하는 동작은,
상기 사용자 응답과 연관된 컨텍스트 중에서 상기 제1 컨텍스트와 연관된 컨텍스트를 출력하는 동작
을 포함하는, 방법.
In Article 17,
The action of outputting the above context is:
An action of outputting a context associated with the first context among the contexts associated with the user response.
A method comprising:
상기 챗봇과 상기 사용자 간의 활성화된 컨텍스트에 대한 정보를 포함하는 인터페이스를 표시하는 동작
을 더 포함하는, 방법.
In Article 11,
An action that displays an interface containing information about the active context between the chatbot and the user.
A method further comprising:
상기 활성화된 컨텍스트에 대한 정보는,
상기 활성화된 컨텍스트의 대화 상대에 대한 정보
를 포함하는, 방법.In Article 19,
Information about the above activated context is:
Information about the conversation partner in the above activated context
A method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230027081A KR20240133305A (en) | 2023-02-28 | 2023-02-28 | Method for providing chatbot service and device for performing the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230027081A KR20240133305A (en) | 2023-02-28 | 2023-02-28 | Method for providing chatbot service and device for performing the same |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20240133305A true KR20240133305A (en) | 2024-09-04 |
Family
ID=92760029
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020230027081A Pending KR20240133305A (en) | 2023-02-28 | 2023-02-28 | Method for providing chatbot service and device for performing the same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20240133305A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119544651A (en) * | 2024-11-29 | 2025-02-28 | 中移互联网有限公司 | A method for data transmission |
-
2023
- 2023-02-28 KR KR1020230027081A patent/KR20240133305A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119544651A (en) * | 2024-11-29 | 2025-02-28 | 中移互联网有限公司 | A method for data transmission |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11709653B1 (en) | Contextual assistant using mouse pointing or touch cues | |
| US11217239B2 (en) | Computer proxy messaging bot | |
| KR102347398B1 (en) | Actionable content displayed on a touch screen | |
| US10656909B2 (en) | Learning intended user actions | |
| CN109002510B (en) | A dialogue processing method, apparatus, device and medium | |
| US9075918B1 (en) | System and method for creating change-resilient scripts | |
| US20200167134A1 (en) | Programming Environment Augment with Automated Dialog System Assistance | |
| US10417114B2 (en) | Testing tool for testing applications while executing without human interaction | |
| JP5509066B2 (en) | Input method editor integration | |
| US10754885B2 (en) | System and method for visually searching and debugging conversational agents of electronic devices | |
| CN109983460A (en) | Service for developing dialog-driven applications | |
| EP3195115A1 (en) | Code development tool with multi-context intelligent assistance | |
| KR20240133305A (en) | Method for providing chatbot service and device for performing the same | |
| US9898282B2 (en) | Automatic comment creation for computer files | |
| TW201506685A (en) | Apparatus and method for selecting a control object by voice recognition | |
| CN112306598A (en) | Dialogue management method and device | |
| US20230161539A1 (en) | Assisted collaborative navigation in screen share environments | |
| KR101891754B1 (en) | Device and method of providing for learning application, and server of providing for learning content | |
| KR20240139887A (en) | Method for providing chatbot service and device for performing the same | |
| US20170177178A1 (en) | E-reader summarization and customized dictionary | |
| CN119226496A (en) | Method, device, equipment and medium for processing documents based on large models | |
| CN120804456A (en) | Page switching method and device, electronic equipment, storage medium and program product | |
| CN110750205A (en) | Application starting method and device | |
| Mannard | THESIS/THÈSE |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |