KR102661768B1 - Method for generateing recommended query - Google Patents
Method for generateing recommended query Download PDFInfo
- Publication number
- KR102661768B1 KR102661768B1 KR1020210034695A KR20210034695A KR102661768B1 KR 102661768 B1 KR102661768 B1 KR 102661768B1 KR 1020210034695 A KR1020210034695 A KR 1020210034695A KR 20210034695 A KR20210034695 A KR 20210034695A KR 102661768 B1 KR102661768 B1 KR 102661768B1
- Authority
- KR
- South Korea
- Prior art keywords
- questions
- candidate
- queries
- recommended
- query
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
- G06F16/3323—Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3349—Reuse of stored results of previous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Artificial Intelligence (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 개시의 몇몇 실시예에 따라, 컴퓨팅 장치의 프로세서에 의해 수행되는 추천 질의문 생성 방법이 개시된다. 상기 방법은: 제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계; 상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계; 제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계; 제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계; 및 상기 K 개의 질의문과 상기 L 개의 질의문을 추천 질의문으로 결정하는 단계;를 포함할 수 있다.According to some embodiments of the present disclosure, a method for generating recommended queries performed by a processor of a computing device is disclosed. The method includes: filtering N candidate questions (N is a natural number of 1 or more) corresponding to a user input from among a plurality of candidate questions based on the first method; Classifying the N candidate queries into at least one semantic group; Based on the second method, selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group; Based on the third method, selecting L query sentences (L is a natural number of 1 or more) from each of the at least one semantic group; and determining the K questions and the L questions as recommended questions.
Description
본 발명은 추천 질의문을 생성하기 위한 방법에 관한 것으로, 구체적으로, 챗봇 시스템에서 추천 질의문을 생성 및 제공하기 위한 방법에 관한 것이다.The present invention relates to a method for generating recommended questions, and specifically, to a method for generating and providing recommended questions in a chatbot system.
챗봇 시스템에서 챗봇의 응답 방법은 입력된 사용자의 질의문에 대하여 유사한 문장을 챗봇용 문장 데이터베이스에서 검색하고, 그에 해당하는 답변을 출력하는 것이다. 기본적으로 이러한 방식은 해당 내용의 기준이 되는 질의문(기준 질의문)과 그 기준 질의문과 동일한 의미이지만 다른 표현을 가지는 질의문(변형 질의문)으로 구성되는 질의문 데이터베이스를 구축하고, 질의문 데이터베이스 상에서 고객의 질의문에 대응하는 문장을 검색하는 방식이 주를 이룬다.In a chatbot system, the chatbot's response method is to search the chatbot sentence database for similar sentences to the user's input question and output the corresponding answer. Basically, this method builds a query database consisting of a query that serves as the standard for the content (standard query) and a query that has the same meaning as the standard query but has a different expression (modified query). The main method is to search for sentences that correspond to the customer's inquiry.
챗봇 시스템은 다양한 목적을 가질 수 있다. 예를 들어, 챗봇 시스템은 사용자의 대화 상대를 대체하기 위한 자유 대화형 챗봇 또는, 특정 업무를 처리하기 위한 업무용 챗봇을 포함할 수 있다. 여기서, 자유 대화형 챗봇은 다양한 질의문에 대응하는 것이 중요한 요소라고 판단될 수 있다. 한편, 업무용 챗봇은 다양한 질의문에 대응하는 것 보다 특정 업무와 관련된 질의문에 대해 정확한 대응을 하는 것이 더 중요한 요소라고 판단될 수 있다.Chatbot systems can have a variety of purposes. For example, a chatbot system may include a free conversation chatbot to replace a user's conversation partner, or a business chatbot to handle a specific task. Here, it can be judged that responding to various inquiries is an important factor for free conversation chatbots. Meanwhile, for business chatbots, it may be judged that providing accurate responses to inquiries related to specific tasks is a more important factor than responding to a variety of inquiries.
이러한 업무용 챗봇은 특정 업무에 특화되어 있어, 업무용 챗봇을 처음 이용하는 사용자들은 해당 챗봇이 어떤 업무까지 처리할 수 있는지 사전에 파악하는 것이 어려울 수 있다.Since these business chatbots are specialized for specific tasks, it may be difficult for users who are using business chatbots for the first time to figure out in advance what tasks the chatbot can handle.
이에 따라, 업무용 챗봇이 처리 가능한 업무 영역을 사전에 사용자에게 알릴 수 있는 기능에 대한 수요가 존재할 수 있다.Accordingly, there may be a demand for a function that can notify users in advance of work areas that business chatbots can handle.
본 개시는 전술한 배경기술에 대응하여 안출 된 것으로, 추천 질의문을 생성하기 위한 방법을 통해 업무용 챗봇이 처리 가능한 업무 영역을 사전에 사용자에게 알리는 것이다.This disclosure was developed in response to the above-described background technology, and informs users in advance of work areas that a business chatbot can handle through a method for generating recommended queries.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨팅 장치의 프로세서에 의해 수행되는 추천 질의문 생성 방법이 개시된다. 상기 방법은: 제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계; 상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계; 제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계; 제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계; 및 상기 K 개의 질의문과 상기 L 개의 질의문을 추천 질의문으로 결정하는 단계;를 포함할 수 있다.According to some embodiments of the present disclosure for solving the above-mentioned problems, a method for generating recommended queries performed by a processor of a computing device is disclosed. The method includes: filtering N candidate questions (N is a natural number of 1 or more) corresponding to a user input from among a plurality of candidate questions based on the first method; Classifying the N candidate queries into at least one semantic group; Based on the second method, selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group; Based on the third method, selecting L query sentences (L is a natural number of 1 or more) from each of the at least one semantic group; and determining the K questions and the L questions as recommended questions.
또한, 전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 추천 질의문 생성하는 컴퓨팅 장치가 개시된다. 상기 장치는: 복수의 후보 질의문들을 저장하는 메모리; 및 상기 복수의 후보 질의문들을 이용하여, 추천 질의문을 생성하는 프로세서;를 포함하고, 상기 프로세서는, 제 1 방식에 기초하여, 상기 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하고, 상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하고, 제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하고, 제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하고, 상기 K 개의 질의문과 상기 L 개의 질의문을 상기 추천 질의문으로 결정할 수 있다.In addition, according to some embodiments of the present disclosure for solving the problems described above, a computing device for generating recommended queries is disclosed. The device includes: a memory storing a plurality of candidate queries; and a processor that generates a recommended query using the plurality of candidate queries, wherein the processor selects N (N) corresponding to user input from among the plurality of candidate queries based on the first method. Filter candidate queries (N is a natural number greater than or equal to 1), classify the N candidate queries into at least one semantic group, and based on the second method, K number (K is select a number of queries (a natural number of 1 or more), and based on the third method, select L questions (L is a natural number of 1 or more) from each of the at least one semantic group, and select the K questions and the L number of questions. The query can be determined from the above recommended query.
또한, 전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 컴퓨팅 장치의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계; 상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계; 제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계; 제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계; 및 상기 K 개의 질의문과 상기 L 개의 질의문을 추천 질의문으로 결정하는 단계;를 포함할 수 있다.Additionally, according to some embodiments of the present disclosure for solving the problems described above, a computer program stored in a computer-readable storage medium is disclosed. The computer program includes instructions for causing a processor of the computing device to perform the following steps, which include: Based on the first method, select N (N is filtering candidate queries (a natural number of 1 or more); Classifying the N candidate queries into at least one semantic group; Based on the second method, selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group; Based on the third method, selecting L query sentences (L is a natural number of 1 or more) from each of the at least one semantic group; and determining the K questions and the L questions as recommended questions.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical solutions obtainable from the present disclosure are not limited to the solutions mentioned above, and other solutions not mentioned above will become clear to those skilled in the art from the description below. It will be understandable.
본 개시는 추천 질의문을 생성하기 위한 방법을 통해 업무용 챗봇이 처리 가능한 업무 영역을 사전에 사용자에게 알릴 수 있다.The present disclosure can inform users in advance of work areas that a business chatbot can handle through a method for generating recommended queries.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. .
도 1은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.
도 2는 본 개시의 몇몇 실시예에 따른 추천 질의문을 결정하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 본 개시의 몇몇 실시예에 따른 필터링된 후보 질의문들의 일례를 설명하기 위한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 의미 그룹의 일례를 설명하기 위한 도면이다.
도 5는 본 개시의 몇몇 실시예에 따른 추천 질의문이 사용자에게 제시되는 일례를 설명하기 위한 도면이다.
도 6은 본 개시의 몇몇 실시예에 따른 후보 질의문들의 가중치를 산출하는 방법의 일례를 설명하기 위한 도면이다.1 is a block diagram of a computing device according to some embodiments of the present disclosure.
Figure 2 is a flowchart illustrating an example of a method for determining a recommended query according to some embodiments of the present disclosure.
FIG. 3 is a diagram illustrating an example of filtered candidate queries according to some embodiments of the present disclosure.
Figure 4 is a diagram for explaining an example of a semantic group according to some embodiments of the present disclosure.
FIG. 5 is a diagram illustrating an example in which recommended questions are presented to a user according to some embodiments of the present disclosure.
FIG. 6 is a diagram illustrating an example of a method for calculating weights of candidate queries according to some embodiments of the present disclosure.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.Various embodiments are now described with reference to the drawings. In this specification, various descriptions are presented to provide an understanding of the disclosure. However, it is clear that these embodiments may be practiced without these specific descriptions.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.As used herein, “embodiments,” “examples,” “aspects,” “examples,” etc. may not be construed to mean that any aspect or design described is better or advantageous over other aspects or designs. .
용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. The term “or” is intended to mean an inclusive “or” and not an exclusive “or.” That is, unless otherwise specified or clear from context, “X utilizes A or B” is intended to mean one of the natural implicit substitutions.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Additionally, the terms “comprise” and/or “comprising” should be understood to mean that the corresponding feature and/or element is present. However, the terms “comprise” and/or “comprising” should be understood as not excluding the presence or addition of one or more other features, elements and/or groups thereof. Additionally, unless otherwise specified or the context is clear to indicate a singular form, the singular terms herein and in the claims should generally be construed to mean “one or more.”
도 1은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.1 is a block diagram of a computing device according to some embodiments of the present disclosure.
본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치(100)는 챗봇 기능을 사용자에게 제공하기 위한 사용자 단말 또는 서버일 수 있다. 예를 들어, 본 개시의 컴퓨팅 장치(100)는 챗봇 시스템 또는 그 일부일 수 있다. 여기서, 사용자 단말은 챗봇 기능을 제공하기 위한 프로그램이 메모리(120)에 저장된 단말일 수도 있고, 메모리(120)에 별도의 챗봇 기능을 제공하기 위한 프로그램이 설치되어 있지 않고 챗봇 기능을 제공하는 서버에 접속하여 서버로부터 추천 질의문을 제공받는 단말일 수도 있다. According to some embodiments of the present disclosure, the
도 1을 참조하면, 컴퓨팅 장치(100)는 프로세서(110) 및 메모리(120)를 포함할 수 있다. 다만, 상술한 구성요소들은 컴퓨팅 장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 컴퓨팅 장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1 ,
컴퓨팅 장치(100)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
컴퓨팅 장치(100)의 프로세서(110)는 통상적으로 컴퓨팅 장치(100)의 전반적인 동작을 제어한다. 프로세서(110)는 컴퓨팅 장치(100)에 포함된 구성요소들을 통해 챗봇 기능을 제공하기 위해 메모리(120)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.The processor 110 of the
또한, 프로세서(110)는 메모리(120)에 저장된 응용 프로그램(예를 들어, 챗봇 기능과 관련된 응용 프로그램)을 구동하기 위하여, 컴퓨팅 장치(100)의 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(110)는 상기 응용 프로그램의 구동을 위하여, 컴퓨팅 장치(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.Additionally, the processor 110 may control at least some of the components of the
본 개시의 몇몇 실시예에 따른 컴퓨팅 장치(100)의 프로세서(110)는 챗봇 기능을 수행하는 어플리케이션(또는, 프로그램) 상에서 사용자 입력을 획득하고, 사용자 입력에 기초한 추천 질의문을 사용자에게 제공할 수 있다.The processor 110 of the
이러한 본 개시의 컴퓨팅 장치(100)는 챗봇 기능을 수행하는 어플리케이션이 실행되는 사용자 단말일 수 있다. 다만, 이에 한정되는 것은 아니고, 본 개시의 컴퓨팅 장치(100)는 챗봇 기능을 수행하는 어플리케이션이 실행되는 사용자 단말과 추천 질의문과 관련된 데이터(예컨대, 사용자 입력 데이터 또는, 추천 질의문 데이터 등)를 송수신하는 서버일 수도 있다.The
일례로, 본 개시의 컴퓨팅 장치(100)가 사용자 단말인 경우, 프로세서(110)는 사용자 단말에 구비된 인터페이스부(미도시)를 통해 사용자 입력을 획득할 수 있다. 또한, 프로세서(110)는 사용자 입력에 기초하여 추천 질의문을 생성할 수 있다. 그리고, 프로세서(110)는 사용자 단말에 구비된 디스플레이부(미도시)를 통해 추천 질의문을 출력할 수 있다. 다만, 이에 한정되는 것은 아니다.For example, when the
다른 일례로, 본 개시의 컴퓨팅 장치(100)가 서버인 경우, 프로세서(110)는 사용자 단말로부터 사용자 입력 정보를 수신할 수 있다. 또한, 프로세서(110)는 사용자 입력 정보에 기초하여 추천 질의문을 생성할 수 있다. 그리고, 프로세서(110)는 사용자 단말에 구비된 디스플레이부에 추천 질의문이 출력되도록 추천 질의문 정보를 사용자 단말로 전송할 수 있다.As another example, when the
즉, 컴퓨팅 장치(100)는 통신부(미도시)를 더 포함할 수 있다. 통신부는 컴퓨팅 장치(100)와 다른 컴퓨팅 장치 사이 또는, 컴퓨팅 장치(100)와 사용자 단말 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 통신부는, 컴퓨팅 장치(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.That is, the
컴퓨팅 장치(100)와 다른 컴퓨팅 장치 또는, 사용자 단말 사이의 통신을 연결하는 네트워크는 임의의 형태의 데이터 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크일 수 있다.The network connecting communication between the
본 개시의 몇몇 실시예에 따르면, 메모리(120)는 임의의 유형의 저장매체를 포함할 수 있다. 구체적으로, 메모리(120)는 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수도 있다. According to some embodiments of the present disclosure, memory 120 may include any type of storage medium. Specifically, the memory 120 can store programs for operating the processor 110, and can temporarily or permanently store input/output data.
본 개시의 몇몇 실시예에 따른 컴퓨팅 장치(100)의 메모리(120)는 프로세서(110)가 추천 질의문을 생성할 때 이용하는 후보 질의문들을 저장하고 있을 수 있다.The memory 120 of the
즉, 컴퓨팅 장치(100)의 프로세서(110)는 메모리(120)에 저장된 후보 질의문과 사용자 입력을 이용하여 추천 질의문을 생성할 수 있다. 그리고, 프로세서(110)는 사용자에게 추천 질의문을 제시할 수 있다.That is, the processor 110 of the
따라서, 본 발명의 컴퓨팅 장치(100)는 업무용 챗봇이 처리 가능한 업무 영역을 사전에 사용자에게 알릴 수 있다.Accordingly, the
본 개시의 컴퓨팅 장치(100)가 추천 질의문을 생성하고, 추천 질의문을 사용자에게 제시하는 방법에 대한 구체적인 설명은 도 2 내지 도 6을 참조하여 후술한다.A detailed description of how the
도 2는 본 개시의 몇몇 실시예에 따른 추천 질의문을 결정하는 방법의 일례를 설명하기 위한 흐름도이다.Figure 2 is a flowchart illustrating an example of a method for determining a recommended query according to some embodiments of the present disclosure.
도 2를 참조하면, 컴퓨팅 장치(100)의 프로세서(110)는 제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개의 후보 질의문들을 필터링할 수 있다. 여기서, N 개는 1 이상의 자연수로, 챗봇 시스템을 운영하는 사용자로부터 설정된 값이거나 또는, 별도의 제한이 없는 값일 수 있다. 예를 들어, N 개는 별도의 제한이 없고, 사용자 입력에 포함된 특정 단어가 포함된 모든 후보 질의문의 총 개수일 수 있다. 다만, 이에 한정되는 것은 아니다.Referring to FIG. 2 , the processor 110 of the
구체적으로, 프로세서(110)는 문자열 매칭을 이용하여, 복수의 후보 질의문들 중에서 사용자 입력과 기 설정된 정도 이상의 유사도를 갖는 N 개의 후보 질의문을 필터링할 수 있다.Specifically, the processor 110 may use string matching to filter N candidate queries that have a similarity greater than a preset level to the user input from among a plurality of candidate queries.
좀더 구체적으로, 프로세서(110)는 사용자 입력에 대응하는 적어도 하나의 문자열을 인식할 수 있다. 그리고, 프로세서(110)는 복수의 후보 질의문들 중에서 인식된 적어도 하나의 문자열을 포함하는 후보 질의문들을 필터링 할 수 있다.More specifically, the processor 110 may recognize at least one character string corresponding to a user input. Additionally, the processor 110 may filter candidate queries that include at least one recognized string from among the plurality of candidate queries.
예를 들어, 프로세서(110)는 사용자 입력에 대응하는 적어도 하나의 문자열이 '보험'인 경우, 복수의 후보 질의문들 중에서 '보험'이라는 문자열을 포함하는 '보험 가입 안내 페이지 알려줘'라는 후보 질의문을 필터링할 수 있다. 다만, 이에 한정되는 것은 아니다.For example, if at least one string corresponding to the user input is 'insurance', the processor 110 selects a candidate query 'Tell me about the insurance subscription information page' that includes the string 'insurance' from among the plurality of candidate queries. You can filter statements. However, it is not limited to this.
상술한 복수의 후보 질의문들은 컴퓨팅 장치(100)의 메모리(120)에 저장되어 있을 수 있다. 즉, 프로세서(110)는 메모리(120)에 저장된 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개의 후보 질의문들을 필터링할 수 있다.The plurality of candidate queries described above may be stored in the memory 120 of the
이하, 컴퓨팅 장치(100)의 프로세서(110)에 의해 필터링된 후보 질의문에 대한 설명은 도 3을 참조하여 후술한다.Hereinafter, candidate queries filtered by the processor 110 of the
한편, 복수의 후보 질의문들 각각에는 가중치 및 의미 분류가 설정되어 있을 수 있다. 여기서, 복수의 후보 질의문 각각에 설정된 가중치 및 의미 분류는 후술될 바와 같이, 프로세서(110)가 필터링된 N 개의 후보 질의문들 중에서 추천 질의문을 결정하는데 이용될 수 있다.Meanwhile, weights and semantic classifications may be set for each of the plurality of candidate queries. Here, the weight and semantic classification set for each of the plurality of candidate queries may be used by the processor 110 to determine a recommended query among the N filtered candidate queries, as will be described later.
본 개시내용에서 가중치는 추천 질의문에 대한 정확도를 나타내는 값일 수 있다. 예를 들어, 가중치는 0 내지 1 사이의 유리수이고, 질의문에 설정된 가중치가 1에 가까울수록 사용자로부터 자주 선택되는 질의문 일 수 있다. 다만, 이에 한정되는 것은 아니다.In the present disclosure, the weight may be a value indicating accuracy for a recommendation query. For example, the weight is a rational number between 0 and 1, and the closer the weight set to a query is to 1, the more often the query is selected by the user. However, it is not limited to this.
그리고, 의미 분류 및 의미 그룹은 설정된 후보 질의문(또는, 추천 질의문)과 연관된 업무 또는, 목적을 분류하기 위한 식별 값을 의미할 수 있다. 예를 들어, 의미 분류 및 의미 그룹은 '보험 가입', '로그인/인증' 또는 '보험 보장'과 같이 질의문의 목적을 나타내는 식별 정보일 수 있다. 다만, 이에 한정되는 것은 아니다.In addition, semantic classification and semantic group may mean identification values for classifying tasks or purposes related to a set candidate query (or recommended query). For example, semantic classification and semantic group may be identifying information that indicates the purpose of the query, such as 'insurance subscription', 'login/authentication', or 'insurance coverage'. However, it is not limited to this.
컴퓨팅 장치(100)의 프로세서(110)는 N 개의 후보 질의문들을 필터링한 후, 상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류할 수 있다(S120).The processor 110 of the
구체적으로, 프로세서(110)는 N 개의 후보 질의문들 각각에 설정되어 있는 의미 분류에 기초하여, 동일한 의미 분류를 갖는 후보 질의문을 동일한 그룹으로 분류할 수 있다.Specifically, the processor 110 may classify candidate queries having the same semantic classification into the same group based on the semantic classification set for each of the N candidate queries.
이하, 컴퓨팅 장치(100)의 프로세서(110)가 의미 분류를 이용하여 후보 질의문을 동일한 그룹으로 분류하는 방법에 대한 설명은 도 4를 참조하여 후술한다.Hereinafter, a description of how the processor 110 of the
한편, 컴퓨팅 장치(100)의 프로세서(110)는 동일한 의미 분류를 갖는 후보 질의문을 동일한 그룹으로 분류한 후, 제 2 방식 및 제 3 방식 각각에 기초하여, 적어도 하나의 의미 그룹 각각에서 기 설정된 개수의 질의문을 선택할 수 있다. 그리고, 프로세서(110)는 선택된 질의문을 추천 질의문으로 결정할 수 있다.Meanwhile, the processor 110 of the
구체적으로, 프로세서(110)는 제 2 방식에 기초하여, 적어도 하나의 의미 그룹 각각에서 K 개의 질의문을 선택할 수 있다(S130). 여기서, K 개는 1 이상의 자연수로, 챗봇 시스템을 운영하는 사용자로부터 설정된 특정 값이거나 또는, 적어도 하나의 의미 그룹의 개수에 대응되도록 설정된 값일 수 있다. 예를 들어, K 개는 적어도 하나의 의미 그룹의 1 배수 또는 2 배수로 사전에 설정될 수 있다. 즉, 후보 질의문이 5개의 의미 그룹으로 분류된 경우, 사전에 설정된 배수에 따라 K 개는 5개(1 배수인 경우) 또는, 10개(2 배수인 경우)일 수 있다. 다만, 이에 한정되는 것은 아니다.Specifically, the processor 110 may select K queries from each of at least one semantic group based on the second method (S130). Here, K is a natural number of 1 or more, and may be a specific value set by the user operating the chatbot system, or a value set to correspond to the number of at least one semantic group. For example, K may be set in advance as 1 or 2 multiples of at least one semantic group. That is, if the candidate questions are classified into 5 semantic groups, the number of K may be 5 (if multiple of 1) or 10 (if multiple of 2) depending on the preset multiple. However, it is not limited to this.
좀더 구체적으로, 프로세서(110)는 K 개의 질의문이 선택되도록 모든 의미 그룹 각각에서 하나 이상의 질의문을 선택할 수 있다. 동시에, 프로세서(110)는 동일한 의미 그룹으로 분류된 후보 질의문들 중에서 질의문을 선택할 때 가중치가 높은 순서대로 기 설정된 개수의 질의문을 선택할 수 있다.More specifically, processor 110 may select one or more queries from each of all semantic groups such that K queries are selected. At the same time, when selecting a query from candidate queries classified into the same semantic group, the processor 110 may select a preset number of queries in descending order of weight.
예를 들어, 제 1 내지 제 3 질의문이 제 1 의미 그룹으로 분류되고, 제 4 내지 제 6 질의문이 제 2 의미 그룹으로 분류되었다고 가정하면, 프로세서(110)는 제 1 의미 그룹에서 가장 높은 가중치(예컨대, 0.5)가 설정된 제 1 질의문을 선택할 수 있다. 또한, 프로세서(110)는 제 2 의미 그룹에서 가장 높은 가중치(예컨대, 0.7)가 설정된 제 5 질의문을 선택할 수 있다. 이 경우, 프로세서(110)가 동일한 의미 그룹으로 분류된 후보 질의문들 중에서 가중치가 높은 순서대로 선택하는 질의문의 기 설정된 개수는 1 개일 수 있다. 또한, 프로세서(110)가 제 2 방식에 기초하여 선택한 질의문의 개수인 K 개는 2 개일 수 있다. 다만, 이에 한정되는 것은 아니다.For example, assuming that the first to third queries are classified into the first semantic group, and the fourth to sixth queries are classified into the second semantic group, the processor 110 selects the highest semantic group in the first semantic group. The first query with a weight (eg, 0.5) set can be selected. Additionally, the processor 110 may select the fifth query with the highest weight (eg, 0.7) in the second semantic group. In this case, the preset number of queries that the processor 110 selects in descending order of weight from among candidate queries classified into the same semantic group may be 1. Additionally, the number K of queries selected by the processor 110 based on the second method may be 2. However, it is not limited to this.
즉, 본 개시의 제 2 방식은 적어도 하나의 의미 그룹 각각에서 가중치가 높은 순서대로 몇몇 질의문을 선택하는 방식일 수 있다.That is, the second method of the present disclosure may be a method of selecting several queries in order of high weight in each of at least one semantic group.
한편, 프로세서(110)는 제 3 방식에 기초하여, 적어도 하나의 의미 그룹 각각에서 L 개의 질의문을 선택할 수 있다(S140). 여기서, L 개는 1 이상의 자연수로, 챗봇 시스템을 운영하는 사용자로부터 설정된 특정 값이거나 또는, 적어도 하나의 의미 그룹의 개수에 대응되도록 설정된 값이거나, K 개에 대응되도록 설정된 값 일 수 있다. 예를 들어, L 개는 적어도 하나의 의미 그룹의 1 배수 또는 2 배수로 사전에 설정될 수 있다. 즉, 후보 질의문이 5개의 의미 그룹으로 분류된 경우, 사전에 설정된 배수에 따라 L 개는 5개(1 배수인 경우) 또는, 10개(2 배수인 경우)일 수 있다. 다른 예를 들어, L 개는 K 개의 1 배수 또는 2 배수로 사전에 설정될 수 있다. 즉, L 개는 K 개가 3개인 경우, 사전에 설정된 배수에 따라 3개(1 배수인 경우) 또는, 6개(2 배수인 경우)일 수 있다. 다만, 이에 한정되는 것은 아니다.Meanwhile, the processor 110 may select L queries from each of at least one semantic group based on the third method (S140). Here, L is a natural number of 1 or more, and may be a specific value set by the user operating the chatbot system, a value set to correspond to the number of at least one semantic group, or a value set to correspond to K. For example, L may be set in advance to be a multiple of 1 or 2 of at least one semantic group. That is, if the candidate query is classified into 5 semantic groups, the number of L may be 5 (if multiple of 1) or 10 (if multiple of 2) depending on the preset multiple. For another example, L may be preset to be a multiple of 1 or 2 of K. That is, when the number of K is 3, the number of L may be 3 (if multiple of 1) or 6 (if multiple of 2) depending on the preset multiple. However, it is not limited to this.
구체적으로, 프로세서(110)는 L 개의 질의문이 선택되도록 모든 의미 그룹 각각에서 하나 이상의 질의문을 선택할 수 있다. 동시에, 프로세서(110)는 동일한 의미 그룹으로 분류된 후보 질의문들 중에서 상술한 제 2 방식에 기초하여 선택된 질의문이 제외된 나머지 질의문들 중에서 무작위로 기 설정된 개수의 질의문을 선택할 수 있다.Specifically, the processor 110 may select one or more queries from each of all semantic groups so that L queries are selected. At the same time, the processor 110 may randomly select a preset number of queries from among the candidate queries classified into the same semantic group, excluding the query sentences selected based on the second method described above.
예를 들어, 제 1 내지 제 3 질의문이 제 1 의미 그룹으로 분류되고, 제 4 내지 제 6 질의문이 제 2 의미 그룹으로 분류되고, 제 2 방식으로 제 1 질의문 및 제 5 질의문이 선택되었다고 가정하면, 프로세서(110)는 제 1 의미 그룹의 나머지 질의문인 제 2 질의문 및 제 3 질의문 중 적어도 하나를 무작위로 선택할 수 있다. 또한, 프로세서(110)는 제 2 의미 그룹에서 나머지 질의문인 제 4 질의문 및 제 6 질의문 중 적어도 하나를 무작위로 선택할 수 있다. 이 경우, 프로세서(110)가 동일한 의미 그룹으로 분류된 나머지 후보 질의문들 중에서 무작위로 선택하는 질의문의 기 설정된 개수는 1 개일 수 있다. 또한, 프로세서(110)가 제 3 방식에 기초하여 선택한 질의문의 개수인 L 개는 2 개일 수 있다. 다만, 이에 한정되는 것은 아니다.For example, queries 1 to 3 are classified into the first semantic group, queries 4 to 6 are classified into the second semantic group, and queries 1 and 5 are classified in a second way. Assuming that it is selected, the processor 110 may randomly select at least one of the second and third queries, which are the remaining queries of the first semantic group. Additionally, the processor 110 may randomly select at least one of the remaining queries, the fourth query and the sixth query, from the second semantic group. In this case, the preset number of queries that the processor 110 randomly selects from among the remaining candidate queries classified into the same semantic group may be 1. Additionally, the number L, which is the number of queries selected by the processor 110 based on the third method, may be 2. However, it is not limited to this.
즉, 본 개시의 제 3 방식은 제 2 방식으로 선택되지 않은 적어도 하나의 의미 그룹 각각의 나머지 질의문 중에서 무작위로 몇몇 질의문을 선택하는 방식일 수 있다. 예를 들어, 제 3 방식은 층화 추출법(stratified sampling)일 수 있다. 다만, 이에 한정되는 것은 아니다.That is, the third method of the present disclosure may be a method of randomly selecting several queries from among the remaining queries for each of at least one semantic group that was not selected in the second method. For example, the third method may be stratified sampling. However, it is not limited to this.
본 개시의 몇몇 실시예에 따른 컴퓨팅 장치(100)의 프로세서(110)는 상술한 바와 같이, 두 가지 방법을 이용하여 추천 질의문을 생성할 수 있다. 이 경우, 낮은 가중치를 갖는 후보 질의문이 추천 질의문으로 결정되지 않는 것을 방지할 수 있다.The processor 110 of the
구체적으로, 본 개시의 가중치는 추천된 횟수와 선택된 횟수에 기반하여 산출된다. 이러한 가중치만을 이용하여 질의문이 선택 및 추천되는 경우, 최초에 가중치가 낮게 설정된 질의문은 추천될 수 없다. 이를 방지하기 위해, 본 개시의 프로세서(110)는 가중치를 이용하여 몇몇 질의문을 선택하고, 상대적으로 가중치가 낮은 질의문 중에서 무작위로 몇몇 질의문을 선택하여 다양한 추천 질의문을 사용자에게 제시한다.Specifically, the weight of the present disclosure is calculated based on the number of recommendations and the number of selections. When queries are selected and recommended using only these weights, queries whose weights were initially set low cannot be recommended. To prevent this, the processor 110 of the present disclosure selects several questions using weights, randomly selects some questions from among the questions with relatively low weights, and presents various recommended questions to the user.
따라서, 프로세서(110)는 다양한 추천 질의문을 사용자에게 제공하고, 추천된 질의문들의 가중치를 업데이트할 수 있다. 그리고, 프로세서(110)는 수시로 업데이트되는 가중치를 이용하여 일부 추천 질의문을 결정하기 때문에, 챗봇 이용 시점(예컨대, 연말, 연초, 아침, 저녁 등)에 따라 달라질 수 있는 질의의 트렌드를 반영하여 추천 질의문을 사용자에게 제시할 수 있다.Accordingly, the processor 110 may provide various recommended queries to the user and update the weights of the recommended queries. In addition, because the processor 110 determines some recommended queries using weights that are updated from time to time, recommendations are made by reflecting the trend of queries that may vary depending on the time of chatbot use (e.g., year-end, beginning of the year, morning, evening, etc.) A query can be presented to the user.
이하, 컴퓨팅 장치(100)의 프로세서(110)가 제 2 방식 및 제 3 방식 각각에 기초하여, 적어도 하나의 의미 그룹 각각에서 기 설정된 개수의 질의문을 선택하는 방법에 대한 설명은 후술될 도 4를 참조하여 좀더 쉽게 설명한다.Hereinafter, a description of a method by which the processor 110 of the
한편, 컴퓨팅 장치(100)의 프로세서(110)는 K 개의 질의문을 선택하고, L 개의 질의문을 선택한 후, K 개의 질의문과 L 개의 질의문을 추천 질의문으로 결정할 수 있다(S150).Meanwhile, the processor 110 of the
그리고, 프로세서(110)는 추천 질의문을 사용자에게 제시할 수 있다.Additionally, the processor 110 may present a recommended query to the user.
구체적으로, 프로세서(110)는 추천 질의문을 결정한 경우, K 개의 질의문이 L 개의 질의문 보다 우선적으로 사용자에게 제시되도록 추천 질의문을 정렬할 수 있다.Specifically, when the processor 110 determines a recommended query, it can sort the recommended queries so that K queries are presented to the user with priority over L queries.
좀더 구체적으로, 프로세서(110)는 가중치에 기초하여 K 개의 질의문 중 우선적으로 제시되는 질의문을 결정할 수 있다.More specifically, the processor 110 may determine which of the K queries is presented preferentially based on the weight.
예를 들어, 프로세서(110)는 높은 가중치를 갖는 질의문이 사용자에게 우선적으로 제시되도록 K 개의 질의문 중 가중치가 높은 순서에 따라 추천 질의문을 정렬할 수 있다. 다만, 이에 한정되는 것은 아니다.For example, the processor 110 may sort recommended queries among the K queries in order of highest weight so that queries with high weights are presented preferentially to the user. However, it is not limited to this.
본 개시의 가중치는 복수의 후보 질의문들 각각이 추천 질의문으로 결정되었을 때 사용자로부터 선택된 제 1 횟수를 복수의 후보 질의문들 각각이 추천 질의문으로 결정된 제 2 횟수로 나누어 산출될 수 있다. 여기서, 제 1 횟수는 복수의 후보 질의문들 각각이 추천 질의문으로 결정된 경우 업데이트되고, 제 2 횟수는 추천 질의문이 사용자로부터 선택된 경우 업데이트될 수 있다.The weight of the present disclosure may be calculated by dividing the first number of times each of the plurality of candidate questions is selected by the user when each is determined to be a recommended question by the second number of times each of the plurality of candidate questions is determined to be a recommended question. Here, the first number of times may be updated when each of the plurality of candidate questions is determined to be a recommended question, and the second number of times may be updated when the recommended question is selected by the user.
즉, 가중치는 추천 질의문이 사용자에게 제시되었을 때, 사용자로부터 자주 선택될수록 높을 수 있다.In other words, the weight may be higher when a recommended query is presented to the user, the more frequently it is selected by the user.
따라서, 가중치에 기초하여 선택된 K 개의 질의문이 사용자에게 우선적으로 제시되도록 추천 질의문을 정렬하는 본 개시의 프로세서(110)는 사용자의 편의성과 사용자 경험을 향상시킬 수 있다.Accordingly, the processor 110 of the present disclosure, which sorts recommended queries so that K queries selected based on weights are presented preferentially to the user, can improve user convenience and user experience.
또한, 본 개시의 프로세서(110)는 K 개의 추천 질의문 중에서도 높은 가중치를 갖는 추천 질의문을 사용자에게 우선적으로 제시되도록 추천 질의문을 정렬하여, 추천 질의문에 대한 추천 정확성(사용자가 원하는 질의문을 추천하는 정확성)을 높일 수 있다.In addition, the processor 110 of the present disclosure sorts the recommended queries so that the recommended queries with a high weight among the K recommended queries are presented preferentially to the user, and recommends the accuracy of the recommended queries (the query desired by the user). (recommendation accuracy) can be increased.
이하, 추천 질의문이 사용자에게 제시되는 예시는 도 5를 참조하여 후술하고, 가중치가 업데이트되는 예시는 도 6을 참조하여 후술한다.Hereinafter, an example in which a recommended query is presented to the user will be described later with reference to FIG. 5, and an example in which weights are updated will be described later with reference to FIG. 6.
도 3은 본 개시의 몇몇 실시예에 따른 필터링된 후보 질의문들의 일례를 설명하기 위한 도면이다. 도 4는 본 개시의 몇몇 실시예에 따른 의미 그룹의 일례를 설명하기 위한 도면이다.FIG. 3 is a diagram illustrating an example of filtered candidate queries according to some embodiments of the present disclosure. Figure 4 is a diagram for explaining an example of a semantic group according to some embodiments of the present disclosure.
본 개시의 몇몇 실시예에 따르면, 복수의 후보 질의문들은 컴퓨팅 장치(100)의 메모리(120)에 저장되어 있을 수 있다. 그리고, 컴퓨팅 장치(100)의 프로세서(110)는 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개의 후보 질의문들을 필터링할 수 있다.According to some embodiments of the present disclosure, a plurality of candidate queries may be stored in the memory 120 of the
예를 들어, 컴퓨팅 장치(100)의 프로세서(110)는 사용자가 '보험'이라는 텍스트를 입력한 경우, '보험'이라는 문자열을 포함하는 후보 질의문들을 필터링할 수 있다.For example, when the user inputs the text 'insurance', the processor 110 of the
도 3을 참조하면, 필터링된 N 개의 후보 질의문들의 예시에 대한 이해가 쉽도록 테이블(300)의 형태로 도시하였다.Referring to FIG. 3, examples of filtered N candidate queries are shown in the form of a table 300 for easy understanding.
도시된 바와 같이, 컴퓨팅 장치(100)의 프로세서(110)는 사용자가 '보험'이라는 텍스트를 입력한 경우, '보험'이라는 문자열을 포함하는 후보 질의문들인 '보험 가입 안내 페이지 알려줘', '보험 가입하고 싶어', '보험 보장 내용 알려줘' 등과 같은 후보 질의문을 필터링할 수 있다.As shown, when the user inputs the text 'insurance', the processor 110 of the
그리고, 필터링된 N 개(여기서, 8 개)의 후보 질의문들(310) 각각에는 의미 분류(320) 및 가중치(330)가 설정되어 있을 수 있다.Additionally, a
이러한, 의미 분류(320) 및 가중치(330)는 프로세서(110)가 필터링된 N 개의 후보 질의문들 중에서 추천 질의문을 결정하는데 이용할 수 있다.These
먼저, 프로세서(110)는 후보 질의문들(310) 각각에 설정된 의미 분류(320)를 이용하여 동일한 의미 분류를 갖는 후보 질의문을 동일한 그룹으로 분류할 수 있다.First, the processor 110 may classify candidate queries having the same semantic classification into the same group using the
도 4를 참조하여 좀더 구체적으로 설명하면, 프로세서(110)는 도 3에 도시된 후보 질의문들(310)을 후보 질의문들(310) 각각에 설정된 의미 분류(320)에 따라 제 1 의미 그룹(410), 제 2 의미 그룹(420) 및 제 3 의미 그룹(430)으로 분류할 수 있다. 여기서, 제 1 의미 그룹(410), 제 2 의미 그룹(420) 및 제 3 의미 그룹(430) 각각은 본 개시의 이해를 돕기 위해 테이블의 형태로 도시하였으나, 이에 한정되는 것은 아니다.To be described in more detail with reference to FIG. 4, the processor 110 divides the candidate questions 310 shown in FIG. 3 into a first semantic group according to the
예를 들어, 제 1 의미 그룹(410)은 '보험가입'과 관련된 의미 그룹이고, 제 2 의미 그룹(420)은 '로그인/인증'과 관련된 의미 그룹이고, 제 3 의미 그룹(430)은 '보험보장'과 관련된 의미 그룹일 수 있다. 다만, 이에 한정되는 것은 아니다.For example, the first
다음으로, 프로세서(110)는 후보 질의문들(310) 각각을 의미 그룹 별로 분류한 후, 제 2 방식 및 제 3 방식 각각에 기초하여, 적어도 하나의 의미 그룹 각각에서 기 설정된 개수의 질의문을 선택할 수 있다.Next, the processor 110 classifies each of the candidate queries 310 by semantic group and then, based on each of the second method and the third method, generates a preset number of queries in each of at least one semantic group. You can choose.
예를 들어, 프로세서(110)는 제 2 방식(예를 들어, 각각의 의미 그룹 내에서 가중치가 높은 질의문을 선택하는 방식)을 이용하여, 제 1 의미 그룹(410)에서 가장 높은 가중치인 0.5가 설정된 제 1 질의문(411)을 선택할 수 있다. 또한, 프로세서(110)는 제 2 방식을 이용하여, 제 2 의미 그룹(420)에서 가장 높은 가중치인 0.6이 설정된 제 2 질의문(421)을 선택할 수 있다. 또한, 프로세서(110)는 제 2 방식을 이용하여, 제 3 의미 그룹(430)에서 가장 높은 가중치인 0.7이 설정된 제 3 질의문(431)을 선택할 수 있다.For example, the processor 110 uses a second method (e.g., a method of selecting a query statement with a high weight within each semantic group) to select the highest weight of 0.5 in the first
그리고, 프로세서(110)는 제 3 방식(예를 들어, 층화 추출법)을 이용하여, 제 1 의미 그룹(410)에서 선택되지 않은 나머지 질의문(412) 중에서 적어도 하나의 질의문을 선택할 수 있다. 또한, 프로세서(110)는 제 3 방식을 이용하여, 제 2 의미 그룹(420)에서 나머지 질의문(422) 중에서 적어도 하나의 질의문을 선택할 수 있다. 또한, 프로세서(110)는 제 3 방식을 이용하여, 제 3 의미 그룹(430)의 나머지 질의문(432) 중에서 적어도 하나의 질의문을 선택할 수 있다.Additionally, the processor 110 may select at least one query from among the remaining
본 개시의 프로세서(110)는 두 가지 방식(제 2 방식 및 제 3 방식)을 이용하여 추천 질의문을 결정하기 때문에, 질의문에 설정된 가중치가 낮아 몇몇 질의문에 대한 추천이 전혀 이루어지지 않는 것을 방지할 수 있다.Since the processor 110 of the present disclosure determines recommended queries using two methods (the second method and the third method), the weight set for the queries is low and therefore no recommendations are made for some queries at all. It can be prevented.
이 경우, 프로세서(110)는 다양한 추천 질의문을 사용자에게 제공하고, 추천된 질의문들의 가중치를 업데이트할 수 있다. 그리고, 프로세서(110)는 수시로 업데이트되는 가중치를 이용하여 일부 추천 질의문을 결정하기 때문에, 챗봇 이용 시점 또는 사용자의 상황 등에 따라 달라질 수 있는 질의의 트렌드를 반영하여 추천 질의문을 사용자에게 제시할 수 있다.In this case, the processor 110 may provide various recommended questions to the user and update the weights of the recommended questions. In addition, because the processor 110 determines some recommended questions using weights that are updated from time to time, recommended questions can be presented to the user by reflecting the trend of inquiries that may vary depending on the time of chatbot use or the user's situation. there is.
한편, 상기와 같이 프로세서(110)에 의해 선택된 질의문은 추천 질의문으로 사용자에게 제시될 수 있다.Meanwhile, the query selected by the processor 110 as described above may be presented to the user as a recommended query.
이하, 추천 질의문이 사용자에게 제시되는 예시는 도 5를 참조하여 후술한다.Hereinafter, an example of how a recommended query is presented to a user will be described later with reference to FIG. 5 .
도 5는 본 개시의 몇몇 실시예에 따른 추천 질의문이 사용자에게 제시되는 일례를 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating an example in which recommended questions are presented to a user according to some embodiments of the present disclosure.
본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치(100)의 프로세서(110)는 복수의 후보 질의문 중에서 사용자 입력에 대응하는 N 개의 후보 질의문들을 필터링할 수 있다. 또한, 프로세서(110)는 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류할 수 있다. 또한, 프로세서(110)는 적어도 하나의 의미 그룹 각각에서 K 개의 질의문을 선택할 수 있다. 또한, 프로세서(110)는 적어도 하나의 의미 그룹 각각에서 L 개의 질의문을 선택할 수 있다. 그리고, 프로세서(110)는 K 개의 질의문과 L 개의 질의문을 추천 질의문으로 결정할 수 있다.According to some embodiments of the present disclosure, the processor 110 of the
이하, 컴퓨팅 장치(100)의 프로세서(110)가 추천 질의문을 결정(또는, 생성)하는 방법에 대한 설명은 도 2 내지 도 4를 참조하여 상술하였으므로 생략하고, 추천 질의문을 사용자에게 제시하는 실시예를 구체적으로 설명한다.Hereinafter, a description of how the processor 110 of the
본 개시의 몇몇 실시예에 따르면, 추천 질의문은 정렬된 상태로 사용자에게 제시될 수 있다.According to some embodiments of the present disclosure, recommended queries may be presented to the user in a sorted state.
도 5를 참조하면, 추천 질의문이 사용자에게 제시되는 예시를 도시하였다.Referring to Figure 5, an example of a recommended query is presented to the user is shown.
예를 들어, 사용자는 챗봇 기능을 이용하기 위해 소정의 입력창(510)에 '보험'이라는 사용자 입력(511)을 입력할 수 있다.For example, a user may enter the
이 경우, 컴퓨팅 장치(100)의 프로세서(110)는 사용자 입력(511)인 '보험'과 관련된 추천 질의문(520)을 사용자에게 제시할 수 있다.In this case, the processor 110 of the
한편, 프로세서(110)는 상술한 바와 같이 추천 질의문(520)을 정렬된 상태로 사용자에게 제시할 수 있다.Meanwhile, the processor 110 may present the recommended
구체적으로, 프로세서(110)는 제 2 방식을 통해 선택된 K 개의 질의문(521)이 사용자에게 우선적으로 제시되도록 K 개의 질의문(521)이 상단에 배치시킬 수 있다. 그리고, 프로세서(110)는 제 3 방식을 통해 선택된 L 개의 질의문(522)은 K 개의 질의문(521) 아래에 배치시킬 수 있다.Specifically, the processor 110 may arrange the K questions 521 selected through the second method at the top so that the K questions 521 are presented preferentially to the user. Additionally, the processor 110 may place the L number of
좀더 구체적으로, 프로세서(110)는 K 개의 질의문(521)을 가중치가 높은 순서대로 배치할 수 있다.More specifically, the processor 110 may arrange K queries 521 in order of highest weight.
예를 들어, 질의문인 '보험 보장 내역 조회'에 설정된 가중치가 0.7이고, 질의문인 '보험 서비스 로그인 하는 방법'에 설정된 가중치가 0.6이고, 질의문인 '보험 가입 안내 페이지 알려줘'에 설정된 가중치가 0.5라고 가정하면, 프로세서(110)는 가중치가 가장 높게 설정된 질의문인 '보험 보장 내역 조회'를 최상단에 배치할 수 있다. 또한, 프로세서(110)는 두 번째로 높은 가중치가 설정된 질의문인 '보험 서비스 로그인 하는 방법'을 최상단 바로 아래(즉, 두 번째 위치)에 배치할 수 있다. 그리고, 프로세서(110)는 세 번째로 높은 가중치가 설정된 질의문인 '보험 가입 안내 페이지 알려줘'를 세 번째 위치에 배치할 수 있다. 다만, 이에 한정되는 것은 아니다.For example, the weight set for the query 'Insurance coverage details inquiry' is 0.7, the weight set for the query 'How to log in to insurance services' is 0.6, and the weight set for the query 'Tell me about the insurance subscription information page' is 0.5. Assuming, the processor 110 can place 'Insurance coverage details inquiry', which is a query with the highest weight, at the top. Additionally, the processor 110 may place 'How to log in to insurance service', which is a query with the second highest weight, immediately below the top (i.e., in the second position). Additionally, the processor 110 may place the query with the third highest weight, 'Tell me about the insurance subscription guide page', in the third position. However, it is not limited to this.
본 개시의 추가적인 몇몇 실시예에 따르면, 컴퓨팅 장치(100)의 프로세서(110)는 상대적으로 가중치가 낮은 L 개의 질의문(522)을 상대적으로 가중치가 높은 K 개의 질의문(521) 사이에 배치할 수도 있다.According to some additional embodiments of the present disclosure, the processor 110 of the
예를 들어, 프로세서(110)는 K 개의 질의문 중 하나인 제 1 질의문을 최상단에 배치하고, L 개의 질의문 중 하나인 제 2 질의문을 두 번째 위치에 배치하고, K 개의 질의문 중 다른 하나인 제 3 질의문을 세 번째 위치에 배치하고, L 개의 질의문 중 하나인 제 4 질의문을 네 번째 위치에 배치할 수 있다. 즉, 프로세서(110)는 K 개의 질의문에 포함된 몇몇 질의문과 L 개의 질의문에 포함된 몇몇 질의문이 교번 하도록 정렬할 수 있다.For example, the processor 110 places the first query statement, which is one of the K query statements, at the top, places the second query statement, which is one of the L query statements, in the second position, and places the first query statement, which is one of the K query statements, at the second position. The other third query statement can be placed in the third position, and the fourth query statement, one of the L queries, can be placed in the fourth position. That is, the processor 110 may arrange some queries included in the K queries and some queries included in the L queries alternately.
한편, 본 개시에 따르면, 가중치는 질의문 각각이 추천 질의문으로 선택된 횟수와, 질의문 각각이 사용자에 의해 선택된 횟수에 기초하여 산출할 수 있다. 이 경우, 만약 가중치에만 기초하여 질의문을 선택하면, 상대적으로 가중치가 높은 몇몇 질의문은 사용자에게 우선적으로 노출됨에 따라, 사용자로부터 선택될 확률이 높아질 수 있다. 그리고, 가중치가 낮은 몇몇 질의문들은 사용자에게 노출되는 횟수가 낮아져, 사용자로부터 선택될 확률이 낮아질 수 있다. 즉, 가중치가 높은 질의문들만 가중치가 계속해서 높아질 수 있고, 지속적으로 특정 질의문의 가중치가 낮아질 수 있다. 하지만, 상술한 실시예들 중 적어도 하나에 따르면, 가중치가 낮은 몇몇 질의문들도 선택될 가능성이 생기기 때문에 가중치가 지속적으로 낮아지는 것을 방지할 수 있다. 다만, 이에 한정되는 것은 아니다.Meanwhile, according to the present disclosure, the weight can be calculated based on the number of times each question is selected as a recommended question and the number of times each question is selected by the user. In this case, if queries are selected based only on weights, some queries with relatively high weights may be exposed to the user preferentially, thereby increasing the probability of being selected by the user. In addition, some queries with low weights may have a lower number of exposures to the user, lowering the probability of being selected by the user. In other words, only queries with high weights can have their weights continuously increased, and the weights of specific queries can be continuously lowered. However, according to at least one of the above-described embodiments, it is possible to prevent the weight from being continuously lowered because there is a possibility that some queries with low weights may also be selected. However, it is not limited to this.
한편, 본 개시의 프로세서(110)는 사용자에게 자주 선택되는 질의문 순서대로 정렬하여 추천 질의문을 제공하기 때문에, 사용자의 편의성을 증대시킬 수 있다. 이러한 본 개시의 추천 질의문 생성 방법을 통해 추천 질의문이 사용자에게 제시되는 경우, 사용자로 하여금 추천 정확도가 높다고 판단될 수 있다.Meanwhile, the processor 110 of the present disclosure provides recommended questions by arranging frequently selected questions to the user, thereby increasing user convenience. When a recommendation query is presented to a user through the recommendation query generation method of the present disclosure, the user may determine that the recommendation accuracy is high.
이하, 본 개시의 가중치가 산출되는 방법에 대한 설명은 도 6을 참조하여 후술한다.Hereinafter, a description of the method for calculating the weight of the present disclosure will be described later with reference to FIG. 6.
도 6은 본 개시의 몇몇 실시예에 따른 후보 질의문들의 가중치를 산출하는 방법의 일례를 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating an example of a method for calculating weights of candidate queries according to some embodiments of the present disclosure.
본 개시의 몇몇 실시예에 따르면, 본 개시의 가중치는 복수의 후보 질의문 각각에 설정되어 있을 수 있다. 이러한 본 개시의 가중치는 컴퓨팅 장치(100)의 프로세서(110)가 추천 질의문을 결정할 때 이용될 수 있다.According to some embodiments of the present disclosure, the weight of the present disclosure may be set to each of a plurality of candidate queries. These weights of the present disclosure may be used when the processor 110 of the
또한, 복수의 후보 질의문 각각에 설정된 가중치는 컴퓨팅 장치(100)의 프로세서(110)에 의해 산출되고, 업데이트될 수 있다.Additionally, the weights set for each of the plurality of candidate queries may be calculated and updated by the processor 110 of the
도 6을 참조하면, 복수의 후보 질의문 각각에 설정된 가중치의 예시에 대한 이해가 쉽도록 테이블(600)의 형태로 도시하였다.Referring to FIG. 6, an example of weights set for each of a plurality of candidate questions is shown in the form of a table 600 to facilitate understanding.
도시된 바와 같이, 복수의 후보 질의문들(610) 각각에는 가중치(640)가 설정되어 있을 수 있다. 구체적으로, 복수의 후보 질의문들(610) 각각에는 추천 횟수(620) 및 선택 횟수(630)가 맵핑되어 있을 수 있다. 그리고, 가중치(640)는 선택 횟수(630)를 추천 횟수(620)로 나눈 값일 수 있다.As shown, a
여기서, 추천 횟수(620)는 컴퓨팅 장치(100)의 프로세서(110)에 의해 특정 질의문이 추천 질의문으로 결정된 횟수를 의미한다. 그리고, 선택 횟수(630)는 특정 질의문이 추천 질의문으로 사용자에게 제공되었을 때, 사용자로부터 선택된 횟수를 의미한다.Here, the number of
본 개시의 컴퓨팅 장치(100)의 프로세서(110)는 추천 질의문을 결정하고, 특정 추천 질의문이 사용자로부터 선택될 때마다, 추천된 질의문들 각각의 가중치를 업데이트할 수 있다.The processor 110 of the
구체적으로, 컴퓨팅 장치(100)의 프로세서(110)는 복수의 후보 질의문들 각각이 추천 질의문으로 결정된 경우 복수의 후보 질의문들 각각의 추천 횟수(620)를 업데이트할 수 있다. 또한, 프로세서(110)는 특정 추천 질의문이 사용자로부터 선택된 경우 선택 횟수(630)를 업데이트할 수 있다. 프로세서(110)는 추천 횟수(620) 또는 선택 횟수(630) 중 적어도 하나가 업데이트된 때 가중치를 같이 업데이트할 수 있다. Specifically, the processor 110 of the
상술한 바와 같이, 본 개시의 컴퓨팅 장치(100)의 프로세서(110)는 수시로 업데이트되는 가중치를 이용하여 일부 추천 질의문을 결정할 수 있다. 따라서, 프로세서(110)는 챗봇 이용 시점 또는 사용자의 상황 등에 따라 달라질 수 있는 질의의 트렌드를 반영하여 추천 질의문을 사용자에게 제시할 수 있다.As described above, the processor 110 of the
본 개시내용이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시내용 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.Although the present disclosure has been described generally in the context of computer-executable instructions that can be executed on one or more computers, those skilled in the art will recognize that the disclosure can be combined with other program modules and/or implemented as a combination of hardware and software. You will know.
컴퓨터는 통상적으로 다양한컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체 로서, 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체를 포함할 수 있다.Computers typically include a variety of computer-readable media. Media accessible by a computer includes volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media. By way of example, and not limitation, computer-readable media may include computer-readable storage media.
컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computer-readable storage media refers to volatile and non-volatile media, transient and non-transitory media, removable and non-removable, implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Includes media. Computer readable storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage. This includes, but is not limited to, a device, or any other medium that can be accessed by a computer and used to store desired information.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that the various illustrative logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein may be used in electronic hardware, (for convenience) It will be understood that the implementation may be implemented by various forms of program or design code (referred to herein as “software”) or a combination of both. To clearly illustrate this interoperability of hardware and software, various illustrative components, blocks, modules, circuits and steps have been described above generally with respect to their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and design constraints imposed on the overall system. A person skilled in the art of this disclosure may implement the described functionality in various ways for each specific application, but such implementation decisions should not be construed as departing from the scope of this disclosure.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” includes a computer program or media accessible from any computer-readable device. For example, computer-readable storage media include magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash. Includes, but is not limited to, memory devices (e.g., EEPROM, cards, sticks, key drives, etc.). The term “machine-readable media” includes, but is not limited to, wireless channels and various other media capable of storing, retaining, and/or transmitting instruction(s) and/or data.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the disclosure. Thus, the present disclosure is not limited to the embodiments presented herein but is to be interpreted in the broadest scope consistent with the principles and novel features presented herein.
Claims (12)
제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계;
상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계;
제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계;
제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계; 및
상기 K 개의 질의문과 상기 L 개의 질의문을 추천 질의문으로 결정하는 단계;
를 포함하고,
상기 복수의 후보 질의문들 각각에는 가중치가 설정되어 있고,
상기 가중치는,
상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정되었을 때 사용자로부터 선택된 제 1 횟수와 상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정된 제 2 횟수를 비교한 값을 이용하여 산출되는,
추천 질의문 생성 방법.
In a method of generating a recommendation query performed by a processor of a computing device,
Based on the first method, filtering N candidate questions (N is a natural number of 1 or more) corresponding to a user input from among a plurality of candidate questions;
Classifying the N candidate queries into at least one semantic group;
Based on the second method, selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group;
Based on the third method, selecting L query sentences (L is a natural number of 1 or more) from each of the at least one semantic group; and
determining the K questions and the L questions as recommended questions;
Including,
A weight is set for each of the plurality of candidate questions,
The weight is,
Calculated using the value of comparing the first number of times that each of the plurality of candidate questions is selected by the user when each of the plurality of candidate questions is determined to be the recommended question and the second number of times that each of the plurality of candidate questions is determined to be the recommended question. felled,
How to create a recommended query.
상기 제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계는,
문자열 매칭을 이용하여, 상기 복수의 후보 질의문들 중에서 상기 사용자 입력과 기 설정된 정도 이상의 유사도를 갖는 상기 N 개의 후보 질의문을 필터링하는 단계;
를 포함하는,
추천 질의문 생성 방법.
According to claim 1,
Based on the first method, the step of filtering N candidate questions (N is a natural number of 1 or more) corresponding to the user input from among the plurality of candidate questions,
Using string matching, filtering the N candidate queries that have a similarity of more than a preset level to the user input from among the plurality of candidate queries;
Including,
How to create a recommended query.
상기 복수의 후보 질의문들 각각에는 의미 분류가 더 설정되어 있는,
추천 질의문 생성 방법.
According to claim 1,
A semantic classification is further set for each of the plurality of candidate queries,
How to create a recommended query.
상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계는,
상기 N 개의 후보 질의문들 각각에 설정되어 있는 상기 의미 분류에 기초하여, 동일한 의미 분류를 갖는 후보 질의문을 동일한 그룹으로 분류하는 단계;
를 포함하는,
추천 질의문 생성 방법.
According to claim 3,
The step of classifying the N candidate queries into at least one semantic group is:
Classifying candidate queries having the same semantic classification into the same group based on the semantic classification set for each of the N candidate queries;
Including,
How to create a recommended query.
상기 제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계는,
상기 K 개의 질의문이 선택되도록 모든 의미 그룹 각각에서 하나 이상의 질의문을 선택하되, 동일한 의미 그룹으로 분류된 후보 질의문들 중에서 질의문을 선택할 때 가중치가 높은 순서대로 기 설정된 개수의 질의문을 선택하는 단계;
를 포함하고,
추천 질의문 생성 방법.
According to claim 3,
Based on the second method, the step of selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group includes:
One or more queries are selected from each of all semantic groups so that the K queries are selected, but when selecting a query from candidate queries classified into the same semantic group, a preset number of queries are selected in order of highest weight. steps;
Including,
How to create a recommended query.
상기 제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계는,
상기 L 개의 질의문이 선택되도록 모든 의미 그룹 각각에서 하나 이상의 질의문을 선택하되, 동일한 의미 그룹으로 분류된 후보 질의문들 중에서 상기 제 2 방식에 기초하여 선택된 질의문이 제외된 나머지 질의문들 중에서 무작위로 기 설정된 개수의 질의문을 선택하는 단계;
를 포함하는,
추천 질의문 생성 방법.
According to claim 1,
Based on the third method, the step of selecting L questions (L is a natural number of 1 or more) from each of the at least one semantic group includes:
One or more queries are selected from each of all semantic groups so that the L number of queries are selected, and among the candidate queries classified into the same semantic group, the query sentences selected based on the second method are excluded from the remaining queries. Randomly selecting a preset number of questions;
Including,
How to create a recommended query.
상기 비교한 값은,
상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정되었을 때 사용자로부터 선택된 제 1 횟수를 상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정된 제 2 횟수로 나누어 산출되는,
추천 질의문 생성 방법.
According to claim 1,
The compared values above are,
Calculated by dividing the first number of times each of the plurality of candidate questions is selected by the user when each of the plurality of candidate questions is determined to be the recommended question by the second number of times each of the plurality of candidate questions is determined to be the recommended question,
How to create a recommended query.
상기 제 1 횟수는,
상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정된 경우 업데이트되고,
상기 제 2 횟수는,
상기 추천 질의문이 상기 사용자로부터 선택된 경우 업데이트되는,
추천 질의문 생성 방법.
According to claim 1,
The first number of times is,
Each of the plurality of candidate questions is updated when determined as the recommended question,
The second number of times is,
Updated when the recommended query is selected by the user,
How to create a recommended query.
상기 K 개의 질의문이 상기 L 개의 질의문 보다 우선적으로 상기 사용자에게 제시되도록 상기 추천 질의문을 정렬하는 단계;
를 더 포함하는,
추천 질의문 생성 방법.
According to claim 1,
Sorting the recommended questions so that the K questions are presented to the user with priority over the L questions;
Containing more,
How to create a recommended query.
상기 K 개의 질의문이 상기 L 개의 질의문 보다 우선적으로 상기 사용자에게 제시되도록 상기 추천 질의문을 정렬하는 단계는,
가중치에 기초하여 상기 K 개의 질의문 중 우선적으로 제시되는 질의문을 결정하는 단계;
를 포함하는,
추천 질의문 생성 방법.
According to clause 9,
The step of sorting the recommended questions so that the K questions are presented to the user with priority over the L questions is:
determining a preferentially presented question among the K questions based on a weight;
Including,
How to create a recommended query.
복수의 후보 질의문들을 저장하는 메모리; 및
상기 복수의 후보 질의문들을 이용하여, 추천 질의문을 생성하는 프로세서;
를 포함하고,
상기 프로세서는,
제 1 방식에 기초하여, 상기 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하고,
상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하고,
제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하고,
제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하고,
상기 K 개의 질의문과 상기 L 개의 질의문을 상기 추천 질의문으로 결정하고,
상기 복수의 후보 질의문들 각각에는 가중치가 설정되어 있고,
상기 가중치는,
상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정되었을 때 사용자로부터 선택된 제 1 횟수와 상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정된 제 2 횟수를 비교한 값을 이용하여 산출되는,
추천 질의문 생성하는 컴퓨팅 장치.
In a computing device that generates a recommendation query,
a memory storing a plurality of candidate queries; and
a processor that generates a recommended query statement using the plurality of candidate query statements;
Including,
The processor,
Based on the first method, filter N candidate queries (N is a natural number of 1 or more) corresponding to user input from among the plurality of candidate queries,
Classify the N candidate queries into at least one semantic group,
Based on the second method, select K questions (K is a natural number of 1 or more) from each of the at least one semantic group,
Based on the third method, select L questions (L is a natural number of 1 or more) from each of the at least one semantic group,
Determine the K questions and the L questions as the recommended questions,
A weight is set for each of the plurality of candidate questions,
The weight is,
Calculated using the value of comparing the first number of times that each of the plurality of candidate questions is selected by the user when each of the plurality of candidate questions is determined to be the recommended question and the second number of times that each of the plurality of candidate questions is determined to be the recommended question. felled,
A computing device that generates recommendation queries.
상기 컴퓨터 프로그램은 컴퓨팅 장치의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
제 1 방식에 기초하여, 복수의 후보 질의문들 중에서 사용자 입력에 대응하는 N 개(N은 1이상의 자연수)의 후보 질의문들을 필터링하는 단계;
상기 N 개의 후보 질의문들을 적어도 하나의 의미 그룹으로 분류하는 단계;
제 2 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 K 개(K는 1이상의 자연수)의 질의문을 선택하는 단계;
제 3 방식에 기초하여, 상기 적어도 하나의 의미 그룹 각각에서 L 개(L은 1 이상의 자연수)의 질의문을 선택하는 단계; 및
상기 K 개의 질의문과 상기 L 개의 질의문을 추천 질의문으로 결정하는 단계;
를 포함하고,
상기 복수의 후보 질의문들 각각에는 가중치가 설정되어 있고,
상기 가중치는,
상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정되었을 때 사용자로부터 선택된 제 1 횟수와 상기 복수의 후보 질의문들 각각이 상기 추천 질의문으로 결정된 제 2 횟수를 비교한 값을 이용하여 산출되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer-readable storage medium, comprising:
The computer program includes instructions for causing a processor of a computing device to perform the following steps, which include:
Based on the first method, filtering N candidate questions (N is a natural number of 1 or more) corresponding to a user input from among a plurality of candidate questions;
Classifying the N candidate queries into at least one semantic group;
Based on the second method, selecting K questions (K is a natural number of 1 or more) from each of the at least one semantic group;
Based on the third method, selecting L query sentences (L is a natural number of 1 or more) from each of the at least one semantic group; and
determining the K questions and the L questions as recommended questions;
Including,
A weight is set for each of the plurality of candidate questions,
The weight is,
Calculated using the value of comparing the first number of times that each of the plurality of candidate questions is selected by the user when each of the plurality of candidate questions is determined to be the recommended question and the second number of times that each of the plurality of candidate questions is determined to be the recommended question. felled,
A computer program stored on a computer-readable storage medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034695A KR102661768B1 (en) | 2021-03-17 | 2021-03-17 | Method for generateing recommended query |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034695A KR102661768B1 (en) | 2021-03-17 | 2021-03-17 | Method for generateing recommended query |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220129851A KR20220129851A (en) | 2022-09-26 |
KR102661768B1 true KR102661768B1 (en) | 2024-04-26 |
Family
ID=83452340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210034695A KR102661768B1 (en) | 2021-03-17 | 2021-03-17 | Method for generateing recommended query |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102661768B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564571A (en) * | 2016-10-21 | 2019-04-02 | 纳宝株式会社 | Utilize the inquiry recommended method and system of search context |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101126406B1 (en) * | 2008-11-27 | 2012-04-20 | 엔에이치엔(주) | Method and System for Determining Similar Word with Input String |
KR102008169B1 (en) | 2017-12-26 | 2019-10-21 | 삼성생명보험주식회사 | Computer program stored on computer-readable medium, method and server for responding to a customer inquiry |
-
2021
- 2021-03-17 KR KR1020210034695A patent/KR102661768B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564571A (en) * | 2016-10-21 | 2019-04-02 | 纳宝株式会社 | Utilize the inquiry recommended method and system of search context |
Also Published As
Publication number | Publication date |
---|---|
KR20220129851A (en) | 2022-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645317B2 (en) | Recommending topic clusters for unstructured text documents | |
US10565234B1 (en) | Ticket classification systems and methods | |
KR101276602B1 (en) | System and method for searching and matching data having ideogrammatic content | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
US9390142B2 (en) | Guided predictive analysis with the use of templates | |
TW202029079A (en) | Method and device for identifying irregular group | |
US11113317B2 (en) | Generating parsing rules for log messages | |
US9104709B2 (en) | Cleansing a database system to improve data quality | |
US11144594B2 (en) | Search method, search apparatus and non-temporary computer-readable storage medium for text search | |
US10891314B2 (en) | Detection and creation of appropriate row concept during automated model generation | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
US11748448B2 (en) | Systems and techniques to monitor text data quality | |
CN112347223A (en) | Document retrieval method, document retrieval equipment and computer-readable storage medium | |
KR20190094068A (en) | Learning method of classifier for classifying behavior type of gamer in online game and apparatus comprising the classifier | |
CN113821657A (en) | Artificial intelligence-based image processing model training method and image processing method | |
US11650999B2 (en) | Database search enhancement and interactive user interface therefor | |
US10353927B2 (en) | Categorizing columns in a data table | |
KR102661768B1 (en) | Method for generateing recommended query | |
CN116205296A (en) | ABAC strategy engineering method integrating top-down and bottom-up | |
CN111949781B (en) | Intelligent interaction method and device based on natural sentence syntactic analysis | |
CN113254800A (en) | Information recommendation method and device, electronic equipment and storage medium | |
CN112784046A (en) | Text clustering method, device and equipment and storage medium | |
US11436501B1 (en) | Personalization of a user interface using machine learning | |
WO2023014237A1 (en) | Method and system for extracting named entities | |
CN117495319A (en) | Resume analysis method, resume analysis device, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |