KR20230112781A - Question processing unit - Google Patents

Question processing unit Download PDF

Info

Publication number
KR20230112781A
KR20230112781A KR1020220008517A KR20220008517A KR20230112781A KR 20230112781 A KR20230112781 A KR 20230112781A KR 1020220008517 A KR1020220008517 A KR 1020220008517A KR 20220008517 A KR20220008517 A KR 20220008517A KR 20230112781 A KR20230112781 A KR 20230112781A
Authority
KR
South Korea
Prior art keywords
query
processing
user
unit
individual queries
Prior art date
Application number
KR1020220008517A
Other languages
Korean (ko)
Inventor
이재인
조현선
Original Assignee
주식회사 마인드웨어웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마인드웨어웍스 filed Critical 주식회사 마인드웨어웍스
Priority to KR1020220008517A priority Critical patent/KR20230112781A/en
Priority to JP2022030159A priority patent/JP7406838B2/en
Publication of KR20230112781A publication Critical patent/KR20230112781A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Abstract

본 발명은 사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 관한 것으로, 특히 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의가 발생한 경우, 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정할 수 있도록 구성함으로써, 사용자가 요청한 복합 질의에 대해 신속하고 정확하게 처리할 수 있도록 하는 질의 처리 장치에 관한 것이다.
본 발명인 질의 처리 장치를 이루는 구성수단은, 사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 있어서, 사용자로부터 전송되는 음성 또는 텍스트 형태의 질의를 입력 처리하는 질의 입력 처리부; 상기 입력 처리된 질의가 하나의 의도를 포함하는 단순 질의인지 또는 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의인지를 판단하는 질의 유형 판단부; 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각의 의도가 파악될 수 있도록 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의 각각을 해석하여 분석하는 질의 분석부; 상기 질의 분석부의 분석 결과를 토대로 질의 처리 데이터베이스부를 참조하여 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정하는 질의 처리부를 포함하여 구성되는 것을 특징으로 한다.
The present invention relates to an apparatus for processing a query transmitted from a user to a service provider providing a service or business process. In particular, when a complex query consisting of a plurality of individual queries including at least two or more intents occurs, the complex query A query processing apparatus capable of promptly and accurately processing a complex query requested by a user by extracting and determining processing tasks corresponding to a plurality of individual queries constituting a query.
In the apparatus for processing a query transmitted from a user to a service provider providing service or business processing, the constituent means constituting the query processing apparatus of the present invention includes a query input processing unit inputting and processing a query in the form of voice or text transmitted from the user. ; a query type determining unit that determines whether the input processed query is a simple query including one intent or a complex query composed of a plurality of individual queries including at least two intents; a query analysis unit that interprets and analyzes each of a plurality of individual queries constituting the simple query or the complex query so that the intention of each of the plurality of individual queries constituting the simple query or the complex query can be identified; And a query processing unit that extracts and determines processing tasks corresponding to a plurality of individual queries constituting the simple query or the complex query by referring to a query processing database unit based on the analysis result of the query analysis unit. do.

Description

질의 처리 장치{Question processing unit}Query processing unit {Question processing unit}

본 발명은 사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 관한 것으로, 특히 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의가 발생한 경우, 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정할 수 있도록 구성함으로써, 사용자가 요청한 복합 질의에 대해 신속하고 정확하게 처리할 수 있도록 하는 질의 처리 장치에 관한 것이다.The present invention relates to an apparatus for processing a query transmitted from a user to a service provider providing a service or business process. In particular, when a complex query consisting of a plurality of individual queries including at least two or more intents occurs, the complex query A query processing apparatus capable of promptly and accurately processing a complex query requested by a user by extracting and determining processing tasks corresponding to a plurality of individual queries constituting a query.

사용자가 다양한 서비스 또는 다양한 업무 처리를 제공하는 서비스 제공자에게 질의를 전송하면, 서비스 제공자는 질의 처리 장치를 통해 사용자가 원하는 서비스 또는 업무 처리가 수행될 수 있도록 한다.When a user transmits a query to a service provider that provides various services or various business processes, the service provider allows the user to perform the desired service or business process through the query processing unit.

상기 서비스 제공자는 특정 서비스 또는 업무(예를 들어, 금융, 의료, 여행, 교육, 숙박, 쇼핑 등)를 직접 수행하거나 대행하는 업체에 해당되고, 상기 사용자는 특정 서비스 또는 업무를 상기 서비스 제공자를 통해 처리받고자 하는 서비스 또는 업무 처리 요청자에 해당된다.The service provider corresponds to a company that directly performs or acts on behalf of a specific service or task (eg, finance, medical care, travel, education, lodging, shopping, etc.), and the user performs a specific service or task through the service provider. Corresponds to the requester for the service or business process to be processed.

상기 사용자는 다양한 단말기(음성 및 텍스트 중 적어도 하나를 전송할 수 있는 사용자 단말기)를 통해 상기 서비스 제공자, 구체적으로 질의 처리 장치와 통신하여 질의를 전송할 수 있고 질의에 대한 응답으로 원하는 서비스 또는 업무를 수행받을 수 있다.The user may transmit a query by communicating with the service provider, specifically, a query processing device through various terminals (user terminals capable of transmitting at least one of voice and text), and receive a desired service or task in response to the query. can

상기 사용자가 상기 질의 처리 장치에 전송할 수 있는 질의는 하나의 의도를 포함하는 단순 질의일 수도 있고, 적어도 두개 이상의 의도를 포함하는, 즉 각 의도를 포함하는 복수의 개별 질의로 구성되는 복합 질의일 수도 있다.The query that the user may transmit to the query processing device may be a simple query including one intent or a complex query including at least two intents, that is, a plurality of individual queries including each intent. there is.

그런데, 현재까지 질의 처리 장치는 단순 질의에 대해서만 자동으로 처리할 수 있는 수준일 뿐, 복합 질의를 한번에 처리하지 못하고 있는 실정이다.However, until now, query processing apparatuses are at a level that can automatically process only simple queries, and cannot process complex queries at once.

예를 들어, 백신 예약접종을 한 사용자가 발화를 통해 "지금 예약한 백신 접종 취소하고 새롭게 일정을 당겨서 예약해줘"와 같은 복합 질의를 한다면, 현재의 질의 처리 장치는 이러한 복합 질의를 신속하고 정확하게 처리하지 못한다. 즉. 이와 같은 경우, 현재의 질의 처리 장치는 각각의 개별 질의에 해당하는 백신을 취소하고 싶다고 이해하거나, 새로운 예약을 하고 싶다고 인식을 할 뿐이다.For example, if a user who has pre-vaccinated a vaccine makes a complex query such as “Cancel the vaccine currently reserved and make a new reservation,” through speech, the current query processing device processes such complex query quickly and accurately. can not do. in other words. In this case, the current query processing device only recognizes that it wants to cancel the vaccine corresponding to each individual query or wants to make a new reservation.

이 경우, 사용자가 백신 예약을 취소하고 환불을 받으려고 하는 것인지 또는 취소하고 또 다른 의도를 가지고 있는지의 경우의 수가 너무 많기 때문에 이와 같은 복합 질의를 처리할 수 있는 장치가 현재까지 존해하지 않고 있다. In this case, since the number of cases in which the user intends to cancel the vaccine reservation and receive a refund or has another intention after canceling the reservation is too large, no device capable of processing such a complex query has so far existed.

또 다른 예를 들면, 카드사들의 경우 통상 카드사의 상담사 등을 통해 처리할 수 있는 업무가 300여 항목 정도 되는데(조회, 취소, 처리 등), 이것의 복수의 조합이라는 것은 사실상 무한대에 가깝기도 하고, 일부 복합 의도는 선후관계에 따라 달라지기도 하기 때문에, 현재의 질의 처리 장치를 통해서는 복합 질의를 처리할 수 없는 상황이다.For another example, in the case of credit card companies, there are usually about 300 items that can be processed through the counselor of the card company (inquiry, cancellation, processing, etc.), and the combination of these plural is virtually infinite, Since some complex intentions depend on precedence relationships, the current query processing device cannot process complex queries.

복합 질의 처리에 관련하여, 2018년 추계학술발표대회 논문집 제25권 제2호(발표 일자 : 2018년 11월)에는 질의 유형 분류기를 활용한 지식 베이스 기반의 복합 질의 응답 시스템을 개시하고 있다. 그러나, 이 논문은 단지 복합 질의의 유형에 따라 응답하는 방법에 대해 개시하고 있을 뿐, 복합 질의에 포함된 개별 질의 모두에 대해 의도를 파악하고 대응하는 처리 태스크들을 확정하여 처리해주는 방안에 대해서는 전혀 개시하지 못하고 있다.Regarding complex query processing, Proceedings of the 2018 Fall Conference, Volume 25, No. 2 (published date: November 2018) discloses a knowledge base-based complex query response system using a query type classifier. However, this paper only discloses a method of responding according to the type of complex query, and does not disclose a method of identifying the intent of all individual queries included in the complex query and determining and processing corresponding processing tasks. can't do it

대한민국 공개특허 제10-2014-0025364호(공개일자 : 2014년 03월 04일, 발명의 명칭 : 복합 질의를 처리하기 위한 시스템 및 방법)Republic of Korea Patent Publication No. 10-2014-0025364 (published date: March 04, 2014, title of invention: system and method for processing complex queries)

2018년 추계학술발표대회 논문집 제25권 제2호(발표 일자 : 2018년 11월, 논문 명칭 : 질의 유형 분류기를 활용한 지식 베이스 기반의 복합 질의 응답 시스템)Proceedings of the 2018 Fall Conference, Volume 25, No. 2 (published date: November 2018, thesis title: knowledge base-based complex question answering system using query type classifier)

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의가 발생한 경우, 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정할 수 있도록 구성함으로써, 사용자가 요청한 복합 질의에 대해 신속하고 정확하게 처리할 수 있도록 하는 질의 처리 장치를 제공하는 것을 그 목적으로 한다.The present invention was devised to solve the above problems of the prior art, and when a complex query consisting of a plurality of individual queries including at least two or more intents occurs, each of the plurality of individual queries constituting the complex query An object of the present invention is to provide a query processing apparatus capable of promptly and accurately processing a complex query requested by a user by configuring it to extract and determine processing tasks corresponding to .

상기와 같은 과제를 해결하기 위하여 제안된 본 발명인 질의 처리 장치를 이루는 구성수단은, 사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 있어서, 사용자로부터 전송되는 음성 또는 텍스트 형태의 질의를 입력 처리하는 질의 입력 처리부; 상기 입력 처리된 질의가 하나의 의도를 포함하는 단순 질의인지 또는 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의인지를 판단하는 질의 유형 판단부; 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각의 의도가 파악될 수 있도록 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의 각각을 해석하여 분석하는 질의 분석부; 상기 질의 분석부의 분석 결과를 토대로 질의 처리 데이터베이스부를 참조하여 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정하는 질의 처리부를 포함하여 구성되는 것을 특징으로 한다.In order to solve the above problem, the constituent means constituting the query processing apparatus of the present invention, which is proposed by the present invention, is a device for processing a query transmitted from a user to a service provider providing service or business processing, in which voice or text transmitted from the user a query input processor inputting and processing a query of the form; a query type determining unit that determines whether the input processed query is a simple query including one intent or a complex query composed of a plurality of individual queries including at least two intents; a query analysis unit that interprets and analyzes each of a plurality of individual queries constituting the simple query or the complex query so that the intention of each of the plurality of individual queries constituting the simple query or the complex query can be identified; and a query processing unit that extracts and determines processing tasks corresponding to a plurality of individual queries constituting the simple query or the complex query by referring to a query processing database unit based on the analysis result of the query analysis unit. do.

여기서, 상기 질의 입력 처리부는 상기 사용자로부터 음성 형태로 질의가 전송되는 경우, 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환하고, 상기 사용자가 외국인에 해당한 경우에는 상기 외국인이 사용하는 외국어 특징 및 체계가 표기되도록 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환하는 것을 특징으로 한다.Here, the query input processing unit converts the voice-type query into a text-type query when a voice-type query is transmitted from the user, and when the user corresponds to a foreigner, the foreign language characteristics used by the foreigner and It is characterized in that the query in voice form is converted into a query in text form so that the system is marked.

또한, 상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 동음이의어 또는 상황에 따라 다르게 해석되는 단어가 포함된 경우, 질의 분석 데이터베이스부를 참조하여 상기 동음이의어 또는 상황에 따라 다르게 해석되는 단어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부는 동음이의어들 또는 상황에 따라 다르게 해석되는 단어들 각각의 의미들 중, 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에 관련된 의미들만을 저장 관리하는 것을 특징으로 한다.In addition, when the simple query or each of the plurality of individual queries includes a homophone or a word interpreted differently depending on the situation, the query analysis database refers to the homophone or a word interpreted differently depending on the situation. Analyzes the meaning of , where the query analysis database unit stores and manages only meanings related to a specific service provided by the service provider or a specific business area among the meanings of each of the homonyms or words that are interpreted differently depending on the situation. It is characterized by doing.

또한, 상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 외국어가 포함된 경우, 질의 분석 데이터베이스부를 참조하여 상기 외국어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부는 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에서 사용되는 외국어들 각각에 대한 복수의 표기를 의미에 대응하여 저장 관리하는 것을 특징으로 한다.In addition, when the simple query or each of the plurality of individual queries includes a foreign language, the query analysis unit analyzes the meaning of the foreign language by referring to a query analysis database unit, wherein the query analysis database unit is provided by the service provider. It is characterized in that a plurality of notations for each foreign language used in a specific service or a specific business area are stored and managed in correspondence with meaning.

또한, 상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각을 해석하여 분석하는 과정에서, 질의를 전송하는 사용자의 이력 정보를 저장 관리하는 이력 정보 데이터베이스부를 참조하는 것을 특징으로 한다.The query analyzer may refer to a history information database unit that stores and manages history information of a user who transmits a query in a process of interpreting and analyzing each of the simple query or the plurality of individual queries.

또한, 상기 질의 처리부는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 모두 선정 기준에 부합하는 최상위 처리 태스크들이 존재한 것으로 판단된 경우, 상기 복수의 개별 질의의 각각에 대응하는 최상위 처리 태스크들을 추출하여 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정하는 것을 특징으로 한다.In addition, when the query processing unit determines that there are top-level processing tasks that all satisfy the selection criterion corresponding to each of a plurality of individual queries constituting the complex query, the highest-level processing corresponding to each of the plurality of individual queries exists. After extracting tasks and transmitting them to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to the user's feedback.

또한, 상기 질의 처리부는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 적어도 하나가 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 것으로 판단된 경우, 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 개별 질의에 대응하는 상위 그룹 처리 태스크들을 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정하는 것을 특징으로 한다.In addition, when the query processing unit determines that there is no top-level processing task corresponding to at least one of the plurality of individual queries constituting the complex query, the top-level processing task meeting the selection criteria is not present. After transmitting upper group processing tasks corresponding to individual queries that do not exist to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to feedback from the user.

여기서, 상기 질의 처리부는 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정한 후, 상기 확정한 처리 태스크들이 서로 선후 관계 또는 의존 관계가 있는 것으로 판단되면, 상기 사용자에게 상기 확정한 처리 태스크들의 처리 순서를 전송한 후, 상기 사용자의 피드백에 따라 상기 확정한 처리 태스크들의 처리 순서를 확정하는 것을 특징으로 한다.Here, after the query processing unit determines processing tasks corresponding to each of the plurality of individual queries, if it is determined that the determined processing tasks have a precedence relationship or a dependent relationship with each other, the user is informed of the determined processing tasks. After the processing order is transmitted, the processing order of the determined processing tasks is determined according to the feedback of the user.

상기와 같은 과제 및 해결 수단을 가지는 본 발명인 질의 처리 장치에 의하면, 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의가 발생한 경우, 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정할 수 있도록 구성하기 때문에, 사용자가 요청한 복합 질의에 대해 신속하고 정확하게 처리할 수 있도록 하는 장점이 발생된다.According to the query processing apparatus of the present invention having the above problems and solution means, when a complex query consisting of a plurality of individual queries including at least two or more intents occurs, each of the plurality of individual queries constituting the complex query Since the corresponding processing tasks are configured to be extracted and confirmed, the advantage of being able to quickly and accurately process the complex query requested by the user is generated.

도 1은 본 발명의 실시예에 따른 질의 처리 장치의 구성도이다.
도 2는 본 발명의 실시예에 따른 질의 처리 장치를 통한 질의 처리 방법의 플로우차트이다.
1 is a block diagram of a query processing apparatus according to an embodiment of the present invention.
2 is a flowchart of a query processing method through a query processing apparatus according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 상기와 같은 과제, 해결수단 및 효과를 가지는 본 발명인 질의 처리 장치에 관한 바람직한 실시예를 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a preferred embodiment of a query processing apparatus according to the present invention having the above problems, solutions, and effects will be described in detail with reference to the accompanying drawings.

이 과정에서 도면에 도시된 구성요소의 크기나 형상 등은 설명의 명료성과 편의상 과장되게 도시될 수 있다. 또한, 본 발명의 구성 및 작용을 고려하여 특별히 정의된 용어들은 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다.In this process, the size or shape of the components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, terms specifically defined in consideration of the configuration and operation of the present invention may vary according to the intentions or customs of users and operators.

도 1은 본 발명의 실시예에 따른 질의 처리 장치의 구성도이다.1 is a block diagram of a query processing apparatus according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 질의 처리 장치(100)는 사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 해당되고, 이를 위하여 질의 입력 처리부(10), 질의 유형 판단부(30), 질의 분석부(50) 및 질의 처리부(70)를 포함하여 구성되고, 관련 데이터베이스로서 질의 분석 데이터베이스부(51), 이력 정보 데이터베이스부(53) 및 질의 처리 데이터베이스부(71)를 더 포함하여 구성된다.As shown in FIG. 1, the query processing apparatus 100 according to an embodiment of the present invention corresponds to a device for processing a query transmitted from a user to a service provider providing service or business processing, and for this purpose, a query input processing unit. (10), a query type determination unit 30, a query analysis unit 50, and a query processing unit 70 are included, and a query analysis database unit 51 as a related database, a history information database unit 53, and a query It is configured to further include a processing database unit 71.

상기 질의 입력 처리부(10)는 사용자로부터 전송되는 음성 또는 텍스트 형태의 질의를 입력 처리하는 동작을 수행한다. 즉, 상기 질의 입력 처리부(10)는 텍스트 형태의 질의뿐만 아니라 발화를 통해 생성되는 음성 형태의 질의 역시 입력하여 처리한다.The query input processing unit 10 performs an operation of inputting and processing a query in the form of voice or text transmitted from a user. That is, the query input processing unit 10 inputs and processes not only a text-type query but also a voice-type query generated through speech.

상기 사용자는 음성 및 텍스트 중 적어도 하나를 전송할 수 있는 사용자 단말기를 이용하여 음성 또는 텍스트 형태의 질의를 질의 처리 장치(100)로 전송할 수 있고, 그러면 상기 질의 입력 처리부(10)는 상기 음성 또는 텍스트 형태의 질의를 입력 받아 사전에 설정된 처리 방법에 따라 처리한다.The user may transmit a voice or text query to the query processing device 100 using a user terminal capable of transmitting at least one of voice and text, and then the query input processing unit 10 may transmit the voice or text query. The query is received and processed according to the pre-set processing method.

구체적으로, 상기 질의 입력 처리부(10)는 상기 사용자로부터 음성 형태로 질의가 전송되는 경우, 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환한다. 따라서, 상기 질의 유형 분석부(30)는 상기 텍스트 형태로 변환된 질의를 분석하여 질의 유형을 판단할 수 있고, 상기 질의 분석부(50) 역시 상기 텍스트 형태로 변환된 질의를 분석하여 질의에 포함된 의도가 해석 및 분석될 수 있도록 한다.Specifically, when a query is transmitted from the user in a voice form, the query input processing unit 10 converts the voice form query into a text form query. Accordingly, the query type analyzer 30 may determine the query type by analyzing the query converted into text form, and the query analyzer 50 also analyzes the query converted into text form and includes it in the query. It allows the intended intent to be interpreted and analysed.

또한, 상기 질의 입력 처리부(10)는 발화를 통해 생성되는 음성 형태의 질의를 전송하는 상기 사용자가 외국인에 해당한 경우에는 상기 외국인이 사용하는 외국어 특징 및 체계가 표기되도록 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환하는 동작을 수행하는 것이 바람직하다.In addition, when the user transmitting the voice-type query generated through speech corresponds to a foreigner, the query input processing unit 10 converts the voice-type query into text so that the foreign language characteristics and system used by the foreigner are displayed. It is desirable to perform an operation of converting the form into a query.

상기 질의 입력 처리부(10)는 입력되는 음성 형태의 질의를 분석하여 해당 질의가 외국인에 의해 전송되는 외국어 해당되는지 여부를 판별할 수 있고, 외국어에 해당한 경우 외국어의 종류(영어, 중국어, 일본어, 베트남어 등)를 판별할 수 있는 동작을 자동으로 수행할 수 있다. 이와 달리 상기 질의 입력 처리부(10)는 상기 음성 형태의 질의를 전송한 사용자에게 국적 및 사용 외국어의 종류를 확인하는 과정을 통해 상기 음성 형태의 질의에 관한 외국어의 종류를 확인할 수도 있다.The query input processing unit 10 analyzes the input voice-type query to determine whether the query corresponds to a foreign language transmitted by a foreigner, and if applicable, the type of foreign language (English, Chinese, Japanese, Vietnamese, etc.) can be automatically performed. In contrast, the query input processing unit 10 may confirm the type of foreign language related to the voice-type query through a process of confirming the nationality and the type of foreign language used by the user who has transmitted the voice-type query.

상기 질의 입력 처리부(10)는 상기 입력되는 음성 형태의 질의가 외국어인 것으로 판별 또는 확인되면, 상기 외국어의 음성 형태의 질의를 텍스트 형태의 질의로 변환하는 과정에서 상기 판별된 외국어의 고유한 특징 및 체계가 표기되도록 변환하는 동작을 수행한다. 예를 들어, 상기 질의 입력 처리부(10)는 상기 입력되는 음성 형태의 질의가 베트남어 또는 중국어인 것으로 판별되면, 베트남어 또는 중국어의 고유한 특징 및 체계에 해당하는 6성 또는 4성이 표기되도록 음성 형태의 질의를 텍스트 형태의 질의로 변환하는 동작을 수행한다.When the query input processing unit 10 determines or confirms that the input voice-type query is in a foreign language, in the process of converting the voice-type query of the foreign language into a text-type query, the unique characteristics of the foreign language and Performs the conversion operation so that the system is marked. For example, when the query input processing unit 10 determines that the input voice type query is Vietnamese or Chinese, the voice form is displayed so that six or four voices corresponding to the unique characteristics and systems of Vietnamese or Chinese are displayed. It converts the query in text format into a text query.

따라서, 상기 질의 유형 판단부(30)는 상기 외국어로 전송된 질의 유형(단순 질의 또는 복합 질의)을 용이하게 판단할 수 있고, 상기 질의 분석부(50)는 질의 분석 데이터베이스부(51)를 참조하여 상기 외국어로 전송된 질의에 포함된 의도를 더 용이하고 명확하게 해석 및 분석할 수 있다.Accordingly, the query type determination unit 30 can easily determine the type of query (simple query or complex query) transmitted in the foreign language, and the query analysis unit 50 refers to the query analysis database unit 51. Thus, the intent included in the query transmitted in the foreign language can be more easily and clearly interpreted and analyzed.

한편, 상기 질의 입력 처리부(10)는 상기 사용자로부터 텍스트 형태로 질의가 전송되는 경우, 그대로 상기 질의 유형 판단부(30) 및 질의 분석부(50)로 전달되도록 할 수도 있고, 경우에 따라서는 간단한 가공, 예를 들어 띄어쓰기 교정 등을 수행한 후 전달되도록 할 수도 있다.Meanwhile, when a query is transmitted in text form from the user, the query input processing unit 10 may transmit the query as it is to the query type determination unit 30 and the query analysis unit 50. It may be transmitted after processing, for example, spacing correction, etc. is performed.

상기 질의 유형 판단부(30)는 상기 질의 입력 처리부(10)를 통해 입력 처리된 질의가 하나의 의도를 포함하는 단순 질의인지 또는 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의인지를 판단하는 동작을 수행한다.The query type determining unit 30 determines whether the query input and processed through the query input processing unit 10 is a simple query including one intent or a complex query composed of a plurality of individual queries including at least two intents. performs an operation that determines

상기 질의 유형 판단부(30)는 상기 질의 입력 처리부(10)에서 입력 처리된 질의(텍스트 형태의 질의 또는 음성 형태의 질의에서 변환된 텍스트 형태의 질의)를 분석하여 단순 질의인지 또는 복합 질의인지를 판단한다. 상기 단순 질의는 하나의 의도만을 포함하는 질의에 해당하고, 상기 복합 질의는 적어도 두개 이상의 의도를 포함하여 복수의 개별 질의로 구성되는 질의에 해당하며, 상기 복합 질의를 구성하는 복수의 개별 질의 각각은 하나의 의도를 포함하고 있다.The query type determining unit 30 analyzes the query input and processed by the query input processing unit 10 (a text query or a text query converted from a voice query) to determine whether it is a simple query or a complex query. judge The simple query corresponds to a query including only one intent, the complex query corresponds to a query composed of a plurality of individual queries including at least two intents, and each of the plurality of individual queries constituting the complex query It contains one intention.

예를 들어, 상기 질의 유형 판단부(30)는 상기 입력 처리된 질의가 "백신 접종 예약을 취소해 주세요"이면 "기존의 백신 접종 예약 취소"라는 하나의 의도만을 포함하고 있기 때문에 단순 질의로 판단한다. 반면 상기 질의 유형 판단부(30)는 상기 입력 처리된 질의가 "백신 접종 예약을 취소해 주고 새롭게 일정을 당겨서 예약해 주세요"이면, "기존의 백신 접종 예약 취소"와 "새로운 백신 접종 예약"이라는 두 개의 의도를 포함하여 두 개의 개별 질의로 구성되는 복합 질의로 판단한다.For example, if the inputted query is “Please cancel the vaccination reservation”, the query type determination unit 30 determines it as a simple query because it includes only one intention, “cancel the existing vaccination reservation”. do. On the other hand, the query type determining unit 30, if the inputted query is "Please cancel the vaccination reservation and make a new reservation by rescheduling", "cancel the existing vaccination reservation" and "new vaccination reservation" It is judged as a compound query composed of two separate queries including two intents.

상기 질의 유형 판단부(30)는 상기 예시에서 복합 질의로 판단한 경우, "기존의 백신 접종 예약 취소"를 제1 의도를 포함하는 제1 개별 질의로 판단하고, "새로운 백신 접종 예약"을 제2 의도를 포함하는 제2 개별 질의로 판단한다.When the query type determining unit 30 determines that the query is a complex query in the above example, “cancellation of the existing vaccination reservation” is determined as the first individual query including the first intention, and “new vaccination reservation” is the second query. It is determined as the second individual query including the intention.

상기 질의 유형 판단부(30)는 기존의 다양한 자연어 처리기 또는 다양한 자연어 처리 방법을 통해 수행될 수 있기 때문에, 구체적인 방법에 대해서는 설명을 생략한다.Since the query type determination unit 30 can be performed through various existing natural language processors or various natural language processing methods, a detailed description of the method will be omitted.

상기 질의 유형 판단부(30)를 통해 상기 입력 처리된 질의가 단순 질의인지 또는 복합 질의인지가 판단되면, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각의 의도가 파악될 수 있도록 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의 각각을 해석하여 분석하는 동작을 수행한다.When it is determined through the query type determination unit 30 whether the input processed query is a simple query or a complex query, the query analyzer 50 determines the simple query or a plurality of individual queries constituting the complex query. An operation of analyzing and analyzing each of a plurality of individual queries constituting the simple query or the complex query is performed so that each intention can be understood.

상기 질의 분석부(50)는 상기 입력 처리된 질의가 하나의 의도만을 포함하는 단순 질의로 판단된 경우에는, 상기 단순 질의에 포함된 하나의 의도를 명확히 파악할 수 있도록 해석하고 분석한다. 구체적으로, 상기 질의 분석부(50)는 상기 질의 분석 데이터베이스부(51)를 참조하여 상기 단순 질의에 포함된 단어들의 의미를 명확하게 해석 및 분석하여 상기 단순 질의에 포함된 의도가 명확히 파악될 수 있도록 한다. When the input-processed query is determined to be a simple query including only one intention, the query analysis unit 50 interprets and analyzes the single intention included in the simple query to clearly understand it. Specifically, the query analysis unit 50 refers to the query analysis database unit 51 to clearly interpret and analyze the meaning of words included in the simple query so that the intention included in the simple query can be clearly identified. let it be

또한, 상기 질의 분석부(50)는 상기 입력 처리된 질의가 적어도 두개 이상의 의도를 포함하여 복수의 개별 질의로 구성되는 복합 질의로 판단된 경우에는, 상기 복합 질의를 구성하는 복수의 개별 질의 각각에 포함된 의도를 명확히 파악할 수 있도록 해석하고 분석한다. 구체적으로, 상기 질의 분석부(50)는 상기 질의 분석 데이터베이스부(51)를 참조하여 상기 복합 질의를 구성하는 각각의 개별 질의에 포함된 단어들의 의미를 명확하게 해석 및 분석하여 상기 각각의 개별 질의에 포함된 의도가 명확히 파악될 수 있도록 한다. In addition, when the query analysis unit 50 determines that the input processed query is a complex query composed of a plurality of individual queries including at least two or more intentions, the query analyzer 50 determines that each of the plurality of individual queries constituting the complex query Interpret and analyze to clearly understand the intent involved. Specifically, the query analysis unit 50 refers to the query analysis database unit 51 and clearly interprets and analyzes the meaning of words included in each individual query constituting the complex query to obtain each individual query. so that the intent contained in it is clearly identified.

여기서, 상기 질의 분석 데이터베이스부(51)는 예를 들어, 수많은 단어와 그 단어들의 의미를 매칭하여 저장 관리하기 때문에, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복합 질의를 구성하는 각각의 개별 질의에 포함된 단어들의 의미를 명확하게 해석 및 분석할 수 있다.Here, since the query analysis database unit 51 stores and manages, for example, a number of words and meanings of the words by matching them, the query analysis unit 50 determines each of the simple queries or the complex queries. The meaning of words included in individual queries can be clearly interpreted and analyzed.

상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복합 질의를 구성하는 상기 복수의 개별 질의의 각각에 포함된 단어의 의미 또는 표기가 명확하거나 바로 특정할 수 있는 경우(예를 들어, 해당 단어의 의미가 하나인 경우 또는 해당 단어가 하나의 표기로 통일화된 경우)에는 상기 질의 분석 데이터베이스부(51)를 참조하여 단어의 의미를 명확하게 해석 및 분석함으로써 의도가 정확하게 파악될 수 있도록 한다.The query analyzer 50 may determine if the meaning or notation of a word included in each of the plurality of individual queries constituting the simple query or the complex query is clear or can be directly specified (for example, the word When the meaning is one or the word is unified into one mark), the meaning of the word is clearly interpreted and analyzed with reference to the query analysis database 51 so that the intention can be accurately grasped.

반면, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 명확하지 않거나 바로 특정할 수 없는 단어가 포함된 경우, 예를 들어 동음이의어 또는 상황에 따라 다르게 해석되는 단어가 포함된 경우에는 해당 단어의 의미를 바로 특정하기 어렵기 때문에 신속하고 명확하게 의도를 파악하는데 어려움을 발생시킨다.On the other hand, the query analyzer 50 determines whether the simple query or each of the plurality of individual queries includes a word that is not clear or cannot be immediately specified, for example, a homophone or a word interpreted differently depending on the situation. When it is included, it is difficult to immediately specify the meaning of the word, so it is difficult to quickly and clearly grasp the intention.

예를 들어, 질의에 동음이의어에 해당하는 단어 "말"이 포함된 경우, 상기 질의 분석부(50)는 상기 단어 "말"이 "달리는 동물(馬)"의 의미를 가지는지 또는 "말씀(言)"의 의미를 가지는지를 바로 특정하기 어렵기 때문에 신속하고 정확한 의도를 파악하는데 어려움을 발생시킨다. 이와 같은 문제점을 해결하기 위하여, 본 발명에 적용되는 상기 질의 분석 데이터베이스부(51)는 단어들에 대해 개방 도메인(open domain), 즉 다양한 모든 서비스 또는 다양한 모든 업무 영역에서 사용되는 의미들을 모두 대응하여 저장 관리하는 것이 아니라, 폐쇄 도메인(closed domain) 또는 로컬 도메인(local domain), 즉 질의 처리 장치를 통해 질의 처리를 수행하는 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에 관련된 의미만을 대응하여 저장 관리하는 것이 바람직하다.For example, when the word "horse" corresponding to a homonym is included in the query, the query analyzer 50 determines whether the word "horse" has the meaning of "running animal" or "word ( Since it is difficult to immediately specify whether it has the meaning of "言", it causes difficulty in quickly and accurately grasping the intention. In order to solve this problem, the query analysis database unit 51 applied to the present invention corresponds to all meanings used in an open domain, that is, all various services or all various business areas, for words. It is not stored and managed, but stored in a closed domain or local domain, that is, in response to a specific service provided by the service provider that performs query processing through the query processing unit, or a meaning related to a specific business area. It is desirable to manage

따라서, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 동음이의어 또는 상황에 따라 다르게 해석되는 단어가 포함된 경우, 질의 분석 데이터베이스부(51)를 참조하여 상기 동음이의어 또는 상황에 따라 다르게 해석되는 단어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부(51)는 동음이의어들 또는 상황에 따라 다르게 해석되는 단어들 각각의 의미들 중, 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에 관련된 의미들만을 저장 관리한다.Therefore, when the simple query or each of the plurality of individual queries includes a homophone or a word interpreted differently depending on the situation, the query analysis unit 50 refers to the query analysis database unit 51 to determine the homophone. Alternatively, the meaning of words interpreted differently depending on circumstances is analyzed. Here, the query analysis database unit 51 selects a specific meaning provided by the service provider from among the meanings of homonyms or words interpreted differently depending on circumstances. Stores and manages only meanings related to services or specific work areas.

예를 들어, 상기 서비스 제공자가 동물원 또는 자연사 박물관에 관련된 특정 서비스 또는 업무를 제공하는 경우, 상기 질의 분석 데이터베이스부(51)는 단어 "말"에 대한 다양한 의미 중, "말씀(言)"의 의미는 대응하여 저장 관리하지 않고, 동물원 또는 자연사 박물관에 해당하는 특정 서비스 또는 특정 업무 영역에 관련된 "달리는 동물(馬)"의 의미만을 대응하여 저장 관리한다. For example, when the service provider provides a specific service or business related to a zoo or a natural history museum, the query analysis database unit 51 determines the meaning of "word" among various meanings of the word "word". does not store and manage correspondingly, but only stores and manages the meaning of "running animal" related to a specific service or specific business area corresponding to a zoo or natural history museum.

따라서, 특정 서비스 또는 특정 업무 처리를 제공하는 서비스 제공자가 본 발명인 질의 처리 장치를 통해 사용자가 전송 또는 요청한 질의에 대해 처리하는 경우, 상기 질의 분석 데이터베이스부(51)는 동음이의어 또는 상황에 따라 다르게 해석되는 단어들의 다양한 의미들 중, 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에 관련된 의미들만을 단어에 대응하여 저장 관리하기 때문에, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 동음이의어 또는 상황에 따라 다르게 해석되는 단어가 포함된 경우에도 신속하고 정확하게 해당 단어의 의미를 해석 및 분석할 수 있다. Therefore, when a service provider providing a specific service or a specific task process processes a query transmitted or requested by a user through the query processing apparatus of the present invention, the query analysis database unit 51 interprets homonyms differently or differently depending on the situation. Among the various meanings of the words, since only meanings related to a specific service or a specific business area provided by the service provider are stored and managed in correspondence with words, the query analyzer 50 performs the simple query or the plurality of individual Even when each query includes a homonym or a word that is interpreted differently depending on the situation, the meaning of the corresponding word can be interpreted and analyzed quickly and accurately.

한편, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 외국어 표기가 포함된 경우, 예를 들어 다양하게 표기될 수 있는 외국어 단어가 포함된 경우, 상기 질의 분석 데이터베이스부(51)를 참조하여 해당 외국어 단어의 의미를 파악하되, 상기 질의 분석 데이터베이스부(51)에 외국어 단어에 대한 다양한 표기가 저장 관리되지 않는 경우에는 해당 외국어 단어의 의미를 해석할 수 없거나 바로 특정하기 어렵기 때문에 신속하고 명확하게 의도를 파악하는데 어려움을 발생시킨다.Meanwhile, the query analysis unit 50 is configured to perform the query analysis database unit when foreign language expressions are included in each of the simple query or the plurality of individual queries, for example, foreign language words that can be expressed in various ways are included. The meaning of the foreign language word is grasped by referring to (51), but if various notations for the foreign language word are not stored and managed in the query analysis database unit 51, the meaning of the foreign language word cannot be interpreted or directly specified. Because it is difficult, it causes difficulty in quickly and clearly grasping the intention.

예를 들어, 음성 형태의 질의를 텍스트로 형태의 질의로 변환하여 처리된 질의에 고속 처리 계산기 또는 정보 처리기의 의미를 갖는 "콤퓨터"의 외국어 표기가 포함되고, 상기 질의 분석 데이터베이스부(51)가 고속 처리 계산기 또는 정보 처리기의 의미에 대응하여 "콤퓨터"의 외국어 표기를 저장 관리하지 않고 "컴퓨터"만을 저장 관리하고 있다면, 처리된 질의에 포함된 "콤퓨터"의 외국어 표기의 의미를 해석할 수 없다. 이와 같은 문제점을 해결하기 위하여, 본 발명에 적용되는 상기 질의 분석 데이터베이스부(51)는 외국어의 의미에 대응하여 다양한 외국어 표기를 대응하여 저장 관리하는 것이 바람직하고, 더 나아가 질의에 포함된 외국어의 해석에 대한 정확도 및 신속성을 향상시키기 위하여 폐쇄 도메인(closed domain) 또는 로컬 도메인(local domain), 즉 질의 처리 장치를 통해 질의 처리를 수행하는 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에서 사용되는 외국어들 각각에 대한 복수의 표기를 각 외국어 의미에 대응하여 저장 관리하는 것이 바람직하다.For example, a query processed by converting a voice-type query into a text-type query includes a foreign language representation of “computer” meaning a high-speed calculator or information processor, and the query analysis database unit 51 If only "computer" is stored and managed without storing and managing the foreign language representation of "computer" corresponding to the meaning of a high-speed processing calculator or information processor, the meaning of the foreign language representation of "computer" included in the processed query cannot be interpreted. . In order to solve this problem, it is preferable that the query analysis database unit 51 applied to the present invention stores and manages various foreign language notations corresponding to the meaning of the foreign language, and further analyzes the foreign language included in the query. In order to improve accuracy and speed, a closed domain or a local domain, that is, a foreign language used in a specific service or a specific business area provided by the service provider that performs query processing through a query processing device, is used. It is preferable to store and manage a plurality of marks for each of the foreign language meanings.

따라서, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 외국어가 포함된 경우, 질의 분석 데이터베이스부(51)를 참조하여 상기 외국어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부(51)는 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에서 사용되는 외국어들 각각에 대한 복수의 표기를 외국어 단어의 의미에 대응하여 저장 관리한다.Therefore, when the foreign language is included in each of the simple query or the plurality of individual queries, the query analysis unit 50 analyzes the meaning of the foreign language with reference to the query analysis database unit 51, where the query The analysis database unit 51 stores and manages a plurality of notations for each foreign language used in a specific service provided by the service provider or a specific business area in correspondence with the meaning of foreign words.

예를 들어, 상기 서비스 제공자가 전자 제품에 관련된 특정 서비스 또는 업무를 제공하는 경우, 상기 질의 분석 데이터베이스부(51)는 고속 처리 계산기 또는 정보 처리기의 의미를 갖는 외국어인 "컴퓨터(computer)"에 대응하여 전자 제품에 관련된 특정 서비스 또는 특정 업무 영역에서 사용될 수 있는 다양한 표기, 예를 들어 "컴퓨터", "콤퓨터", "컴퓨러", "콤푸타" 등의 다양한 복수의 외국어 표기를 저장 관리한다.For example, when the service provider provides a specific service or task related to electronic products, the query analysis database unit 51 corresponds to a foreign word "computer" meaning a high-speed calculator or information processor. and stores and manages various foreign language notations such as "computer", "computer", "computer", and "computa" that can be used in a specific service or specific business area related to electronic products.

따라서, 특정 서비스 또는 특정 업무 처리를 제공하는 서비스 제공자가 본 발명인 질의 처리 장치를 통해 사용자가 전송 또는 요청한 질의에 대해 처리하는 경우, 상기 질의 분석 데이터베이스부(51)는 각 외국어 의미에 대응하여 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에서 사용되는 다양한 복수의 외국어 단어 표기들을 상기 외국어 의미에 대응하여 저장 관리하기 때문에, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 적어도 복수의 외국어 표기가 포함된 경우에도 신속하고 정확하게 해당 외국어 단어의 의미를 해석 및 분석할 수 있다. Therefore, when a service provider providing a specific service or a specific task process processes a query transmitted or requested by a user through the query processing apparatus of the present invention, the query analysis database unit 51 corresponds to the meaning of each foreign language to the service provider. Since a plurality of various foreign language word representations used in a specific service provided by a provider or a specific business area are stored and managed in correspondence with the meaning of the foreign language, the query analysis unit 50 performs each of the simple query or the plurality of individual queries. Even when at least a plurality of foreign language expressions are included, the meaning of the foreign language words can be interpreted and analyzed quickly and accurately.

한편, 본 발명에 따른 질의 처리 장치(100)는 질의를 전송하거나 요청하는 사용자의 이력 정보를 저장 관리하는 이력 정보 데이터베이스부(53)를 더 포함하여 구성되고, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각을 해석하여 분석하는 과정에서 각 질의에 포함되는 단어 또는 의도를 좀 더 신속하고 정확하게 해석 또는 파악하기 위하여 상기 사용자의 이력 정보를 저장 관리하는 이력 정보 데이터베이스부(53)를 참조한다.Meanwhile, the query processing apparatus 100 according to the present invention further includes a history information database unit 53 that stores and manages history information of a user who transmits or requests a query. A history information database unit for storing and managing the user's history information in order to more quickly and accurately interpret or grasp the word or intent included in each query in the process of interpreting and analyzing a simple query or each of the plurality of individual queries ( 53).

즉, 상기 질의 분석부(50)는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각을 해석하여 분석하는 과정에서, 질의를 전송하는 사용자의 이력 정보를 저장 관리하는 이력 정보 데이터베이스부(53)를 참조한다.That is, in the process of interpreting and analyzing each of the simple query or the plurality of individual queries, the query analysis unit 50 refers to the history information database unit 53 that stores and manages the history information of the user who sent the query. do.

상기 사용자의 이력 정보는 특정 서비스 또는 업무 처리를 요청하기 위하여 사전에 설정 등록된 사용자의 기본적인 고객 정보(예를 들어, 보험 상품 정보, 발급받은 카드 상품 정보 등), 이전에 요청 또는 전송한 질의 정보, 이전에 요청 또는 전송한 질의에 대한 처리 정보 등) 등을 포함한다. 따라서, 상기 질의 분석부(50)는 특정 사용자가 전송한 질의를 분석하는 과정에서 상기 이력 정보 데이터베이스부(53)에 저장 관리되는 상기 특정 사용자의 이력 정보를 참조하여 상기 질의에 대한 해석 및 분석을 좀 더 신속하고 정확하게 수행할 수 있다.The user's history information includes basic customer information (e.g., insurance product information, issued card product information, etc.), previously requested or transmitted query information of a pre-set and registered user in order to request a specific service or business process. , processing information on previously requested or transmitted queries, etc.). Therefore, in the process of analyzing the query transmitted by the specific user, the query analyzer 50 refers to the history information of the specific user stored and managed in the history information database 53 to interpret and analyze the query. It can be done more quickly and accurately.

상기 질의 분석부(50)를 통해 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 포함되는 단어 또는 의도에 대한 해석 및 분석이 완료되면, 상기 질의 처리부(70)는 상기 질의 분석부(50)의 분석 결과를 토대로 질의 처리 데이터베이스부(71)를 참조하여 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정한다. 여기서 상기 질의 처리 데이터베이스부(71)는 상기 서비스 제공자가 제공하는 서비스 또는 업무 처리에 관련된 복수의 처리 태스크들을 저장 관리한다.When the analysis and analysis of words or intentions included in each of the plurality of individual queries constituting the simple query or the complex query are completed through the query analysis unit 50, the query processing unit 70 analyzes the query. Based on the analysis result of the unit 50, processing tasks corresponding to a plurality of individual queries constituting the simple query or the complex query are extracted and determined with reference to the query processing database unit 71. Here, the query processing database unit 71 stores and manages a plurality of processing tasks related to service or business processing provided by the service provider.

상기 질의의 유형이 단순 질의인 경우, 상기 질의 처리부(70)는 상기 질의 분석부(50)의 분석 결과를 토대로 질의 처리 데이터베이스부(71)를 참조하여 상기 단순 질의에 대응하는 처리 태스크들을 추출하여 확정하는 동작을 수행한다. When the query type is a simple query, the query processing unit 70 refers to the query processing database unit 71 based on the analysis result of the query analysis unit 50 and extracts processing tasks corresponding to the simple query. perform a confirming action.

구체적으로, 상기 질의 처리부(70)는 상기 질의 처리 데이터베이스부(71)를 검색 데이터베이스로 하여, 상기 질의 분석부(50)에 의해 해석 및 분석이 완료된 상기 단순 질의에 포함되는 적어도 하나의 단어를 키워드로 이용하여 검색을 수행한다. Specifically, the query processing unit 70 uses the query processing database unit 71 as a search database, and converts at least one word included in the simple query that has been analyzed and analyzed by the query analysis unit 50 into a keyword. Perform a search using

그러면, 상기 단순 질의에 대응하는 처리 태스크들이 상기 적어도 하나의 키워드와의 관련 정확도 순서대로 추출된다. 즉, 정확도가 가장 높은 제1 처리 태스크에서 정확도가 가장 낮은 제n 처리 태스크까지 순서대로 추출된다(여기서 n은 자연수). 여기서 상기 정확도가 가장 높은 제1 처리 태스크를 최상위 처리 태스크로 칭하고, 상기 정확도가 가장 높은 제1 처리 태스크에서 사전에 설정된 정확도가 높은 순서의 처리 태스크(예를 들어 세번째로 높은 정확도를 가지는 제3 처리 태스크)까지를 상위 그룹 처리 태스크(예를 들어, 제1 처리 태스크, 제2 처리 태스크 및 제3 처리 태스크)로 칭한다.Then, processing tasks corresponding to the simple query are extracted in order of accuracy with respect to the at least one keyword. That is, from the first processing task with the highest accuracy to the n-th processing task with the lowest accuracy are extracted in order (where n is a natural number). Here, the first processing task with the highest accuracy is referred to as the highest processing task, and the processing task in the order of the highest accuracy set in advance from the first processing task with the highest accuracy (for example, the third processing with the third highest accuracy) task) is referred to as an upper group processing task (eg, a first processing task, a second processing task, and a third processing task).

상기 질의 처리부(70)는 상기 검색을 수행한 후, 사전에 설정된 선정 기준에 부합하는 최상위 처리 태스크가 존재한 것으로 판단된 경우에는 상기 최상위 처리 태스크를 추출하여 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 단순 질의에 대응하는 처리 태스크를 확정한다.After performing the search, the query processing unit 70 extracts and transmits the top processing task to the user when it is determined that there is a top processing task that meets a pre-set selection criterion. A processing task corresponding to the simple query is determined according to the feedback.

상기 사전에 설정된 선정 기준은 예를 들어, 사전에 설정된 기준 정확도 이상(예를 들어 정확도 80% 이상)이 될 수 있고, 따라서, 상기 질의 처리부(70)는 정확도 80% 이상인 최상위 처리 태스크가 존재하면, 상기 최상위 처리 태스크를 추출하여 상기 사용자에게 전송한다.The pre-set selection criterion may be, for example, higher than the pre-set criterion accuracy (for example, accuracy of 80% or more), and therefore, the query processing unit 70, if there is a top-level processing task with an accuracy of 80% or more, exists. , extracts the top-level processing task and transmits it to the user.

상기 사용자는 상기 전송된 최상위 처리 태스크가 자신의 의도와 합치가 되면 합치의 피드백을 상기 질의 처리부(70)로 전송할 수 있고, 합치가 되지 않으면 불합치의 피드백과 함께 사용자의 의도에 해당하는 처리 태스크를 상기 질의 처리부(70)로 전송할 수 있다. 상기 질의 처리부(70)는 상기 사용자로부터 합치의 피드백을 전송받으면 상기 최상위 처리 태스크를 상기 단순 질의에 대응하는 처리 태스크로 최종 확정하고, 상기 사용자로부터 불합치의 피드백을 전송받으면 상기 사용자로부터 전송받은 사용자의 의도에 해당하는 처리 태스크를 상기 단순 질의에 대응하는 처리 태스크로 최종 확정한다. 상기 질의 처리부(70)는 상기 처리 태스크가 최종 확정되면 상기 최종 확정된 처리 태스크가 수행되도록 하는 절차를 진행한다.The user may transmit a matching feedback to the query processing unit 70 if the transmitted top-level processing task matches the user's intention, and if it does not match, a processing task corresponding to the user's intention along with the inconsistent feedback may be sent. It can be transmitted to the query processing unit 70. The query processing unit 70, when receiving the feedback of agreement from the user, finally determines the top-level processing task as the processing task corresponding to the simple query, and upon receiving the feedback of the disagreement from the user, the user The processing task corresponding to the intention is finally determined as the processing task corresponding to the simple query. When the processing task is finally determined, the query processing unit 70 performs a procedure for executing the finally determined processing task.

한편, 상기 질의의 유형이 복수의 개별 질의로 구성되는 복합 질의인 경우, 상기 질의 처리부(70)는 상기 질의 분석부(50)의 분석 결과를 토대로 질의 처리 데이터베이스부(71)를 참조하여 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 추출하여 확정하는 동작을 수행한다. On the other hand, when the type of query is a complex query composed of a plurality of individual queries, the query processing unit 70 refers to the query processing database unit 71 based on the analysis result of the query analysis unit 50 and the complex query. An operation of extracting and determining processing tasks corresponding to each of a plurality of individual queries constituting the query is performed.

구체적으로, 상기 질의 처리부(70)는 상기 질의 처리 데이터베이스부(71)를 검색 데이터베이스로 하여, 상기 질의 분석부(50)에 의해 해석 및 분석이 완료된 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 포함되는 적어도 하나의 단어를 키워드로 이용하여 검색을 수행한다. 즉, 상기 질의 분석부(50)는 각각의 개별 질의별로 검색을 수행한다.Specifically, the query processing unit 70 uses the query processing database unit 71 as a search database, and each of a plurality of individual queries constituting the complex query analyzed and analyzed by the query analysis unit 50 A search is performed using at least one word included in as a keyword. That is, the query analyzer 50 performs a search for each individual query.

그러면, 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들이 상기 적어도 하나의 키워드와의 관련 정확도 순서대로 추출된다. 즉, 각각의 개별 질의에 대응하여 정확도가 가장 높은 제1 처리 태스크에서 정확도가 가장 낮은 제n 처리 태스크까지 순서대로 추출된다(여기서 n은 자연수). 여기서 상기 정확도가 가장 높은 제1 처리 태스크를 최상위 처리 태스크로 칭하고, 상기 정확도가 가장 높은 제1 처리 태스크에서 사전에 설정된 정확도가 높은 순서의 처리 태스크(예를 들어 세번째로 높은 정확도를 가지는 제3 처리 태스크)까지를 상위 그룹 처리 태스크(예를 들어, 제1 처리 태스크, 제2 처리 태스크 및 제3 처리 태스크)로 칭한다.Then, processing tasks corresponding to each of the plurality of individual queries are extracted in order of accuracy with respect to the at least one keyword. That is, corresponding to each individual query, the first processing task having the highest accuracy and the nth processing task having the lowest accuracy are sequentially extracted (where n is a natural number). Here, the first processing task with the highest accuracy is referred to as the highest processing task, and the processing task in the order of the highest accuracy set in advance from the first processing task with the highest accuracy (for example, the third processing with the third highest accuracy) task) is referred to as an upper group processing task (eg, a first processing task, a second processing task, and a third processing task).

상기 질의 처리부(70)는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 모두 선정 기준에 부합하는 최상위 처리 태스크들이 존재한 것으로 판단된 경우, 상기 복수의 개별 질의의 각각에 대응하는 최상위 처리 태스크들을 추출하여 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정한다.When it is determined that there are top-level processing tasks corresponding to all of the selection criteria in correspondence with each of the plurality of individual queries constituting the complex query, the query processing unit 70 determines that there exists a top-level processing task corresponding to each of the plurality of individual queries. After processing tasks are extracted and transmitted to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to the user's feedback.

상기 사전에 설정된 선정 기준은 예를 들어, 사전에 설정된 기준 정확도 이상(예를 들어 정확도 80% 이상)이 될 수 있고, 따라서, 상기 질의 처리부(70)는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각이 모두 사전에 설정된 선정 기준에 해당하는 정확도 80% 이상인 최상위 처리 태스크가 존재하면, 상기 각 개별 질의에 대응하여 각각 최상위 처리 태스크를 추출하여 상기 사용자에게 전송한다.The pre-set selection criterion may be, for example, higher than the pre-set criterion accuracy (for example, accuracy of 80% or higher), and thus, the query processing unit 70 determines the plurality of individual queries constituting the complex query. If there is a top-level processing task with an accuracy of 80% or more corresponding to a selection criterion set in advance, the top-level processing task is extracted in response to each individual query and transmitted to the user.

예를 들어, 상기 복합 질의가 제1 개별 질의, 제2 개별 질의 및 제3 개별 질의로 구성되고, 상기 제1 개별 질의, 제2 개별 질의 및 제3 개별 질의에 대응하여 모두 사전에 설정된 선정 기준에 부합하는 최상위 처리 태스크들이 존재하면, 상기 질의 처리부(70)는 상기 세 개의 개별 질의에 대응하는 세 개의 최상위 처리 태스크를 추출하여 상기 사용자에게 전송한다.For example, the complex query is composed of a first individual query, a second individual query, and a third individual query, all of which are preset selection criteria corresponding to the first individual query, the second individual query, and the third individual query. If there are top-level processing tasks corresponding to , the query processing unit 70 extracts three top-level processing tasks corresponding to the three individual queries and transmits them to the user.

상기 사용자는 상기 복수의 개별 질의의 각각에 대응하여 전송된 최상위 처리 태스크가 모두 자신의 의도와 합치가 되면 합치의 피드백을 상기 질의 처리부(70)로 전송할 수 있고, 적어도 하나의 최상위 처리 태스크가 자신의 의도와 합치가 되지 않으면 불합치의 피드백과 함께 상기 자신의 의도와 합치되지 않은 최상위 처리 태스크를 대체할 수 있는 사용자의 의도에 해당하는 처리 태스크를 상기 질의 처리부(70)로 전송할 수 있다. The user may transmit a matching feedback to the query processing unit 70 when all top-level processing tasks transmitted corresponding to each of the plurality of individual queries coincide with the user's intention, and at least one top-level processing task may correspond to the user's intention. If it does not match the user's intention, a processing task corresponding to the user's intention that can replace the top-level processing task that does not match the user's intention may be transmitted to the query processing unit 70 along with a feedback of inconsistency.

상기 질의 처리부(70)는 상기 사용자로부터 합치의 피드백을 전송받으면 상기 상기 복수의 개별 질의의 각각에 대응하여 전송했던 최상위 처리 태스크들을 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크로 최종 확정하고, 상기 사용자로부터 불합치의 피드백을 전송받으면 자신의 의도와 합치되지 않은 최상위 처리 태스크를 대체하기 위하여 상기 사용자로부터 전송받은 처리 태스크와 사용자에 의해 대체되지 않는 최상위 처리 태스크들을 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크로 최종 확정한다. 상기 질의 처리부(70)는 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크가 최종 확정되면 상기 최종 확정된 처리 태스크가 수행되도록 하는 절차를 진행한다.When the query processing unit 70 receives a matched feedback from the user, the highest processing tasks transmitted corresponding to each of the plurality of individual queries are finally determined as processing tasks corresponding to each of the plurality of individual queries; When an inconsistent feedback is received from the user, the processing task transmitted from the user and the highest processing task not replaced by the user correspond to each of the plurality of individual queries in order to replace the highest processing task that does not match the user's intention. The final decision is made as a processing task to be performed. When the processing task corresponding to each of the plurality of individual queries is finally determined, the query processing unit 70 performs a procedure for executing the finally determined processing task.

예를 들어, 상기 질의 처리부(70)가 제1 개별 질의, 제2 개별 질의 및 제3 개별 질의에 각각 대응하여 제1 최상위 처리 태스크, 제2 최상위 처리 태스크 및 제3 최상위 처리 태스크를 사용자에게 전송할 수 있다. For example, the query processing unit 70 transmits the first highest processing task, the second highest processing task, and the third highest processing task to the user in correspondence to the first individual query, the second individual query, and the third individual query, respectively. can

그러면, 사용자는 세 개의 최상위 처리 태스크가 모두 대응하는 세 개의 개별 질의에 부합한 것으로 판단되면 합치의 피드백을 전송할 수 있고, 이 경우 상기 질의 처리부(70)는 상기 전송한 세 개의 최상위 처리 태스크를 최종 처리 태스크로 확정한다. Then, when it is determined that all three top-level processing tasks correspond to the corresponding three individual queries, the user may transmit matching feedback. Confirmed as a processing task.

반면, 사용자는 세 개의 최상위 처리 태스크 중, 제1 개별 질의에 대응하는 제1 최상위 처리 태스크가 제1 개별 질의에 부합하지 않는 것으로 판단되면 불합치의 피드백과 함께 제1 최상위 처리 태스크를 대체하기 위하여 제1 개별 질의에 부합하는 처리 태스크를 전송할 수 있고, 이 경우 상기 질의 처리부(70)는 상기 제1 최상위 처리 태스크를 대체하기 위하여 전송받은 처리 태스크와 상기 제2 최상위 처리 태스크 및 제3 최상위 처리 태스크를 최종 처리 태스크로 확정한다.On the other hand, if it is determined that the first highest-level processing task corresponding to the first individual query among the three highest-level processing tasks does not conform to the first individual query, the user provides feedback of inconsistency to replace the first highest-level processing task. A processing task corresponding to 1 individual query may be transmitted. In this case, the query processing unit 70 uses the transmitted processing task, the second highest processing task, and the third highest processing task to replace the first highest processing task. Confirmed as the final processing task.

한편, 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 사전에 설정된 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 수도 있다. 예를 들어, 복수의 개별 질의 중, 특정 개별 질의에 대응하여 검색되어 추출된 처리 태스크들 중 정확도가 가장 높은 최상위 처리 태스크의 정확도가 사전에 설정된 선정 기준(예를 들어, 정확도가 80% 이상)에 부합하지 않을 수도 있다. 이 경우에는 상기 상위 그룹 처리 태스크들(예를 들어, 정확도가 높은 순서대로 제1 처리 태스크, 제2 처리 태스크 및 제3 처리 태스크)을 사용자에게 전송하여 사용자가 특정 개별 질의에 부합하는 처리 태스크를 정확하게 확정할 수 있도록 한다.Meanwhile, there may not be a top-level processing task that meets a pre-set selection criterion corresponding to each of a plurality of individual queries constituting the complex query. For example, among a plurality of individual queries, among processing tasks searched for and extracted in response to a specific individual query, the accuracy of the top processing task with the highest accuracy is set in advance (for example, the accuracy is 80% or higher). may not match. In this case, the upper group processing tasks (eg, the first processing task, the second processing task, and the third processing task in order of accuracy) are transmitted to the user so that the user selects a processing task that meets a specific individual query. to be able to determine accurately.

이를 위하여, 상기 질의 처리부(70)는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 적어도 하나가 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 것으로 판단된 경우, 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 개별 질의에 대응하는 상위 그룹 처리 태스크들을 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정한다.To this end, the query processing unit 70 determines that there is no top-level processing task, at least one of which meets the selection criteria, corresponding to each of a plurality of individual queries constituting the complex query. After transmitting the upper group processing tasks corresponding to individual queries for which the highest processing task does not exist to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to the user's feedback.

구체적으로, 상기 질의 처리부(70)는 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 개별 질의에 대응하는 상위 그룹 처리 태스크들을 상기 사용자에게 전송한다. 그러면, 상기 사용자는 상기 상위 그룹 처리 태스크들 중에 대응하는 개별 질의에 포함되는 자신의 의도와 부합되는 처리 태스크가 존재하면, 부합하는 처리 태스크를 선택하여 상기 질의 처리부(70)로 피드백한다. 만약, 상기 사용자가 상기 상위 그룹 처리 태스크들 중에 대응하는 개별 질의에 포함되는 자신의 의도와 부합되는 처리 태스크가 존재하지 않는 것으로 판단되면, 상기 사용자는 자신의 의도와 부합하는 처리 태스크를 새롭게 결정하여 상기 질의 처리부(70)로 피드백한다.Specifically, the query processing unit 70 transmits, to the user, upper group processing tasks corresponding to individual queries for which no highest processing task meeting the selection criterion exists. Then, if there is a processing task that matches the user's intention included in the corresponding individual query among the upper group processing tasks, the user selects the matching processing task and feeds it back to the query processing unit 70 . If it is determined that there is no processing task matching the user's intention included in the corresponding individual query among the upper group processing tasks, the user newly determines a processing task matching the user's intention, Feedback is given to the query processing unit 70.

그러면, 상기 질의 처리부(70)는 복수의 개별 질의들 중, 특정 개별 질의에 대응하여 상기 사용자에 의해 선택되거나 또는 새롭게 결정된 처리 태스크와 나머지 개별 질의들 각각에 대응하여 사전에 설정된 선정 기준에 부합하는 최상위 처리 태스크들을 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크로 추출하여 상기 사용자에게 다시 한번 전송할 수 있다. Then, the query processing unit 70 selects a processing task selected or newly determined by the user in response to a specific individual query from among a plurality of individual queries and a selection criterion set in advance corresponding to each of the remaining individual queries. Top-level processing tasks may be extracted as processing tasks corresponding to each of the plurality of individual queries and transmitted to the user once again.

이에 대해 상기 사용자는 상술한 바와 같이, 전송받은 복수의 처리 태스크가 모두 자신의 의도와 부합되면 합치의 피드백을 상기 질의 처리부(70)로 전송할 수도 있고, 이 경우, 상기 질의 처리부(70)는 상술한 바와 같이, 합치의 피드백에 따라 상기 사용자에게 전송한 복수의 처리 태스크를 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하는 최종의 처리 태스크들로 확정할 수 있다.In this regard, as described above, when the plurality of processing tasks received are all consistent with the user's intention, the user may transmit agreement feedback to the query processing unit 70. In this case, the query processing unit 70 As described above, the plurality of processing tasks transmitted to the user according to the matching feedback may be determined as final processing tasks corresponding to each of a plurality of individual queries constituting the complex query.

반면, 상기 사용자는 복수의 처리 태스크들 중 자신의 의도와 부합하지 않는 처리 태스크가 존재한 경우에는 불합치의 피드백과 함께 대체할 처리 태스크를 상기 질의 처리부(70)로 전송할 수 있고, 이 경우, 상기 질의 처리부(70)는 상술한 바와 같이, 상기 전송받은 대체할 처리 태스크와 사용자에 의해 대체되지 않은 사용자의 의도에 부합하는 나머지 처리 태스크를 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하는 최종의 처리 태스크들로 확정할 수 있다.On the other hand, if there is a processing task that does not match the user's intention among a plurality of processing tasks, the user may transmit the processing task to be replaced to the query processing unit 70 together with the feedback of the inconsistency. As described above, the query processing unit 70 converts the received processing task to be replaced and the remaining processing tasks that are not replaced by the user that meet the user's intention to the plurality of individual queries constituting the complex query, respectively. Final processing tasks can be confirmed.

이와 같이, 상기 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들이 확정되면, 상기 질의 처리부(70)는 상기 확정한 처리 태스크들이 상호 선후 관계성 또는 의존 관계성이 있는지를 판단하고, 판단 결과 상호 선후 관계성 또는 의존 관계성이 있는것으로 판단되면, 상기 사용자의 확인을 통해 확정한 처리 태스크들의 처리 순서를 확정하는 동작을 수행하는 것이 바람직하다. In this way, when processing tasks corresponding to each of the plurality of individual queries are determined, the query processing unit 70 determines whether the determined processing tasks have a mutual precedence relationship or a dependent relationship, and as a result of the determination, mutual If it is determined that there is a precedence relationship or a dependency relationship, it is preferable to perform an operation to determine the processing order of the processing tasks determined through the confirmation of the user.

즉, 상기 질의 처리부(70)는 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정한 후, 상기 확정한 처리 태스크들이 서로 선후 관계 또는 의존 관계가 있는 것으로 판단되면, 상기 사용자에게 상기 확정한 처리 태스크들의 처리 순서를 전송한 후, 상기 사용자의 피드백에 따라 상기 확정한 처리 태스크들의 처리 순서를 확정한다.That is, after the query processing unit 70 determines processing tasks corresponding to each of the plurality of individual queries, and determines that the determined processing tasks have a precedence relationship or a dependent relationship with each other, the query processing unit 70 informs the user of the determined processing tasks. After transmitting the processing order of the processing tasks, the determined processing order of the processing tasks is determined according to the user's feedback.

상기 질의 처리부(70)는 상기 확정한 처리 태스크들을 처리할 때 서로 시간적으로 선후 관계로 처리될 필요가 있는지 또는 서로 연계되어 시간차를 두고 처리될 필요가 있는지를 판단한다. 상기 확정한 처리 태스크들의 서로 선후 관계성 또는 의존 관계성의 존재 여부는 사전에 처리 태스크들의 선후 관계 및 의존 관계를 규정하여 저장 관리함으로써 판단할 수 있다.When processing the determined processing tasks, the query processing unit 70 determines whether they need to be processed in a chronologically precedent relationship or whether they need to be processed with a time difference in connection with each other. Whether or not there is a precedence relationship or a dependence relationship among the determined processing tasks may be determined by prescribing and storing and managing the precedence relationship and dependence relationship of the processing tasks.

상기 질의 처리부(70)는 상기 확정한 처리 태스크들이 서로 선후 관계 또는 의존 관계가 있는 것으로 판단되면, 상기 확정한 처리 태스크들의 처리 순서를 정해서 상기 사용자에게 전송한다. 그러면, 상기 사용자는 상기 전송된 처리 순서가 자신의 의도와 합치되면 합치의 피드백을 상기 질의 처리부(70)로 전송하고, 이 경우 상기 질의 처리부(70)는 상기 사용자에게 전송한 처리 순서를 상기 확정한 처리 태스크들의 처리 순서로 확정한다. 상기 질의 처리부(70)는 상기 확정한 처리 태스크들의 처리 순서가 확정되면, 상기 처리 순서대로 순차적으로 상기 확정한 처리 태스크들의 처리되도록 한다.When it is determined that the determined processing tasks have a precedence or dependency relationship with each other, the query processing unit 70 determines a processing order of the determined processing tasks and transmits the determined processing order to the user. Then, if the transmitted processing order matches the user's intention, the user transmits matching feedback to the query processing unit 70, and in this case, the query processing unit 70 determines the processing order transmitted to the user. Determine the processing order of one processing task. When the processing order of the determined processing tasks is determined, the query processing unit 70 sequentially processes the determined processing tasks in the processing order.

반면, 상기 사용자는 상기 전송된 처리 순서가 자신의 의도와 합치되지 않으면, 불합치의 피드백과 함께 자신의 의도에 부합하는 처리 순서로 변경하여 상기 질의 처리부(70)로 전송하고, 이 경우 상기 질의 처리부(70)는 상기 사용자로부터 전송된 변경된 처리 순서를 상기 확정한 처리 태스크들의 처리 순서로 확정한다. 상기 질의 처리부(70)는 상기 확정한 처리 태스크들의 처리 순서가 확정되면, 상기 처리 순서대로 순차적으로 상기 확정한 처리 태스크들의 처리되도록 한다.On the other hand, if the transmitted processing order does not match the user's intention, the user changes the processing order to the processing order matching the user's intention together with the feedback of the inconsistency and transmits it to the query processing unit 70. In this case, the query processing unit In step 70, the changed processing order transmitted from the user is determined as the processing order of the confirmed processing tasks. When the processing order of the determined processing tasks is determined, the query processing unit 70 sequentially processes the determined processing tasks in the processing order.

이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.Embodiments according to the present invention have been described above, but these are merely examples, and those skilled in the art will understand that various modifications and embodiments of equivalent range are possible therefrom. Therefore, the true technical protection scope of the present invention should be defined by the following claims.

10 : 질의 입력 처리부 30 : 질의 유형 판단부
50 : 질의 분석부 51 : 질의 분석 데이터베이스부
53 : 이력 정보 데이터베이스부 70 : 질의 처리부
71 : 질의 처리 데이터베이스부 100 : 질의 처리 장치
10: query input processing unit 30: query type determination unit
50: query analysis unit 51: query analysis database unit
53: history information database unit 70: query processing unit
71: query processing database unit 100: query processing unit

Claims (8)

사용자가 서비스 또는 업무 처리를 제공하는 서비스 제공자에게 전송하는 질의를 처리하는 장치에 있어서,
사용자로부터 전송되는 음성 또는 텍스트 형태의 질의를 입력 처리하는 질의 입력 처리부;
상기 입력 처리된 질의가 하나의 의도를 포함하는 단순 질의인지 또는 적어도 두개 이상의 의도를 포함하여 복수개의 개별 질의로 구성되는 복합 질의인지를 판단하는 질의 유형 판단부;
상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각의 의도가 파악될 수 있도록 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의 각각을 해석하여 분석하는 질의 분석부;
상기 질의 분석부의 분석 결과를 토대로 질의 처리 데이터베이스부를 참조하여 상기 단순 질의 또는 상기 복합 질의를 구성하는 복수의 개별 질의에 각각에 대응하는 처리 태스크들을 추출하여 확정하는 질의 처리부를 포함하여 구성되는 것을 특징으로 하는 질의 처리 장치.
An apparatus for processing a query transmitted by a user to a service provider providing service or business processing,
a query input processing unit inputting and processing a query in the form of voice or text transmitted from a user;
a query type determining unit that determines whether the input processed query is a simple query including one intent or a complex query composed of a plurality of individual queries including at least two intents;
a query analysis unit that interprets and analyzes each of a plurality of individual queries constituting the simple query or the complex query so that the intention of each of the plurality of individual queries constituting the simple query or the complex query can be identified;
and a query processing unit that extracts and determines processing tasks corresponding to a plurality of individual queries constituting the simple query or the complex query by referring to a query processing database unit based on the analysis result of the query analysis unit. query processing unit.
청구항 1에 있어서,
상기 질의 입력 처리부는 상기 사용자로부터 음성 형태로 질의가 전송되는 경우, 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환하고, 상기 사용자가 외국인에 해당한 경우에는 상기 외국인이 사용하는 외국어 특징 및 체계가 표기되도록 상기 음성 형태의 질의를 텍스트 형태의 질의로 변환하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
The query input processing unit converts the voice-type query into a text-type query when a query is transmitted from the user in a voice form, and when the user corresponds to a foreigner, the foreign language characteristics and system used by the foreigner The query processing device characterized in that for converting the voice-type query into a text-type query so as to be marked.
청구항 1에 있어서,
상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 동음이의어 또는 상황에 따라 다르게 해석되는 단어가 포함된 경우, 질의 분석 데이터베이스부를 참조하여 상기 동음이의어 또는 상황에 따라 다르게 해석되는 단어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부는 동음이의어들 또는 상황에 따라 다르게 해석되는 단어들 각각의 의미들 중, 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에 관련된 의미들만을 저장 관리하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
When the simple query or each of the plurality of individual queries includes a homophone or a word interpreted differently depending on the situation, the query analysis unit refers to the query analysis database unit to refer to the meaning of the homophone or a word interpreted differently depending on the situation. , where the query analysis database unit stores and manages only meanings related to a specific service provided by the service provider or a specific business area among the meanings of homonyms or words that are interpreted differently depending on the situation. Characterized by a query processing unit.
청구항 1에 있어서,
상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각에 외국어가 포함된 경우, 질의 분석 데이터베이스부를 참조하여 상기 외국어의 의미를 분석하고, 여기서, 상기 질의 분석 데이터베이스부는 상기 서비스 제공자가 제공하는 특정 서비스 또는 특정 업무 영역에서 사용되는 외국어들 각각에 대한 복수의 표기를 의미에 대응하여 저장 관리하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
The query analysis unit analyzes the meaning of the foreign language by referring to a query analysis database unit when each of the simple query or the plurality of individual queries includes a foreign language, wherein the query analysis database unit provides specific information provided by the service provider. A query processing device characterized in that it stores and manages a plurality of notations for each foreign language used in a service or a specific business area in correspondence with meaning.
청구항 1에 있어서,
상기 질의 분석부는 상기 단순 질의 또는 상기 복수의 개별 질의의 각각을 해석하여 분석하는 과정에서, 질의를 전송하는 사용자의 이력 정보를 저장 관리하는 이력 정보 데이터베이스부를 참조하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
The query analysis unit refers to a history information database unit that stores and manages history information of a user who transmits a query in a process of interpreting and analyzing each of the simple query or the plurality of individual queries.
청구항 1에 있어서,
상기 질의 처리부는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 모두 선정 기준에 부합하는 최상위 처리 태스크들이 존재한 것으로 판단된 경우, 상기 복수의 개별 질의의 각각에 대응하는 최상위 처리 태스크들을 추출하여 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
The query processing unit, when it is determined that there are top-level processing tasks corresponding to each of the plurality of individual queries constituting the complex query, all of which satisfy the selection criterion, selects the highest-level processing tasks corresponding to each of the plurality of individual queries. After extracting and transmitting to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to feedback from the user.
청구항 1에 있어서,
상기 질의 처리부는 상기 복합 질의를 구성하는 복수의 개별 질의의 각각에 대응하여 적어도 하나가 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 것으로 판단된 경우, 선정 기준에 부합하는 최상위 처리 태스크가 존재하지 않은 개별 질의에 대응하는 상위 그룹 처리 태스크들을 상기 사용자에게 전송한 후, 상기 사용자의 피드백에 따라 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정하는 것을 특징으로 하는 질의 처리 장치.
The method of claim 1,
When the query processing unit determines that there is no top-level processing task, at least one of which satisfies the selection criteria, corresponding to each of the plurality of individual queries constituting the complex query, there is no top-level processing task that meets the selection criteria. and, after transmitting upper group processing tasks corresponding to individual queries that do not match, to the user, processing tasks corresponding to each of the plurality of individual queries are determined according to feedback from the user.
청구항 6 또는 청구항 7에 있어서,
상기 질의 처리부는 상기 복수의 개별 질의의 각각에 대응하는 처리 태스크들을 확정한 후, 상기 확정한 처리 태스크들이 서로 선후 관계 또는 의존 관계가 있는 것으로 판단되면, 상기 사용자에게 상기 확정한 처리 태스크들의 처리 순서를 전송한 후, 상기 사용자의 피드백에 따라 상기 확정한 처리 태스크들의 처리 순서를 확정하는 것을 특징으로 하는 질의 처리 장치.
According to claim 6 or claim 7,
After the query processing unit determines processing tasks corresponding to each of the plurality of individual queries, if it is determined that the determined processing tasks have a precedence relationship or a dependent relationship with each other, the processing order of the determined processing tasks is provided to the user. After transmitting, the processing sequence of the determined processing tasks is determined according to the feedback of the user.
KR1020220008517A 2022-01-20 2022-01-20 Question processing unit KR20230112781A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220008517A KR20230112781A (en) 2022-01-20 2022-01-20 Question processing unit
JP2022030159A JP7406838B2 (en) 2022-01-20 2022-02-28 Inquiry processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220008517A KR20230112781A (en) 2022-01-20 2022-01-20 Question processing unit

Publications (1)

Publication Number Publication Date
KR20230112781A true KR20230112781A (en) 2023-07-28

Family

ID=87427197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220008517A KR20230112781A (en) 2022-01-20 2022-01-20 Question processing unit

Country Status (2)

Country Link
JP (1) JP7406838B2 (en)
KR (1) KR20230112781A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025364A (en) 2011-03-17 2014-03-04 아마데우스 에스.에이.에스. System and method for processing complex queries

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217603A1 (en) 2009-02-26 2010-08-26 Hammond Daniel D Method, System, and Apparatus for Enabling Adaptive Natural Language Processing
CN107577662A (en) 2017-08-08 2018-01-12 上海交通大学 Towards the semantic understanding system and method for Chinese text
JPWO2019087811A1 (en) 2017-11-02 2020-09-24 ソニー株式会社 Information processing device and information processing method
KR102480949B1 (en) 2017-12-08 2022-12-23 구글 엘엘씨 Coordinating signal processing between digital voice assistant computing devices
US11270074B2 (en) 2018-01-16 2022-03-08 Sony Corporation Information processing apparatus, information processing system, and information processing method, and program
US20220350824A1 (en) 2019-06-27 2022-11-03 Sony Group Corporation Information processing apparatus and information processing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025364A (en) 2011-03-17 2014-03-04 아마데우스 에스.에이.에스. System and method for processing complex queries

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2018년 추계학술발표대회 논문집 제25권 제2호(발표 일자 : 2018년 11월, 논문 명칭 : 질의 유형 분류기를 활용한 지식 베이스 기반의 복합 질의 응답 시스템)

Also Published As

Publication number Publication date
JP2023106269A (en) 2023-08-01
JP7406838B2 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
CN108897867B (en) Data processing method, device, server and medium for knowledge question answering
CN111026842B (en) Natural language processing method, natural language processing device and intelligent question-answering system
US10430158B2 (en) Voice recognition keyword user interface
US20190272269A1 (en) Method and system of classification in a natural language user interface
US11163778B2 (en) Integrating virtual and human agents in a multi-channel support system for complex software applications
US20140351228A1 (en) Dialog system, redundant message removal method and redundant message removal program
JP6998680B2 (en) Interactive business support system and interactive business support program
JP2009193457A (en) Information retrieval device, method and program
CN103593412B (en) A kind of answer method and system based on tree structure problem
WO2021047169A1 (en) Information query method and apparatus, storage medium, and smart terminal
US20140052445A1 (en) Voice search and response based on relevancy
CN107992523B (en) Function option searching method of mobile application and terminal equipment
Braun et al. Towards a Framework for Classifying Chatbots.
JP2019207648A (en) Interactive business assistance system
KR20200055165A (en) Service system for recommending urgently expert
JP2020135135A (en) Dialog content creation assisting method and system
US8862609B2 (en) Expanding high level queries
JP2014174938A (en) Help desk support system
JP7126865B2 (en) Interactive business support system
KR20230112781A (en) Question processing unit
CN114528851B (en) Reply sentence determination method, reply sentence determination device, electronic equipment and storage medium
US11763070B2 (en) Method and system for labeling and organizing data for summarizing and referencing content via a communication network
US20180336242A1 (en) Apparatus and method for generating a multiple-event pattern query
US11314811B1 (en) Systems and methods for semantic search engine analysis
CN114297229A (en) Data query method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal