KR20200080951A - Dialogue system having multiple dialogue domains - Google Patents

Dialogue system having multiple dialogue domains Download PDF

Info

Publication number
KR20200080951A
KR20200080951A KR1020180170964A KR20180170964A KR20200080951A KR 20200080951 A KR20200080951 A KR 20200080951A KR 1020180170964 A KR1020180170964 A KR 1020180170964A KR 20180170964 A KR20180170964 A KR 20180170964A KR 20200080951 A KR20200080951 A KR 20200080951A
Authority
KR
South Korea
Prior art keywords
conversation
user
unit
domain
speech
Prior art date
Application number
KR1020180170964A
Other languages
Korean (ko)
Other versions
KR102198295B1 (en
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 KR1020180170964A priority Critical patent/KR102198295B1/en
Publication of KR20200080951A publication Critical patent/KR20200080951A/en
Application granted granted Critical
Publication of KR102198295B1 publication Critical patent/KR102198295B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Abstract

Provided is a dialogue system having multiple dialogue domains. According to the present invention, the dialogue system having multiple dialogue domains comprises: a user interface receiving a user comment from a user through a network and transmitting a system comment to the user; a dialogue domain management unit having multiple dialogue domains; a user comment preprocessing unit referring to a natural language understanding unit having action ontology and fact ontology to perform natural language processing on the user comment and configure and vectorize the user comment into a semantic frame and using a result of natural language processing for the user comment to select one of the multiple dialogue domains; a natural language analysis unit detecting an entity, an intention, and a substitute term from the semantic frame for the configured user comment and searching for and detecting an entity indicated by the detected substitute term; and a system comment execution unit generating a system comment based on the entity referring to the substitute term of the user comment.

Description

복수의 대화 도메인을 가지는 대화 시스템{Dialogue system having multiple dialogue domains}Dialogue system having multiple dialogue domains}

본 발명은 대화 시스템에 관한 것으로, 자세하게는 복수의 대화 도메인을 가지는 대화 시스템에 관한 것이다. The present invention relates to a conversation system, and more particularly, to a conversation system having a plurality of conversation domains.

본 발명은 미래창조과학부 SW컴퓨팅산업원천기술개발사업(SW)의 일환으로 (주)비트컴퓨터에서 주관하고 (주)솔트룩스가 공동 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2018.04.01~2019.03.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: 머신러닝기반 의료HER 클라우드 서비스 개발, 과제 고유번호: 2017-0-03355] The present invention was derived from a study conducted by Bitlux Co., Ltd. and jointly researched by Saltlux Co., Ltd. as part of the SW Computing Industry Source Technology Development Project (SW) by the Ministry of Science, ICT and Future Planning. [Research period: 2018.04.01~2019.03.31, Research management agency: Information and Communication Technology Promotion Center, Research project name: Machine learning-based medical HER cloud service development, task identification number: 2017-0-03355]

대화 시스템은 사용자의 발언(utterance)에 응답하여 시스템의 발언을 생성 및 제공하는 시스템으로, 대화 시스템은 특정 도메인이나 상황에서 가능한 대화 환경을 제공하기 위한 대화 도메인이 함께 제공된다. 사용자의 발언에 인칭대명사, 지시대명사, 관계대명사와 같은 대용어(anaphora)가 포함된 경우, 대화 시스템에서, 대용어의 의미를 파악하고 사용자의 의도를 파악하는데 어려움이 발생할 수 있다. The conversation system is a system that generates and provides a system speech in response to a user's utterance, and the conversation system is provided with a conversation domain for providing a conversation environment possible in a specific domain or situation. When the user's remark includes an anaphora such as a person pronoun, an instructive pronoun, or a relational pronoun, in the conversation system, it may be difficult to understand the meaning of the surrogate and to understand the user's intention.

본 발명의 기술적 과제는, 대용어의 의미를 파악할 수 있도록 복수의 대화 도메인을 가지는 대화 시스템을 제공하는 것이다. The technical problem of the present invention is to provide a conversation system having a plurality of conversation domains so as to grasp the meaning of a substitute term.

상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 복수의 대화 도메인을 가지는 대화 시스템은, 네트워크를 통하여 사용자로부터 사용자 발언을 수신하고 시스템 발언을 상기 사용자에게 송신하는 유저 인터페이스; 복수의 대화 도메인을 가지는 대화 도메인 관리부; 액션 온톨로지와 팩트 온톨로지를 가지는 자연어 이해부를 참조하여 상기 사용자 발언에 대한 자연어 처리를 하여, 상기 사용자 발언을 시맨틱 프레임으로 구성 및 벡터화하고, 상기 사용자 발언에 대한 자연어 처리 결과를 이용하여 상기 복수의 대화 도메인 중 하나를 선택하는 사용자 발언 전처리부; 구성된 상기 사용자 발언에 대한 시맨틱 프레임으로부터 엔티티, 의도, 및 대용어를 감지하고, 감지된 대용어가 지칭하는 엔티티를 탐색하여 감지하는 자연어 분석부; 및 상기 사용자 발언이 가지는 대용어를 지칭하는 엔티티를 토대로 상기 시스템 발언을 생성하도록 실행하는 시스템 발언 실행부;를 포함한다. A conversation system having a plurality of conversation domains according to an aspect of the technical idea of the present invention for achieving the above technical problem includes: a user interface that receives a user's speech from a user through a network and transmits the system's speech to the user; A conversation domain management unit having a plurality of conversation domains; By referring to the natural language understanding unit having an action ontology and a fact ontology, natural language processing is performed on the user speech, and the user speech is composed and vectorized into a semantic frame, and the plurality of conversation domains are used by using the natural language processing result for the user speech. A user speech preprocessing unit selecting one of the two; A natural language analysis unit that detects entities, intentions, and substitutes from the constructed semantic frame for the user's speech, and searches for and detects the entities indicated by the detected substitutes; And a system utterance executing unit executing to generate the system utterance based on an entity indicating a substitute word of the user utterance.

상기 대화 도메인 관리부는, 상기 복수의 대화 도메인 각각이 가지는 도메인 대화들을 시맨틱 프레임으로 구성 및 벡터화하여 상기 복수의 대화 도메인 각각에 대한 싱글 클러스터 모델을 생성하는 클러스터 모델 생성부를 더 포함할 수 있다. The conversation domain management unit may further include a cluster model generation unit configured to construct and vectorize domain conversations of each of the plurality of conversation domains into a semantic frame to generate a single cluster model for each of the plurality of conversation domains.

상기 자연어 분석부는, 구성된 상기 사용자 발언에 대한 시맨틱 프레임으로부터 엔티티, 의도, 및 대용어를 각각 감지하는 엔티티 검출부, 의도 검출부, 및 대용어 분해부를 포함하며, 상기 대용어 분해부는 상기 엔티티 검출부에서 감지된 엔티티로부터 상기 감지된 대용어의 후보인 후보 대용어들을 선정하는 후보 선정부, 상기 감지된 대용어를 상기 후보 대용어들로 각각 치환하는 후보 치환부; 및 상기 감지된 의도를 참조하여, 상기 감지된 대용어가 상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 선택된 대화 도메인의 유사도를 계산하는 유사도 계산부;를 포함할 수 있다. The natural language analysis unit includes an entity detection unit, an intention detection unit, and a surrogate decomposition unit that detect entities, intentions, and surrogates from the semantic frame for the configured user speech, and the surrogate decomposition unit is detected by the entity detection unit A candidate selection unit for selecting candidate substitutes that are candidates for the detected substitutes from the entity, and candidate replacement units for replacing the detected substitutes with the candidate substitutes; And a similarity calculating unit calculating the similarity between the user's speech and the selected conversation domain in which the detected substitute is replaced with the candidate substitutes, with reference to the sensed intention.

상기 유사도 계산부는, 벡터화된 상기 사용자 발언과 상기 선택된 대화 도메인에 대한 싱글 클러스터 모델 사이의 거리를 계산할 수 있다. The similarity calculating unit may calculate a distance between the vectorized user speech and a single cluster model for the selected conversation domain.

상기 사용자 발언에 대하여 구성된 시맨틱 프레임, 감지된 엔티티, 감지된 의도, 및 감지된 대용어를 가지는 시맨틱 프레임 컨텍스트을 저장하는 시맨틱 프레임 컨텍스트 저장부;를 더 포함하며, 상기 후보 선정부는, 상기 시맨틱 프레임 컨텍스트 저장부에 저장된 상기 시맨틱 프레임 컨텍스트가 가지는 감지된 엔티티로부터 상기 후보 대용어들을 선정할 수 있다. A semantic frame context storage unit for storing a semantic frame context having a semantic frame, a sensed entity, a sensed intention, and a sensed substitute for the user's speech; and further comprising the candidate selection unit storing the semantic frame context The candidate substitutes may be selected from the sensed entity of the semantic frame context stored in the unit.

상기 대용어 분해부는, 클러스터 모델 선택부를 더 포함하며, 상기 클러스터 모델 선택부는 상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 선택된 대화 도메인의 유사도가 기설정된 값 이상인 경우 선택된 대화 도메인을 선택하고, 상기 기설정된 값 미만인 경우, 상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 복수의 대화 도메인 중 선택되지 않은 대화 도메인의 유사도를 계산하여, 상기 기설정된 값 이상인 선택되지 않은 대화 도메인에 대한 싱글 클러스터 모델과 상기 선택된 대화 도메인에 대한 싱글 클러스터 모델을 결합하여 다중 클러스터 모델을 생성할 수 있다. The surrogate decomposition unit further includes a cluster model selection unit, and the cluster model selection unit selects the selected conversation domain when the similarity between the user speech and the selected conversation domain substituted with the candidate substitution terms is greater than or equal to a preset value. , When less than the preset value, calculates the similarity between the user's speech substituted with the candidate substitutes and the unselected chat domain among the plurality of chat domains, for an unselected chat domain equal to or greater than the preset value. A single cluster model and a single cluster model for the selected conversation domain can be combined to generate a multiple cluster model.

상기 사용자 발언 전처리부는, 상기 클러스터 모델 선택부에서 상기 다중 클러스터 모델을 생성하면, 상기 선택된 대화 도메인의 싱글 클러스터 모델 대신에 상기 생성된 다중 클러스터 모델이 선택되도록 할 수 있다. When the multi-cluster model is generated by the cluster model selection unit, the user remark pre-processing unit may allow the generated multi-cluster model to be selected instead of the single cluster model of the selected conversation domain.

상기 클러스터 모델 생성부는, 상기 액션 온톨로지와 상기 팩트 온톨로지를 참조하여 상기 복수의 대화 도메인 각각이 가지는 도메인 대화들 각각을 시맨틱 프레임으로 구성하는 모델 시맨틱 프레임 변환부; 구성된 상기 도메인 대화들 각각에 대한 시맨틱 프레임에서 상기 액션 온톨로지와 상기 팩트 온톨로지에 대응되는 키워드를 통하여 액션 벡터 및 팩트 벡터를 생성하는 모델 벡터 생성부; 및 구성된 상기 도메인 대화들 각각에 대한 시맨틱 프레임에서 생성된 상기 액션 벡터 및 상기 팩트 벡터를 참조하여 시맨틱 프레임 벡터를 구하고, 상기 도메인 대화들 각각에 대한 상기 시맨틱 프레임 벡터를 조합해서 상기 복수의 대화 도메인 각각에 대한 싱글 클러스터 모델을 생성하는 시맨틱 프레임 벡터 생성부;를 포함할 수 있다. The cluster model generation unit includes: a model semantic frame conversion unit configured to configure each of the domain conversations of each of the plurality of conversation domains as a semantic frame with reference to the action ontology and the fact ontology; A model vector generator for generating action vectors and fact vectors through keywords corresponding to the action ontology and the fact ontology in the semantic frame for each of the configured domain conversations; And a semantic frame vector with reference to the action vector and the fact vector generated in the semantic frame for each of the configured domain conversations, and combining the semantic frame vector for each of the domain conversations to each of the plurality of conversation domains. And a semantic frame vector generator for generating a single cluster model for.

상기 시스템 발언 실행부는, 표준 실행부 및 대용어 실행부를 포함하며, 상기 표준 실행부는, 상기 사용자 발언에서 감지된 대용어가 없는 경우, 상기 사용자 발언에서 감지된 엔티티 및 감지된 의도를 토대로 상기 시스템 발언을 생성하도록 실행하고, 상기 대용어 실행부는, 상기 사용자 발언에서 감지된 대용어가 있는 경우 상기 시스템 발언을 생성하도록 실행할 수 있다. The system speech execution unit includes a standard execution unit and a surrogate execution unit, and the standard execution unit, when there is no substitute word detected in the user speech, based on the entity sensed in the user speech and the sensed intention And the surrogate execution unit may execute to generate the system remark when there is a surrogate detected in the user remark.

본 발명에 따른 대화 시스템은, 사용자의 발언에 대용어가 포함된 경우에도 대용어의 의미 및 사용자의 의도를 파악할 수 있으며, 모든 대화 과정에 대응한 대화 도메인을 가지지 못하는 경우에도, 서로 다른 2개 이상의 대화 도메인을 결합한 다중 클러스터 모델을 생성하여, 새로운 형태의 대화 과정에 바로 대응할 수 있다. The conversation system according to the present invention can grasp the meaning of a substitute word and a user's intention even when the user's speech includes a substitute word, and even if the conversation domain does not have a conversation domain corresponding to all conversation processes, two different By creating a multi-cluster model that combines the above-mentioned dialogue domains, it can directly respond to a new type of dialogue process.

도 1은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템을 나타내는 블록도이다.
도 2a는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 대화 도메인 관리부의 구성을 나타내는 블록도이고, 도 2b는 대화 도메인 관리부의 동작을 설명하기 위한 블록도이다.
도 3a 및 도 3b는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 사용되는 시맨틱 프레임과 시맨틱 프레임 컨텍스트를 설명하는 개념도들이다.
도 4는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 자연어 분석부의 동작을 설명하기 위한 블록도이다.
도 5a는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 다중 클러스터 모델을 생성하는 과정을 설명하기 위한 블록도이고, 도 5b는 다중 클러스터 모델의 개념을 설명하기 위한 개념도이다.
도 6은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 시스템 발언 실행부의 동작을 설명하는 블록이다.
도 7은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 이루어지는 예시적인 대화 진행을 나타낸다.
1 is a block diagram illustrating a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.
2A is a block diagram showing the configuration of a conversation domain management unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention, and FIG. 2B is a block diagram for explaining the operation of the conversation domain management unit.
3A and 3B are conceptual views illustrating a semantic frame and a semantic frame context used in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.
Fig. 4 is a block diagram illustrating an operation of a natural language analysis unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.
5A is a block diagram illustrating a process of generating a multi-cluster model in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention, and FIG. 5B is a conceptual diagram illustrating the concept of a multi-cluster model .
Fig. 6 is a block diagram illustrating an operation of a system speaking execution unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.
7 illustrates an exemplary conversation progression made in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. The present invention can be applied to various changes and may have various forms, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific disclosure form, and it should be understood that all modifications, equivalents, and substitutes included in the spirit and scope of the present invention are included. In describing each drawing, similar reference numerals are used for similar components. In the accompanying drawings, the dimensions of the structures are enlarged or reduced than actual ones for clarity of the present invention.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions, unless the context clearly indicates otherwise. In this specification, terms such as “include” or “have” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described on the specification exists, and that one or more other features are present. It should be understood that the existence or addition possibilities of fields or numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the present invention pertains. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and are not to be interpreted as ideal or excessively formal meanings, unless explicitly defined herein. .

이하 도면 및 설명에서, 하나의 블록, 예를 들면, '~부' 또는 '~모듈'로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.In the following drawings and descriptions, one block, for example, a component indicated or described as'~ unit' or'~ module' may be a hardware block or a software block. For example, each of the components may be an independent hardware block that exchanges signals with each other, or may be a software block executed in one processor.

본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다. In order to fully understand the configuration and effects of the present invention, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템을 나타내는 블록도이다. 1 is a block diagram illustrating a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

도 1을 참조하면, 복수의 대화 도메인을 가지는 대화 시스템(1, 이하 대화 시스템)은, 네트워크(50)를 통하여 사용자(10)로부터 발언을 수신하고, 사용자에게 발언을 송신하는 유저 인터페이스(UI, 100)를 포함한다. 네트워크(50)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고 받을 수 있는 것을 모두 포함할 수 있다. 네트워크(50)가 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(50)는 3G, 4G, 5G 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다. Referring to FIG. 1, a conversation system having a plurality of conversation domains (1, hereinafter a conversation system) receives a utterance from the user 10 through the network 50 and transmits a utterance to the user (UI, 100). The network 50 includes wired Internet service, local area network (LAN), broadband communication network (WAN), intranet, wireless Internet service, mobile computing service, wireless data communication service, wireless Internet access service, satellite communication service, wireless LAN, Bluetooth, etc. It can include anything that can send and receive data over wired or wireless. When the network 50 is connected to a smartphone or tablet, the network 50 may be a wireless data communication service such as 3G, 4G, 5G, wireless LAN such as Wi-Fi, Bluetooth, or the like.

유저 인터페이스(100)는 사용자(10)가 사용하는 단말기 등을 통하여 대화 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 유저 인터페이스(100)를 통하여 사용자(10)의 발언(utterance, 이하 사용자 발언)을 대화 시스템(1)에 전송할 수 있고, 유저 인터페이스(100)를 통하여 대화 시스템(1)이 제공하는 사용자의 발언에 대한 시스템의 발언을 전달받을 수 있다. 발언(utterance) 대화 과정에서 사용자(10) 또는 대화 시스템(1)이 상대에게 전달하고자 하는 문장이다. 사용자의 발언은 입력 문장이라 호칭할 수 있고, 시스템의 발언은 출력 문장이라 호칭할 수 있다. The user interface 100 may provide an interface for accessing the conversation system 1 through a terminal or the like used by the user 10. The user 10 may transmit a utterance of the user 10 to the conversation system 1 through the user interface 100, and the conversation system 1 provides through the user interface 100 The system's comments on the user's comments can be received. It is a sentence that the user 10 or the conversation system 1 wants to convey to the other person in the process of speaking. The user's speech can be called an input sentence, and the system's speech can be called an output sentence.

대화 시스템(1)은 유저 인터페이스(100)와 연결되어 사용자(10)로부터 입력 문장을 수신하고, 유저 인터페이스(100)를 통하여 사용자(10)에게 출력 문장을 송신하는 대화 실행 관리자(200)를 포함한다. 또한, 대화 실행 관리자(200)은 대화 시스템(1)이 포함하는 구성 요소들을 제어하여 대화 과정을 진행할 수 있다. The conversation system 1 includes a conversation execution manager 200 connected to the user interface 100 to receive an input sentence from the user 10 and transmit an output sentence to the user 10 through the user interface 100. do. In addition, the conversation execution manager 200 may control the components included in the conversation system 1 to proceed with the conversation process.

대화 시스템(1)은 사용자 발언 전처리부(300)를 포함한다. 사용자 발언 전처리부(300)는 자연어 이해부(500)를 참조하여, 사용자 발언에 대한 자연어 처리를 할 수 있다. 자연어 처리는 대상 어절을 최소의 의미 단위인 형태소로 분석하는 형태소 분석 과정, 이렇게 분석된 형태소 결과 중 가장 적합한 형태의 품사를 선택하는 과정으로서 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택하는 품사 부착 과정, 명사구, 동사구, 부사구 등의 덩어리를 분석하는 구 단위 분석 과정, 중문, 복문 등의 문장을 단문 단위로 분해하는 절 단위 분석 과정, 및 문장을 이루고 있는 구성 성분 간 위계 관계를 분석하여 문장의 구조를 결정하는 구문 분석 과정을 포함할 수 있다. The conversation system 1 includes a user speech pre-processing unit 300. The user speech preprocessing unit 300 may perform natural language processing on the user speech by referring to the natural language understanding unit 500. Natural language processing is a morphological analysis process that analyzes a target word into a morpheme that is a minimum semantic unit, and selects the most suitable form of part-of-speech among the analyzed morpheme results. Part-of-speech process to select suitable analysis results, phrase unit analysis process to analyze chunks of noun phrases, verb phrases, adverbs phrases, clause-by-clause analysis procedures to break sentences such as Chinese and complex sentences into single-unit units, and constituent components constituting sentences It may include a syntax analysis process to determine the structure of the sentence by analyzing the hierarchical relationship.

사용자 발언 전처리부(300)는 사용자 발언에 대한 자연어 처리 결과를 이용하여 대화 도메인 관리부(600)가 가지는 복수의 대화 도메인(610, 620, 630) 중 어느 하나를 선택할 수 있다. 복수의 대화 도메인(610, 620, 630) 각각은 대화 상황에 맞게 구성된 대화 모델일 수 있다. 사용자 발언 전처리부(300)는 사용자 발언을 시맨틱 프레임(도 3a의 SF)으로 변환하는 사용자 발언 시맨틱 프레임 변화부(310) 및 시맨틱 프레임(SF)으로 변환된 사용자 발언을 벡터화하는 발언 벡터 생성부(320)로 이루어질 수 있다. 사용자 발언 전처리부(300)는 자연어 이해부(500)가 가지는 액션 온톨로지(510) 및 팩트 온톨로지(520)를 활용하여, 사용자 발언을 시맨틱 프레임(SF)으로 변환하고 벡터화할 수 있다. The user speech pre-processing unit 300 may select any one of a plurality of conversation domains 610, 620, and 630 of the conversation domain management unit 600 using the natural language processing result of the user speech. Each of the plurality of conversation domains 610, 620, and 630 may be a conversation model configured for a conversation situation. The user speech pre-processing unit 300 converts the user speech into a semantic frame (SF in FIG. 3A), a user speech semantic frame change unit 310, and a speech vector generator that vectorizes the user speech converted into the semantic frame SF. 320). The user speech pre-processing unit 300 may convert the user speech into a semantic frame SF and vectorize it by utilizing the action ontology 510 and the fact ontology 520 of the natural language understanding unit 500.

시맨틱 프레임(SF)이란, 언어적 의미(linguistic semantics)를 사전적 지식(encyclopedic knowledge)으로 연결시키는 이론으로, 발언에 대한 자연어 처리 과정에서 액션 온톨로지(510)와 팩트 온톨로지(520)를 활용하여, 각 엔티티 및 동사를 추출하여 매핑시킬 수 있는 정형화된 프레임이다. 예를 들어 팔다(Sell)라는 언어는 구매자, 판매자, 상품, 금액 등의 맥락 없이는 이해할 수 없으므로, 언어의 해석을 위하여, 이러한 맥락을 프레임으로 구성한 것이 시맨틱 프레임(SF)이다. 시맨틱 프레임(SF)은 lexeme(의미의 최소 단위)에 적용될 수 있으나, 이에 한정되지 않으며, 핵심 의미 분석요소로 문법구조(grammatical construction)에 적용되거나, 복잡한 언어 단위(linguistic units), 또는 구성문법(construction grammar) 등에 적용될 수 있다. The semantic frame (SF) is a theory that connects linguistic semantics to encyclopedic knowledge, and utilizes the action ontology 510 and the fact ontology 520 in the natural language processing of speech. It is a standardized frame that can extract and map each entity and verb. For example, the language Sell is incomprehensible without the context of buyers, sellers, products, prices, etc., so the semantic frame (SF) is composed of frames in order to interpret the language. The semantic frame (SF) may be applied to lexeme (the smallest unit of meaning), but is not limited thereto, and applied to grammatical construction as a core semantic analysis element, complex linguistic units, or constructive grammar ( construction grammar).

시맨틱 프레임 저장부(550)에는 사용자 발언을 시맨틱 프레임(SF)으로 변환시키기 위한 매핑용 프레임이 저장되어 있다. 본 명세서에서, 시맨틱 프레임(SF)은 시맨틱 프레임 저장부(550)에 저장된 매핑용 프레임에, 발언에서 추출된 각 엔티티 및 동사가 매핑된 결과를 의미할 수 있다.The semantic frame storage unit 550 stores a mapping frame for converting a user's speech into a semantic frame (SF). In this specification, the semantic frame SF may mean a result of mapping each entity and verb extracted from the remark to a mapping frame stored in the semantic frame storage unit 550.

온톨로지(ontology)란 세상의 있는 사물이나 사건들에 대한 특징을 파악하고 개념화하여 일종의 데이터베이스와 같은 형태로 만드는 기술을 의미하며, 정보 시스템의 대상이 되는 자원의 개념을 명확하게 정의하고 상세하게 기술하여 관련된 사물 및 사건들에 대한 정확한 정보를 찾을 수 있도록 할 수 있다. 온톨로지는 예를 들면, 클래스(Class), 인스턴스(Instance), 릴레이션(Relation), 및 프로퍼티(Property)의 4가지로 구성될 수 있다. 클래스(Class)는 일반적으로 우리가 사물이나 개념에 붙이는 이름인 "컴퓨터", "키보드", "모니터" 등을 말한다. 인스턴스(Instance)는 클래스(Class)의 실질적인 형태로, "삼성전자 SM-500 컴퓨터", "LG전자 X키보드", "삼성전자 SM-520 모니터" 등과 같은 것을 일반적으로 인스턴스(Instance)라고 볼 수 있다. 프로퍼티(Property)는 클래스(Class) 또는 인스턴스(Instance)의 특정한 성질이나 정보를 값(Value)으로 가지고 있는 것이다. 삼성전자 12인치 SM-520 모니터에서, 인스턴스(Instance)인 "삼성전자 SM-520 모니터" 는 사이즈(Size)라는 프로퍼티(Property)로 12인치를 가지고 있는 것이다. 릴레이션(Relation)은 클래스(Class)와 인스턴스(Instance) 간의 관계를 표현할 수 있다. "사람은 동물이다"에서와 같이 "사람"인 클래스(Class)와 "동물"인 클래스(Class)는 'isA'와 같은 릴레이션(Relation)를 통해 '"사람" isA "동물"'과 같이 표현할 수 있다.Ontology refers to a technology that identifies and conceptualizes the characteristics of objects or events in the world and makes them into a kind of database, and clearly defines and describes in detail the concept of a resource that is the target of an information system. It can help to find accurate information about related objects and events. The ontology may be composed of four types, for example, Class, Instance, Relation, and Property. Class refers to "computer", "keyboard", and "monitor", which are the names we usually give to things or concepts. Instance is a practical form of class, such as "Samsung Electronics SM-500 computer", "LG Electronics X keyboard", "Samsung Electronics SM-520 monitor", etc., can be generally viewed as instances. have. A property is a value that contains specific properties or information of a class or instance. In the Samsung Electronics 12-inch SM-520 monitor, the instance "Samsung Electronics SM-520 monitor" has a property of 12 inches. Relation may express a relationship between a class and an instance. As in "People are Animals", the "Person" class and the "Animal" class can be expressed as ""Person" isA "Animal" through a relation such as'isA'. Can.

액션 온톨로지(Action Ontology, 510)란 일상생활에서 쓰이는 동사가 정의되어있는 데이터 집합이다. 액션 온톨로지(510)는 데이터간에 연결성을 가지고, 이러한 연결성을 통해 각 동사들에 대한 유사어, 반대어, 성격을 판단할 수 있으며, 동사를 통한 의도 분석을 수행할 수 있도록 하는 유기적인 데이터 집합이다.Action Ontology (510) is a data set that defines verbs used in everyday life. The action ontology 510 is an organic data set that has connectivity between data, and can determine similar words, counterwords, and personalities for each verb through such connectivity, and perform intention analysis through verbs.

팩트 온톨로지(Fact Ontology, 520)란 일상생활에서 쓰이는 명사 및 엔티티(Entity)들이 정의되어있는 데이터 집합이다. 액션 온톨로지(510)와 마찬가지로, 팩트 온톨로지(520)를 구성하는 데이터 집합에 저장된 명사 및 엔티티(Entity)들은 서로간에 연결성을 가지는데, 이러한 연결성을 활용하여 유사어 및 반대어 그리고 해당 엔티티(Entity)가 가지고 있는 모든 속성 정보들을 활용할 수 있다.Fact Ontology (520) is a data set in which nouns and entities used in daily life are defined. Similar to the action ontology 510, nouns and entities stored in the data set constituting the fact ontology 520 have connectivity with each other, and by utilizing such connectivity, synonyms and counterwords and corresponding entities have All available attribute information can be used.

발언 벡터 생성부(320)의 동작은 도 2a 및 도 2b에서 설명할 모델 벡터 생성부(654)와 거의 유사한 바, 자세한 설명은 생략하도록 한다. 모델 벡터 생성부(654)가 시맨틱 프레임(SF)으로 변환된 대화 도메인(610, 620, 630) 각각이 가지는 도메인 대화(DH)를 벡터화하고, 발언 벡터 생성부(320)는 시맨틱 프레임(SF)으로 변환된 사용자 발언을 벡터화할 수 있다. 일부 실시 예에서, 발언 벡터 생성부(320) 및 모델 벡터 생성부(654) 중 어느 하나는 생략될 수 있다. 예를 들면, 사용자 발언 전처리부(300)는 발언 벡터 생성부(320)를 별도로 포함하지 않고, 모델 벡터 생성부(654)를 호출하여, 시맨틱 프레임(SF)으로 변환된 사용자 발언을 벡터화할 수 있다. 또는 예를 들면, 클러스터 모델 생성부(650)는 모델 벡터 생성부(654)를 별도로 포함하지 않고, 발언 벡터 생성부(320)를 호출하여 시맨틱 프레임(SF)으로 변환된 도메인 대화(DH)를 벡터화할 수 있다. The operation of the speech vector generation unit 320 is almost similar to the model vector generation unit 654 to be described with reference to FIGS. 2A and 2B, and detailed description thereof will be omitted. The model vector generation unit 654 vectorizes the domain conversation (DH) of each of the conversation domains 610, 620, and 630 converted to the semantic frame (SF), and the speech vector generation unit 320 is the semantic frame (SF) You can vectorize the user comments converted to. In some embodiments, any one of the speech vector generator 320 and the model vector generator 654 may be omitted. For example, the user speech pre-processing unit 300 does not include the speech vector generator 320 separately, and calls the model vector generator 654 to vectorize the user speech converted to the semantic frame SF. have. Or, for example, the cluster model generator 650 does not include the model vector generator 654 separately, and calls the speech vector generator 320 to generate a domain conversation (DH) converted into a semantic frame (SF). Can be vectorized.

유사하게, 일부 실시 예에서, 사용자 발언 시맨틱 프레임 변화부(310) 및 모델 시맨틱 프레임 변환부(도 2a의 652) 중 어느 하나는 생략될 수 있다. 예를 들면, 사용자 발언 전처리부(300)는 사용자 발언 시맨틱 프레임 변화부(310)를 별도로 포함하지 않고, 모델 시맨틱 프레임 변환부(652)를 호출하여, 사용자 발언을 시맨틱 프레임(SF)으로 변환할 수 있다. 또는 예를 들면, 클러스터 모델 생성부(650)는 모델 시맨틱 프레임 변환부(652)를 별도로 포함하지 않고, 사용자 발언 시맨틱 프레임 변화부(310)를 호출하여 도메인 대화(DH)를 시맨틱 프레임(SF)으로 변환할 수 있다. Similarly, in some embodiments, any one of the user-speaking semantic frame changing unit 310 and the model semantic frame converting unit (652 in FIG. 2A) may be omitted. For example, the user speech pre-processing unit 300 does not include the user speech semantic frame change unit 310 separately, and calls the model semantic frame conversion unit 652 to convert the user speech to the semantic frame SF. Can. Or, for example, the cluster model generation unit 650 does not include the model semantic frame conversion unit 652 separately, and calls the user-spoken semantic frame change unit 310 to transmit the domain conversation (DH) to the semantic frame (SF). Can be converted to

자연어 분석부(400)는 엔티티(Entity) 검출부(410), 의도(Intent) 검출부(420), 및 대용어(Anaphora) 분해부(430)를 포함할 수 있다. The natural language analysis unit 400 may include an entity detection unit 410, an intent detection unit 420, and an anaphora decomposition unit 430.

엔티티 검출부(410)는 사용자 발언에 대한 자연어 처리 결과로부터 엔티티들을 검출할 수 있다. 엔티티란, 대화 과정에서 사용되는 어휘 키워드들을 설정하기 위해 존재한다. 엔티티는 Thing, Location, Time, People과 같은 4가지 유형(type)으로 대용어를 위하여 대화 도메인에 설정될 수 있다. Thing은 사물, Location은 위치 및 장소, Time은 시간 및 날짜, People은 사람과 관련된 엔티티로 대용어를 위하여 대화 도메인에 정의될 수 있다.The entity detection unit 410 may detect entities from a natural language processing result of a user's speech. Entities exist to set vocabulary keywords used in the conversation process. Entities can be set in a conversation domain for a substitute term in four types: Thing, Location, Time, and People. Thing is an object, Location is a location and place, Time is a time and date, People is an entity related to a person, and can be defined in a conversation domain for a substitute.

의도 검출부(420)는 사용자 발언에 대한 자연어 처리 결과로부터 의도를 검출할 수 있다. 의도란 발언의 의도로 사용되며, 하나의 의도에는 다수의 의역된(paraphrasing) 문장들을 설정할 수 있다. 의도 검출(Intent Classification 또는 Intent Detect)이란 특정 문장에 대한 의미를 결정하기 위해 대화 과정에서 설정된 의도 중 유사도가 높은 문장을 찾는 과정을 말한다.The intention detection unit 420 may detect an intention from a natural language processing result of a user's speech. Intention is used as the intention of a speech, and multiple paraphrases can be set for one intention. Intent Classification (Intent Classification or Intent Detect) refers to the process of finding a sentence with high similarity among intentions set in a conversation process to determine the meaning of a specific sentence.

대용어 분해부(430)는 사용자 발언에 대한 자연어 처리 결과로부터 대용어(Anaphora)를 검출하여, 대용어가 지칭하는 엔티티를 탐색할 수 있다. 대용어란 앞에서 언급한 명사 또는 명사구를 지칭하는 대명사일 수 있다. The surrogate decomposition unit 430 may detect an anaphora from a natural language processing result of a user's speech, and search for an entity indicated by the surrogate. The pronoun may be a noun referring to a noun or a noun phrase mentioned above.

대화 도메인 관리부(600)는 복수의 대화 도메인(610, 620, 630), 및 대화 도메인(610, 620, 630) 각각에 대하여 생성된 복수의 싱글 클러스터 모델(SCM1, SCM2, SCM3)을 포함할 수 있다. 클러스터 모델 생성부(650)는 대화 도메인(610, 620, 630) 각각에 대하여 싱글 클러스터 모델(SCM1, SCM2, SCM3)을 생성하고, 복수의 싱글 클러스터 모델(SCM1, SCM2, SCM3) 중 적어도 2개를 참조하여, 다중 클러스터 모델(Complex Cluster Model, 도 5b의 CCM)을 구성할 수도 있다. The conversation domain manager 600 may include a plurality of conversation domains 610, 620, and 630, and a plurality of single cluster models SCM1, SCM2, and SCM3 generated for each of the conversation domains 610, 620, and 630. have. The cluster model generation unit 650 generates single cluster models SCM1, SCM2, and SCM3 for each of the conversation domains 610, 620, and 630, and at least two of a plurality of single cluster models SCM1, SCM2, and SCM3. With reference to, a multiple cluster model (CCM in FIG. 5B) may be configured.

대용어 분해부(430)는 사용자 발언에서 대용어가 나타날 경우, 대용어에 대한 엔티티를 탐색하기 위하여 시맨틱 프레임 컨텍스트 저장부(750)에 저장된 시맨틱 프레임 컨텍스트(도 3b의 SFC)를 참조할 수 있다. The surrogate decomposition unit 430 may refer to the semantic frame context (SFC of FIG. 3B) stored in the semantic frame context storage unit 750 in order to search for an entity for a surrogate when a surrogate appears in the user's speech. .

시맨틱 프레임 컨텍스트(SFC)란 대화 도메인(610, 620, 630)을 통하여 이루어지는 대화들(사용자 발언 및 시스템의 발언)에 대한 시맨틱 프레임(SF)들과 각 발언별 대용어에 대한 인식 정보(감지된 대용어(도 3b의 DA), 감지된 엔티티(도 3b의 DE), 및 감지된 의도(도 3b의 DI))에 대한 정보를 가질 수 있다. Semantic frame context (SFC) is semantic frame (SF) for conversations (user remarks and system remarks) made through conversation domains 610, 620, and 630, and recognition information for each surrogate (detected) It may have information about a substitute term (DA in FIG. 3B), a sensed entity (DE in FIG. 3B), and a sensed intention (DI in FIG. 3B).

대용어 분해부(430)는 시맨틱 프레임 컨텍스트(SFC)에서, 대화 도메인(610, 620, 630)이 가지는 엔티티의 유형 정보인 Thing, Location, Time, People를 참조하여 현재 대용어에 유효한 엔티티를 추출할 수 있다. 이렇게 감지된 엔티티(DE)를 대용어와 치환하여, 의도 검출부(420)에서 의도 검출을 수행함으로써 유사도가 더 높은 엔티티를 추출해 낼 수 있다. 대용어 분해부(430)에서 감지된 대용어(DA)에 대한 정보를 토대로 시스템 발언 실행부(700)에서 사용자(10)에게 역질문을 함으로써 대화의 신뢰도를 높일 수 있다.The term decomposition unit 430 extracts an entity valid for the current term by referring to Thing, Location, Time, and People, which are the type information of the entities of the conversation domains 610, 620, and 630 in the semantic frame context (SFC). can do. By replacing the sensed entity DE with a surrogate, the intention detection unit 420 performs intention detection to extract an entity having a higher degree of similarity. The reliability of the conversation may be increased by inversely asking the user 10 from the system remark execution unit 700 based on the information on the substitute word DA detected by the substitute term decomposition unit 430.

시스템 발언 생성부(800)는 시스템 발언 실행부(700)에서 수행하고자 하는 역질문 등과 같은 시스템의 발언을 자연어 생성부(850)를 참조하여 자연어로 생성할 수 있으며, 자연어로 생성된 시스템의 발언은 대화 실행 관리자(200)에 의하여 유저 인터페이스(100)를 통하여 사용자(10)에게 전달될 수 있다. The system remark generating unit 800 may generate remarks of a system, such as a reverse question to be performed by the system remark execution unit 700, in a natural language with reference to the natural language generation unit 850, and the remarks of the system generated in the natural language May be delivered to the user 10 through the user interface 100 by the conversation execution manager 200.

도 2a 내지 도 7에서는 도 1을 함께 참조하여, 복수의 대화 도메인을 가지는 대화 시스템(1)의 세부적인 구성 및 동작에 대해서 설명한다. 2A to 7, detailed configuration and operation of the conversation system 1 having a plurality of conversation domains will be described with reference to FIG. 1 together.

도 2a는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 대화 도메인 관리부의 구성을 나타내는 블록도이고, 도 2b는 대화 도메인 관리부의 동작을 설명하기 위한 블록도이다. 도 2a에는 도시의 편의를 위하여 도 1에 도시한 복수의 대화 도메인(610, 620, 630) 중 하나의 대화 도메인(대화 도메인 1, 610, 이하 제1 대화 도메인)만을 나타냈으나, 도 2a 및 도 2b에 대한 설명은 다른 대화 도메인들, 예를 들면 제2 대화 도메인(대화 도메인 2, 620), 및 제3 대화 도메인(대화 도메인 3, 630)에도 동일하게 적용될 수 있다. 2A is a block diagram showing the configuration of a conversation domain management unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention, and FIG. 2B is a block diagram for explaining the operation of the conversation domain management unit. In FIG. 2A, only one conversation domain (conversation domains 1, 610, hereinafter referred to as the first conversation domain) among the plurality of conversation domains 610, 620, and 630 shown in FIG. 1 is shown for convenience of illustration. The description of FIG. 2B can be equally applied to other conversation domains, for example, the second conversation domain (conversation domains 2 and 620) and the third conversation domain (conversation domains 3 and 630).

도 2a 및 도 2b를 함께 참조하면, 대화 도메인 관리부(600)는 제1 대화 도메인(610) 및 클러스터 모델 생성부(650)를 포함한다. 제1 대화 도메인(610)은 도메인 대화들(DH)이 저장된 제1 도메인 대화 저장부(도메인 대화 저장부 1, 612)을 포함할 수 있다. 별도로 도시하지는 않았으나, 제2 대화 도메인(620) 및 제3 대화 도메인(630) 각각은 제2 도메인 대화 저장부 및 제3 도메인 대화 저장부를 포함할 수 있다. 2A and 2B, the conversation domain management unit 600 includes a first conversation domain 610 and a cluster model generation unit 650. The first conversation domain 610 may include a first domain conversation storage unit (domain conversation storage units 1, 612) in which domain conversations DH are stored. Although not separately illustrated, each of the second conversation domain 620 and the third conversation domain 630 may include a second domain conversation storage unit and a third domain conversation storage unit.

클러스터 모델 생성부(650)은 모델 시맨틱 프레임 변환부(652), 모델 벡터 생성부(654), 및 시맨틱 프레임 벡터 생성부(656)을 포함할 수 있다. The cluster model generation unit 650 may include a model semantic frame conversion unit 652, a model vector generation unit 654, and a semantic frame vector generation unit 656.

모델 시맨틱 프레임 변환부(652)는 제1 대화 도메인(610)에 대하여, 제1 도메인 대화 저장부(612)에 저장된 도메인 대화들(DH)을 자연어 이해부(500)가 가지는 액션 온톨로지(510)와 팩트 온톨로지(520)를 활용하여 시맨틱 프레임(SF)으로 매핑시킬 수 있다. The model semantic frame conversion unit 652 has an action ontology 510 that the natural language understanding unit 500 has domain conversations DH stored in the first domain conversation storage unit 612 with respect to the first conversation domain 610. And the fact ontology 520 may be used to map to a semantic frame (SF).

모델 벡터 생성부(654)는 시맨틱 프레임(SF)에서 구성한 액션 온톨로지(510)와 팩트 온톨로지(520)에 대응되는 키워드를 통하여 액션 벡터(AV)와 팩트 벡터(FV)를 생성할 수 있다. The model vector generation unit 654 may generate an action vector (AV) and a fact vector (FV) through keywords corresponding to the action ontology 510 and the fact ontology 520 configured in the semantic frame SF.

시맨틱 프레임 벡터 생성부(656)는 도메인 대화들(DH) 각각을 구성하는 시맨틱 프레임(SF)에 대하여 액션 벡터(AV)와 팩트 벡터(FV)를 참조한 벡터값인 시맨틱 프레임 벡터를 구할 수 있고, 도메인 대화들(DH) 각각에 대한 시맨틱 프레임 벡터들(도 5b의 SSFV, 시맨틱 프레임 벡터(세트 1)를 조합해서, 제1 대화 도메인(610)이 가지는 제1 도메인 대화 저장부(612)에 저장된 도메인 대화들(DH)에 대한 군집 모델인 제1 클러스터 모델(클러스터 모델 1, SCM1)을 생성할 수 있다. The semantic frame vector generation unit 656 may obtain a semantic frame vector, which is a vector value referring to the action vector (AV) and the fact vector (FV), for the semantic frame SF constituting each of the domain conversations DH, Semantic frame vectors for each of the domain conversations DH (SSFV in FIG. 5B, semantic frame vector (set 1)) are combined and stored in the first domain conversation storage 612 of the first conversation domain 610. A first cluster model (cluster model 1, SCM1) that is a cluster model for domain conversations (DH) may be generated.

같은 방법으로, 도 1에 보인 제2 대화 도메인(620)에 대한 제2 클러스터 모델(클러스터 모델 2, SCM2) 및 제3 대화 도메인(630)에 대한 제3 클러스터 모델(클러스터 모델 3, SCM3)을 생성할 수 있다. In the same way, the second cluster model (cluster model 2, SCM2) for the second conversation domain 620 shown in FIG. 1 and the third cluster model (cluster model 3, SCM3) for the third conversation domain 630 are shown. Can be created.

하나의 대화 도메인에 대한 클러스터 모델을 싱글 클러스터 모델(single cluster model)이라고 호칭할 수 있다. 예를 들면, 제1 대화 도메인(610)에 대한 싱글 클러스터 모델은 제1 클러스터 모델(SCM1)이고, 제2 대화 도메인(620)에 대한 싱글 클러스터 모델은 제2 클러스터 모델(SCM2)이고, 제3 대화 도메인(630)에 대한 싱글 클러스터 모델은 제3 클러스터 모델(SCM3)일 수 있다. 이와는 반대로 2개 이상의 대화 도메인에 대한 클러스터 모델은 다중 클러스터 모델(도 5b의 CCM)이라 호칭할 수 있다. The cluster model for one conversation domain may be called a single cluster model. For example, the single cluster model for the first chat domain 610 is the first cluster model (SCM1), the single cluster model for the second chat domain 620 is the second cluster model (SCM2), and the third The single cluster model for the conversation domain 630 may be a third cluster model (SCM3). Conversely, a cluster model for two or more conversation domains may be referred to as a multi-cluster model (CCM in FIG. 5B).

도 3a 및 도 3b는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 사용되는 시맨틱 프레임과 시맨틱 프레임 컨텍스트를 설명하는 개념도들이다. 3A and 3B are conceptual views illustrating a semantic frame and a semantic frame context used in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

도 3a를 참조하면, 사용자 발언이 입력되면, 자연어 이해부(500)를 참조한 사용자 발언 전처리부(300)에서의 사용자 발언에 대한 자연어 처리 과정에서, 사용자 발언 시맨틱 프레임 변화부(310)은 시맨틱 프레임(SF)을 구성할 수 있다. 시맨틱 프레임(SF)의 구성이란, 사용자 발언에 대하여, 액션 온톨로지(510)와 팩트 온톨로지(520)를 활용하여, 각각 엔티티와 동사를 추출하여, 정형화된 프레임에 맵핑시키는 방식을 의미한다. Referring to FIG. 3A, when a user speech is input, in the natural language processing process of the user speech in the user speech pre-processing unit 300 referring to the natural language understanding unit 500, the user speech semantic frame changing unit 310 is the semantic frame (SF) can be configured. The composition of the semantic frame SF means a method of extracting entities and verbs, respectively, and mapping them to a standardized frame by using the action ontology 510 and the fact ontology 520 for user speech.

사용자 발언으로 "나 내일 아침에 강남역에서 약속 있어"가 입력된 경우, "약속 있다"라는 동사가 추출되고, 액션 온톨로지(510)를 통해 '액션(약속)'으로써 {Agent : "나", Location : "강남역", Time : "내일 아침"}의 속성들을 가지게 되고, 각각의 속성들은 팩트 온톨로지(520)를 활용하여 키워드들에 대한 시맨틱 타입, 동의어 등을 속성을 맵핑하여, 시맨틱 프레임(SF)을 구성할 수 있다. When "I have an appointment at Gangnam Station tomorrow morning" is input as a user's remark, the verb "I have an appointment" is extracted, and as an'action (promise)' through the action ontology 510, {Agent: "Me", Location : "Gangnam Station", Time: "Tomorrow Morning"}. Attributes, each attribute maps semantic type, synonym, etc. for keywords by using fact ontology 520, semantic frame (SF) Can be configured.

액션 온톨로지(510)를 통해 "약속 있다"라는 동사, 즉 '액션(약속)'이 가지는 속성들을 벡터화한 것이 액션 벡터(도 2b의 AV)이고, 팩트 온톨로지(520)를 활용하여 키워들에 맵핑된 속성들을 벡터화한 것이 팩트 벡터(FV)이다. The action vector (AV in FIG. 2B) is a vectorization of the attributes of the verb “action” (promise), through the action ontology 510, and is mapped to keywords by using the fact ontology 520. The vectorized attributes are the fact vector (FV).

시맨틱 프레임(SF), 액션 벡터(AV), 및 팩트 벡터(FV)는 사용자 발언 및 도메인 대화(도 2b의 DH)에 대해서 생성될 수 있다. 구체적으로 도 1에 보인 사용자 발언 시맨틱 프레임 변화부(310) 및 발언 벡터 생성부(320)에서 사용자 발언에 대한 시맨틱 프레임(SF), 액션 벡터(AV), 및 팩트 벡터(FV)을 생성할 수 있고, 도 2a에 보인 모델 시맨틱 프레임 변환부(652) 및 모델 벡터 생성부(654)에서 도메인 대화(DH)에 대한 시맨틱 프레임(SF), 액션 벡터(AV), 및 팩트 벡터(FV)을 생성할 수 있다. Semantic frames (SF), action vectors (AV), and fact vectors (FV) may be generated for user speech and domain conversation (DH in FIG. 2B). Specifically, the semantic frame (SF), the action vector (AV), and the fact vector (FV) for the user speech can be generated by the user speech semantic frame change unit 310 and the speech vector generator 320 shown in FIG. 1. The semantic frame (SF), action vector (AV), and fact vector (FV) for the domain conversation (DH) are generated by the model semantic frame conversion unit 652 and the model vector generation unit 654 shown in FIG. 2A. can do.

도 3b를 참조하면, 대화 과정에서 발언들에 대하여 생성된 시맨틱 프레임(SF)들과, 각 발언별 감지된 의도(DI)들, 감지된 엔티티(DE)들, 및 감지된 대용어(DA)에 대한 정보를 시맨틱 프레임 컨텍스트(SFC)로 구성할 수 있다. Referring to FIG. 3B, semantic frames (SF) generated for speeches in a conversation process, sensed intentions (DI) for each speech, sensed entities (DEs), and sensed substitutes (DA) Information about can be configured as a semantic frame context (SFC).

즉 하나의 시맨틱 프레임(SF)은 사용자(10) 또는 시스템의 하나의 발언에 대하여 구성되며, 시맨틱 프레임 컨텍스트(SFC)는 하나의 선택된 대화 도메인을 통하여 진행되는 하나의 대화 과정에 대하여 구성될 수 있다. That is, one semantic frame (SF) is configured for one speech of the user 10 or the system, and the semantic frame context (SFC) can be configured for one conversation process proceeding through one selected conversation domain. .

도 4는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 자연어 분석부의 동작을 설명하기 위한 블록도이다. Fig. 4 is a block diagram illustrating an operation of a natural language analysis unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

도 4를 참조하면, 자연어 분석부(400)는 엔티티 검출부(410), 의도 검출부(420), 및 대용어 분해부(430)를 포함한다. 사용자 발언에서 대용어가 발견되지 않은 경우, 엔티티 검출부(410)에서 감지된 엔티티와 의도 검출부(420)에서 감지된 의도는 시스템 발언 실행부(700)의 표준 실행부(710)에 전달되며, 시스템 발언 실행부(700)에서 생성하고자 하는 시스템의 발언은 도 1에 보인 시스템 발언 생성부(800)에서 자연어 생성부(850)를 참조하여 자연어로 생성할 수 있으며, 자연어로 생성된 시스템의 발언은 대화 실행 관리자(200)에 의하여 유저 인터페이스(100)를 통하여 사용자(10)에게 전달될 수 있다. Referring to FIG. 4, the natural language analysis unit 400 includes an entity detection unit 410, an intention detection unit 420, and a substitute term decomposition unit 430. When a substitute word is not found in the user's speech, the entity detected by the entity detection unit 410 and the intention detected by the intention detection unit 420 are transmitted to the standard execution unit 710 of the system speech execution unit 700, and the system The speech of the system to be generated by the speech execution unit 700 may be generated in natural language with reference to the natural language generation unit 850 in the system speech generation unit 800 shown in FIG. 1, and the speech of the system generated in the natural language is The conversation execution manager 200 may be delivered to the user 10 through the user interface 100.

대용어 분해부(430)는 후보 선정부(432), 후보 치환부(434), 유사도 계산부(436), 및 클러스터 모델 선택부(438)를 포함할 수 있다. The term decomposition unit 430 may include a candidate selection unit 432, a candidate substitution unit 434, a similarity calculation unit 436, and a cluster model selection unit 438.

사용자 발언에서 대용어가 발견된 경우, 후보 선정부(432)는 시맨틱 프레임 컨텍스트 저장부(750)에 저장된 시맨틱 프레임 컨텍스트(도 3b의 SFC)를 통해 해당 대용어에 대한 후보가 될 수 있는 엔티티들인 후보 대용어들의 목록을 선정할 수 있다. When a substitute word is found in the user's remark, the candidate selection unit 432 is entities that can be candidates for the substitute word through the semantic frame context (SFC of FIG. 3B) stored in the semantic frame context storage unit 750. A list of candidate substitutes can be selected.

후보 치환부(434)는 선정된 후보 대용어들인 엔티티들 각각을 치환하고, 유사도 계산부(436)는 후보 대용어들 각각으로 치환된 사용자 발언과 선택된 대화 도메인, 예를 들면 제1 대화 도메인(610)에 대한 제1 클러스터 모델(SCM1) 사이의 유사도 계산을 할 수 있다. 유사도 계산부(436)는 발언 벡터 생성부(320)에서 벡터화된 사용자 발언과 제1 클러스터 모델(SCM1) 사이의 거리를 계산하여, 사용자 발언과 선택된 대화 도메인, 예를 들면 제1 대화 도메인(610)과의 유사도를 계산할 수 있으며, 의도 검출부(410)에서 감지된 의도를 참조할 수 있다. 또한 유사도 계산부(436)는 선택되지 않은 대화 도메인, 예를 들면 제2 대화 도메인(620)에 대한 제2 클러스터 모델(SCM2)과 후보 대용어들 각각으로 치환된 사용자 발언 사이의 유사도, 및/또는 제3 대화 도메인(630)에 대한 제3 클러스터 모델(SCM3)과 후보 대용어들 각각으로 치환된 사용자 발언 사이의 유사도를 계산할 수 있다. The candidate replacement unit 434 replaces each of the entities that are candidate candidate substitutes, and the similarity calculator 436 replaces the user's speech and the selected conversation domain, for example, the first conversation domain (for example, the first conversation domain). Similarity calculation between the first cluster model SCM1 for 610) may be performed. The similarity calculation unit 436 calculates the distance between the vectored user speech and the first cluster model SCM1 in the speech vector generation unit 320, so that the user speech and the selected conversation domain, for example, the first conversation domain 610 ) Can be calculated, and the intention detected by the intention detector 410 can be referenced. Also, the similarity calculation unit 436 may include a similarity between the user's speech substituted with each of the candidate clusters and the second cluster model SCM2 for the unselected chat domain, for example, the second chat domain 620, and/or Alternatively, the similarity between the third cluster model SCM3 for the third conversation domain 630 and the user's speech substituted with each of the candidate substitutes may be calculated.

클러스터 모델 선택부(438)는 유사도 계산부(436)에서 수행된 유사도 계산 결과를 토대로 클러스터 모델을 선택하여, 시스템 발언 실행부(700)의 대용어 실행부(720)에 전달할 수 있으며, 대용어 실행부에서 생성하고자 하는 시스템의 발언은 도 1에 보인 시스템 발언 생성부(800)에서 자연어 생성부(850)를 참조하여 자연어로 생성할 수 있으며, 자연어로 생성된 시스템의 발언은 대화 실행 관리자(200)에 의하여 유저 인터페이스(100)를 통하여 사용자(10)에게 전달될 수 있다. The cluster model selection unit 438 selects a cluster model based on the similarity calculation result performed by the similarity calculation unit 436 and transmits it to the large-word execution unit 720 of the system speech execution unit 700. The speech of the system to be generated by the execution unit may be generated in natural language with reference to the natural language generation unit 850 in the system speech generation unit 800 shown in FIG. 1, and the speech of the system generated in the natural language may be a conversation execution manager ( 200, it may be delivered to the user 10 through the user interface 100.

도 5a는 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 다중 클러스터 모델을 생성하는 과정을 설명하기 위한 블록도이고, 도 5b는 다중 클러스터 모델의 개념을 설명하기 위한 개념도이다. 5A is a block diagram illustrating a process of generating a multi-cluster model in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention, and FIG. 5B is a conceptual diagram for explaining the concept of a multi-cluster model .

도 5a를 참조하면, 사용자 발언(UU)이 입력되면, 사용자 발언(UU)에 대한 자연어 처리 결과로부터 하나의 대화 도메인을 선택한다(S100). 예를 들면, 사용자 발언(UU)에 대한 자연어 처리 결과로부터 제1 대화 도메인(610)이 선택될 수 있다. 제1 대화 도메인(610)이 선택되는 경우, 대화 과정에서 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1)이 사용될 수 있다. Referring to FIG. 5A, when a user speech (UU) is input, one conversation domain is selected from the natural language processing result for the user speech (UU) (S100). For example, the first conversation domain 610 may be selected from the natural language processing result for the user's speech (UU). When the first conversation domain 610 is selected, the first cluster model SCM1 of the first conversation domain 610 may be used in the conversation process.

사용자 발언(UU)에서 대용어가 검출된 경우, 시맨틱 프레임 컨텍스트(도 3b의 SFC)가 가지는 시맨틱 프레임(SF)들로부터 해당 대용어에 대한 후보가 될 수 있는 엔티티들인 후보 대용어들의 목록을 선정하고, 선정된 후보 대용어들을 치환한다(S200). When a substitute word is detected in the user's speech (UU), a list of candidate substitute words that are candidate entities for the substitute word is selected from the semantic frame (SF) of the semantic frame context (SFC of FIG. 3B ). And replaces the selected candidate substitutes (S200).

후보 대용어들로 감지된 대용어가 각각 치환된 사용자 발언(UU)들 각각과 선택된 대화 도메인의 유사도를 계산한다(S300). 예를 들면, 후보 대용어들로 감지된 대용어가 각각 치환된 벡터화된 사용자 발언(UU) 각각과 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1) 사이의 거리를 측정하여 유사도를 계산할 수 있다. 계산된 유사도가 기설정된 값 이상인 경우, 선택된 대화 도메인, 예를 들면 제1 대화 도메인(610)을 참조하여 시스템 발언을 실행 및 생성할 수 있다(S600).The similarity between each of the user speeches (UUs) substituted with the substitutes sensed as candidate substitutes and the selected conversation domain is calculated (S300). For example, the similarity may be calculated by measuring the distance between each of the vectorized user speeches (UUs) in which the substitutes detected as candidate substitutes are replaced, and the first cluster model (SCM1) of the first conversation domain 610. Can. When the calculated similarity is equal to or greater than a preset value, the system speech may be executed and generated with reference to the selected conversation domain, for example, the first conversation domain 610 (S600).

계산된 유사도가 기설정된 값 미만인 경우, 후보 대용어들로 감지된 대용어가 각각 치환된 벡터화된 사용자 발언(UU)들 각각과 선택되지 않은 대화 도메인 각각과의 유사도를 계산한다(S400). 예를 들면, 후보 대용어들로 감지된 대용어가 각각 치환된 벡터화된 사용자 발언(UU)들 각각과 제2 대화 도메인(620)의 제2 클러스터 모델(SCM2) 사이의 유사도, 후보 대용어들로 감지된 대용어가 각각 치환된 벡터화된 사용자 발언(UU)들 각각과 제3 대화 도메인(630)의 제3 클러스터 모델(SCM3) 사이의 유사도를 계산한다. When the calculated similarity is less than a predetermined value, the similarity between each of the vectorized user speech (UUs), each of which is substituted with the substitutes sensed as candidate substitutes, and each of the unselected conversation domains is calculated (S400). For example, the similarity between each of the vectorized user speeches (UUs) in which the substitutes detected as candidate substitutes are replaced with the second cluster model (SCM2) of the second conversation domain 620, candidate substitutes Similarity is calculated between each of the vectorized user speeches (UUs), each of which has been substituted with a third term, and the third cluster model (SCM3) of the third conversation domain 630.

선택되지 않은 대화 도메인 중 계산된 유사도가 기설정된 값 이상인 것을 선택하여, 선택된 대화 도메인과 함께 다중 클러스터 모델을 생성한다(S500). 예를 들어, 후보 대용어들로 감지된 대용어가 각각 치환된 사용자 발언(UU)들 각각과 제2 대화 도메인(620)의 제2 클러스터 모델(SCM2) 사이의 유사도가 기설정된 값 이상인 경우, 선택된 대화 도메인인 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1)과 제2 대화 도메인(620)의 제2 클러스터 모델(SCM2)을 결합하여, 다중 클러스터 모델(도 5b의 CCM)을 생성할 수 있다. Among the unselected conversation domains, the calculated similarity is selected to be greater than or equal to a preset value, and a multiple cluster model is generated together with the selected conversation domain (S500). For example, when the similarity between each of the user utterances (UUs), each of which is detected as candidate substitutes, and the second cluster model (SCM2) of the second conversation domain 620 is equal to or greater than a preset value, Combining the first cluster model (SCM1) of the first chat domain (610), which is the selected chat domain, and the second cluster model (SCM2) of the second chat domain (620), creates a multiple cluster model (CCM in FIG. 5B). can do.

이후, 다중 클러스터 모델(CCM)을 이용하여 시스템 발언을 실행하고 생성할 수 있다(S600). 또한, 다중 클러스터 모델(CCM)이 생성되면, 선택된 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1) 대신에 생성된 다중 클러스터 모델(CCM)을 사용하여 대화 과정이 진행될 수 있다. 예를 들면, 사용자 발언 전처리부(도 1의 300)는 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1) 대신에 생성된 다중 클러스터 모델(CCM)이 대화 과정에 사용되도록 선택할 수 있다. 즉, 사용자 발언 전처리부(300)은, 선택된 대화 도메인을 제1 대화 도메인(610)에서 제1 대화 도메인(610) 및 제2 대화 도메인(620)으로 변경할 수 있다. Thereafter, a system remark may be executed and generated using a multi-cluster model (CCM) (S600). In addition, when a multi-cluster model (CCM) is generated, a conversation process may be performed using the multi-cluster model (CCM) generated instead of the first cluster model (SCM1) of the selected first conversation domain 610. For example, the user speech pre-processing unit (300 in FIG. 1) may select a multi-cluster model (CCM) generated instead of the first cluster model (SCM1) of the first conversation domain 610 to be used in the conversation process. That is, the user speech pre-processing unit 300 may change the selected conversation domain from the first conversation domain 610 to the first conversation domain 610 and the second conversation domain 620.

도 5b를 참조하면, 복수의 대화 도메인(610, 620, 630) 각각은 도메인 대화들(DH1, DH2, DH3)를 가지며, 자연어 이해부(500)가 가지는 액션 온톨로지(510) 및 팩트 온톨로지(520)를 활용하여 도메인 대화들(DH1, DH2, DH3)을 시맨틱 프레임(도 3a의 SF)으로 변환한다. 복수의 대화 도메인(610, 620, 630) 각각이 가지는 도메인 대화들(DH1, DH2, DH3)이 변환된 시맨틱 프레임(SF)들은 각각 세트(SSF1, SSF2, SSF3)을 구성할 수 있다. 즉, 제1 대화 도메인(610)이 가지는 도메인 대화들(DH1) 각각을 변환한 시맨틱 프레임(SF)들은 제1 시맨틱 프레임 세트(SSF1)을 구성하고, 제2 대화 도메인(620)이 가지는 도메인 대화들(DH2) 각각을 변환한 시맨틱 프레임(SF)들은 제2 시맨틱 프레임 세트(SSF2)을 구성하고, 제3 대화 도메인(620)이 가지는 도메인 대화들(DH2) 각각을 변환한 시맨틱 프레임(SF)들은 제3 시맨틱 프레임 세트(SSF3)을 구성할 수 있다. 제1 내지 제3 시맨틱 프레임 세트(SSF1, SSF2, SSF3)들은 액션 벡터(AV)와 팩트 벡터(FV)를 참조하여 각각 제1 내지 제3 시맨틱 프레임 벡터 세트(SSFV1, SSFV2, SSFV3)을 구성할 수 있다. 제1 대화 도메인(610)으로부터 구성된 제1 시맨틱 프레임 벡터 세트(SSFV1)은 군집 모델인 제1 클러스터 모델(SCM1)으로 생성될 수 있고, 제2 대화 도메인(620)으로부터 구성된 제2 시맨틱 프레임 벡터 세트(SSFV2)은 군집 모델인 제2 클러스터 모델(SCM2)으로 생성될 수 있고, 제3 대화 도메인(630)으로부터 구성된 제3 시맨틱 프레임 벡터 세트(SSFV3)은 군집 모델인 제3 클러스터 모델(SCM3)으로 생성될 수 있다. 제1 내지 제3 클러스터 모델(SCM1, SCM2, SCM3) 각각은 하나의 대화 도메인, 즉 제1 내지 제3 대화 도메인(610, 620, 630) 각각의 싱글 클러스터 모델이다. 5B, each of the plurality of conversation domains 610, 620, and 630 has domain conversations DH1, DH2, and DH3, and the action ontology 510 and the fact ontology 520 of the natural language understanding unit 500 ) To convert the domain conversations (DH1, DH2, DH3) into a semantic frame (SF in FIG. 3A). The semantic frames SF in which the domain conversations DH1, DH2, and DH3 of each of the plurality of conversation domains 610, 620, and 630 are converted may constitute a set SSF1, SSF2, and SSF3, respectively. That is, the semantic frames SF that convert each of the domain conversations DH1 of the first conversation domain 610 constitute the first semantic frame set SSF1, and the domain conversations of the second conversation domain 620 The semantic frames SF converting each of the fields DH2 constitute a second semantic frame set SSF2, and the semantic frames SF converting each of the domain conversations DH2 of the third conversation domain 620 They may form a third semantic frame set (SSF3). The first to third semantic frame sets (SSF1, SSF2, and SSF3) constitute first to third semantic frame vector sets (SSFV1, SSFV2, and SSFV3) with reference to action vectors (AV) and fact vectors (FV), respectively. Can. The first semantic frame vector set SSFV1 constructed from the first conversational domain 610 may be generated as a first cluster model SCM1, which is a cluster model, and a second semantic frame vector set constructed from the second conversational domain 620. (SSFV2) may be generated as a second cluster model (SCM2), which is a cluster model, and the third semantic frame vector set (SSFV3) constructed from the third conversation domain 630 may be a third cluster model (SCM3), which is a cluster model. Can be generated. Each of the first to third cluster models SCM1, SCM2, and SCM3 is a single cluster model of one conversation domain, that is, each of the first to third conversation domains 610, 620, and 630.

서로 다른 대화 도메인에 대한 싱글 클러스터 모델들을 결합하면 다중 클러스터 모델(CCM)이 생성될 수 있다. 예를 들면, 제1 클러스터 모델(SCM1)과 제2 클러스터 모델(SCM2)을 결합하여 다중 클러스터 모델(CCM)이 생성될 수 있으며, 시스템 발언을 실행 및 생성하는 과정에서, 선택된 대화 도메인의 싱글 클러스터 모델 대신에 다중 클러스터 모델(CCM)이 사용될 수 있다. By combining single cluster models for different conversation domains, multiple cluster models (CCM) can be generated. For example, a multi-cluster model (CCM) may be generated by combining the first cluster model (SCM1) and the second cluster model (SCM2), and in the process of executing and generating system speech, a single cluster of a selected conversation domain. Instead of a model, multiple cluster models (CCM) can be used.

도 6은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템의 시스템 발언 실행부의 동작을 설명하는 블록이다.Fig. 6 is a block diagram illustrating an operation of a system speaking execution unit of a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

도 6을 참조하면, 시스템 발언 실행부(700)는 표준 실행부(710)와 대용어 실행부(720)를 포함한다. Referring to FIG. 6, the system speech execution unit 700 includes a standard execution unit 710 and a substitute execution unit 720.

표준 실행부(710)는 대용어가 검출되지 않은 경우에, 사용자 발언에 엔티티와 의도가 있는 경우에, 시스템의 발언을 생성하도록 한다. The standard execution unit 710 allows the system to generate a system speech when there is an entity and an intention in the user speech when no substitute is detected.

대용어 실행부(720)는 대용어가 검출된 경우에, 사용자 발언에 대하여 시스템의 발언을 생성하도록 한다. The surrogate execution unit 720, when a surrogate is detected, generates a remark of the system for the user's remark.

시스템의 발언은 예를 들면, 텍스트, 스마트 카드, 또는 액션 스크립트로 생성될 수 있다. The system's remarks can be generated, for example, by text, smart card, or action script.

시스템 발언 실행부(700)는 대화 과정에서 사용자 발언 각각에 대하여 대용어의 유무에 따라서 대용어 실행부(720) 또는 표준 실행부(710)에서 시스템의 발언을 생성하도록 한다. The system speech execution unit 700 generates a speech of the system in the substitute speech execution unit 720 or the standard execution unit 710 depending on the presence or absence of a substitute word for each user speech in the conversation process.

도 7은 본 발명의 예시적 실시 예에 따른 복수의 대화 도메인을 가지는 대화 시스템에서 이루어지는 예시적인 대화 진행을 나타낸다. 7 illustrates exemplary conversation progress in a conversation system having a plurality of conversation domains according to an exemplary embodiment of the present invention.

도 7을 참조하면, 시스템의 발언과 사용자 발언으로 이루어지는 대화의 단위를 턴(Turn)으로 설정하여, 도 1 내지 도 6을 통하여 설명한 내용을 참조하며 대화 과정을 반복적으로 진행할 수 있다. 도 7에서는 시스템 발언이 먼저 이루어지고, 그에 대한 사용자 발언을 하나의 턴으로 예시하였으나, 이에 한정되지 않고, 사용자 발언 및 그에 대한 시스템 발언을 하나의 턴으로 설정할 수도 있다. Referring to FIG. 7, a unit of dialogue consisting of system remarks and user remarks is set to turn, and the conversation process may be repeatedly performed while referring to the contents described with reference to FIGS. 1 to 6. In FIG. 7, the system speech is made first, and the user's speech on the system speech is illustrated as one turn, but the present invention is not limited thereto, and the user's speech and the system speech on the speech may be set as one turn.

예를 들면, 대화 과정이 시작되면 턴 0(Turn 0)에서 'Greeting'이라는 감지된 의도를 가지는 '안녕하세요'라는 텍스트인 시스템 발언에 대하여, '불고기 피자 L 사이즈 할인 이벤트 하고 있어?'라는 사용자 발언이 입력되면, '하다'라는 액션(Action)을 기준으로 감지된 엔티티(불고기 피자(Thing), 할인 이벤트(Thing)) 및 감지된 의도(Event Promotions)를 맵핑하여 시맨틱 프레임을 생성할 수 있다. For example, when the conversation process starts, a user remarks,'Are you doing a barbecue pizza L size discount event?' for a system remark that is a text'Hello' with a sensed intention of'Greeting' at Turn 0. When this is input, a semantic frame may be generated by mapping the detected entities (Bulgogi Pizza (Thing), discount event (Thing)) and the detected intention (Event Promotions) based on the action of'make'.

턴 1(Turn 1)에서 턴 0(Turn 0)에서 맵핑된 사용자 발언에 대한 시맨틱 프레임을 참조하여 텍스트인 '네 할인 이벤트 진행하고 있습니다.'라는 시스템 발언이 출력될 수 있다. '그거 얼마야?'라는 사용자 발언이 입력되면, '얼마'라는 액션(Action)을 기준으로 감지된 엔티티(그거(Thing)가 대용어인 경우 후보 대용어들로 '불고기 피자', '할인 이벤트'가 선정되고, 이를 치환한 '불고기 피자 얼마야?'와 '할인 이벤트 얼마야?'에 대하여 유사도를 분석하여, 유사도가 더 높은 엔티티를 추출할 수 있다. A system remark that is text'Yes discount event is in progress' may be output by referring to the semantic frame for the user remark mapped in turn 0 in turn 1 in turn 1 (Turn 1). When a user's remark'How much is that?' is input, the entity detected based on the action of'how much' (if the thing is a substitute,'bulgogi pizza','discount event as candidate substitutes) By selecting'and replacing it, how much is Bulgogi Pizza?' and'How much is the discount event?', similarity can be analyzed to extract entities with higher similarity.

턴 2(Turn 2)에서 시스템 발언은 예를 들면, 시스템의 발언은 예를 들면, 텍스트, 스마트 카드, 또는 액션 스크립트로 생성될 수 있다. 턴 2(Turn 2)에서는 유사도가 높은 엔티티 2가지가 추출된 경우에, 사용자에게 텍스트로 되묻거나, 스마트 카드를 제공하는 경우가 예시되어 있다. 텍스트란 사용자에게 "말씀하신 것이 무엇인가요?"와 같은 시스템 발언을 출력하는 것을 의미하고, 스마트 카드란 사용자에게 옵션을 선택할 수 있도록 시스템 발언을 출력하는 것을 의미한다. 액션 스크립트는 시스템 발언을 출력하기 위한 정보를 외부 API를 통해 가져와야 하는 경우에 사용될 수 있다. 이에 대하여 '불고기 피자 말하는 거야'라는 사용자 발언이 입력되는 경우, 앞선 시스템 발언 및 사용자 발언에 대한 시맨틱 프레임들을 가지고 구성된 시맨틱 프레임 컨텍스트를 참조하여, '얼마'라는 액션(Action)을 기준으로 감지된 엔티티(불고기 피자(Thing)), 및 감지된 의도(Buy Pizza)를 맵핑하여 시맨틱 프레임을 생성할 수 있다. In Turn 2, the system utterance may be generated, for example, as a system utterance, for example, as a text, a smart card, or an action script. In Turn 2, when two entities with high similarity are extracted, a case in which a user asks for text or provides a smart card is exemplified. Text means outputting a system statement such as "What did you say?" to the user, and smart card means outputting a system statement so that the user can select an option. Action scripts can be used when information to output a system remark needs to be fetched through an external API. On the other hand, when a user's remark'I'm talking about bulgogi pizza' is input, an entity detected based on an action called'how much' by referring to the semantic frame context composed of the semantic frames for the previous system remark and user remark A semantic frame may be generated by mapping (Bulgogi Pizza (Thing)) and the sensed intention (Buy Pizza).

턴 3(Turn 3)에서 불고기 피자(Thing)에 대한 가격 및 할인 정보를 외부 API를 통해 가져오는 액션 스크립트(Action Script)를 생성해서 턴 2에서 사용자 발언으로부터 생성된 시맨틱 프레임에 대응하는 '현재 50% 할인되어 15,000원입니다.'라는 시스템 발언을 출력할 수 있다. 이에 대해 사용자 발언으로 '그걸로 줘'가 입력되는 경우, '주다'라는 액션(Action)을 기준으로 감지된 엔티티(그걸(Thing))가 대용어인 경우 후보 대용어들로 '불고기 피자', '할인 이벤트', '할인', '15,000원'이 선정되고, 이를 치환한 후 유사도를 분석한다.In turn 3, create an action script that fetches price and discount information for bulgogi pizza through an external API, and corresponds to the semantic frame generated from the user's remark in turn 2'current 50 % Discount and it is 15,000 won.' If'Give me that' is input as a user's remark, if the entity (Thing) detected based on the action of'Give' is a substitute,'Bulgogi Pizza' as a candidate substitute, ' Discount event','discount', and '15,000 won' are selected, and the similarity is analyzed after replacing it.

턴 3(Turn 3)에서 수행한 유사도 분석 결과, 유사도가 높은 엔티티로 '불고기 피자' 1개만 추출된 경우, '주문되다'라는 액션(Action)에 '불고기 피자'라는 엔티티가 결합되어, 불고기 피자에 대한 주문 및 '불고기 피자로 주문 되었습니다.'라는 시스템 발언이 출력될 수 있다. As a result of the similarity analysis performed in Turn 3, when only one'Bulgogi Pizza' is extracted as an entity with high similarity, an entity called'Bulgogi Pizza' is combined with the action of'Ordered', resulting in Bulgogi Pizza An order for and a system statement of'It was ordered as a bulgogi pizza' may be output.

도 1 내지 도 7을 함께 참조하면, 제1 대화 도메인(610)이 피자 주문에 대한 대화 모델이 정의된 도메인이고, 제2 대화 도메인(620)이 치킨 주문에 대한 대화 모델이 정의된 도메인이고, 제3 대화 도메인(630)이 의류 주문에 대한 대화 모델이 정의된 도메인인 경우, 도 7은 제1 대화 도메인(610)이 선택되어 대화 과정이 수행된 것을 예시하고 있다. Referring to FIGS. 1 to 7 together, the first conversation domain 610 is a domain in which a conversation model for pizza orders is defined, and the second conversation domain 620 is a domain in which conversation models for chicken orders are defined, When the third conversation domain 630 is a domain in which a conversation model for clothing order is defined, FIG. 7 illustrates that the conversation process is performed by selecting the first conversation domain 610.

예를 들면, 1 대화 도메인(610)은 할인 이벤트에 대한 정보가 포함된 대화 모델이고, 제2 대화 도메인(620)과 제3 대화 도메인(630)은 할인 이벤트에 대한 정보가 포함되지 않은 대화 모델일 수 있다. For example, 1 conversation domain 610 is a conversation model that includes information on a discount event, and the second conversation domain 620 and a 3rd conversation domain 630 are conversation models that do not include information on a discount event. Can be

만일, 치킨 주문에 대한 사용자 발언(UU)이 입력되어 제2 대화 도메인(620)이 선택된 경우, 대화 과정에서 할인 이벤트에 대한 사용자 발언(UU)이 입력되는 경우, 사용자 발언(UU)과 제2 대화 도메인(620)의 유사도 분석을 하는 경우 시맨틱 프레임(SF)으로 변환된 사용자 발언(UU)을 벡터화한 결과와 제2 클러스터 모델 2(SCM2)과 사이에서 계산된 유사도는 기설정된 값 미만일 수 있다. 이 경우, 사용자 발언(UU)과 선택되지 않은 제1 대화 도메인(610) 및 제3 대화 도메인(630) 각각의 유사도 분석을 하여, 할인 이벤트에 대한 정보가 포함된 제1 대화 도메인(610)과 사용자 발언(UU) 사이의 유사도가 기설정된 값 이상인 경우, 제1 대화 도메인(610)의 제1 클러스터 모델(SCM1)과 제2 대화 도메인(620)의 제2 클러스터 모델(SCM2)을 결합하여, 치킨 주문 및 할인 이벤트에 대한 정보를 모두 가지는 다중 클러스터 모델(CCM)을 생성한 후, 다중 클러스터 모델(CCM)을 참조하여 시스템 발언을 실행 및 생성할 수 있다. If the user's remark (UU) for the chicken order is input and the second conversation domain 620 is selected, when the user's remark (UU) for the discount event is entered in the conversation process, the user's remark (UU) and the second When the similarity analysis of the conversation domain 620 is performed, the similarity calculated between the result of vectorizing the user speech (UU) converted to the semantic frame SF and the second cluster model 2 (SCM2) may be less than a preset value. . In this case, by analyzing the similarity between the user talk (UU) and the unselected first chat domain 610 and the third chat domain 630, the first chat domain 610 including information on the discount event When the similarity between user speeches (UU) is equal to or greater than a preset value, the first cluster model (SCM1) of the first chat domain 610 and the second cluster model (SCM2) of the second chat domain 620 are combined, After generating a multi-cluster model (CCM) having information about chicken orders and discount events, a system remark may be executed and generated with reference to the multi-cluster model (CCM).

따라서, 본 발명에 따른 복수의 대화 도메인을 가지는 대화 시스템(1)은 사용자 발언에 대용어가 포함된 경우에도 대용어의 의미 및 사용자의 의도를 파악할 수 있으며, 모든 대화 과정에 대응한 대화 도메인을 가지지 못하는 경우에도, 서로 다른 2개 이상의 대화 도메인을 결합한 다중 클러스터 모델을 생성하여, 새로운 형태의 대화 과정에 바로 대응할 수 있다. Accordingly, the conversation system 1 having a plurality of conversation domains according to the present invention can grasp the meaning of a substitute term and the user's intention even when a substitute word is included in the user's speech, and identify a conversation domain corresponding to all conversation processes. Even if you do not have it, you can create a multi-cluster model that combines two or more different conversational domains, so you can immediately respond to a new type of conversational process.

이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다. As described above, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications and changes by those skilled in the art within the technical spirit and scope of the present invention. This is possible.

1 : 복수의 대화 도메인을 가지는 대화 시스템, 10 : 사용자, 50 : 네트워크, 100 : 유저 인터페이스, 200 : 대화 실행 관리자, 300 : 사용자 발언 전처리부, 310 : 사용자 발언 시맨틱 프레임 변환부, 320 : 발언 벡터 생성부, 400 : 자연어 분석부, 410 : 엔티티 검출부, 420 : 의도 검출부, 430 : 대용어 분해부, 500 : 자연어 이해부, 510 : 액션 온톨로지, 520 : 팩트 온톨로지, 550 : 시맨틱 프레임 저장부, 600 : 대화 도메인 관리부, 610, 620, 630 : 대화 도메인, 650 : 클러스터 모델 생성부, 700 : 시스템 발언 실행부, 750 : 시맨틱 프레임 컨텍스트 저장부, 800 : 시스템 발언 생성부, 850 : 자연어 생성부, SCM1, SCM2, SCM3 : 클러스터 모델, CCM : 다중 클러스터 모델, DH : 도메인 대화, SF : 시맨틱 프레임, AV : 액션 벡터, FV : 팩트 벡터, SFC : 시맨틱 프레임 컨텍스트DESCRIPTION OF SYMBOLS 1: Conversation system having multiple conversation domains, 10: user, 50: network, 100: user interface, 200: conversation execution manager, 300: user speech preprocessing unit, 310: user speech semantic frame conversion unit, 320: speech vector Generation unit, 400: natural language analysis unit, 410: entity detection unit, 420: intention detection unit, 430: a large-word decomposition unit, 500: natural language understanding unit, 510: action ontology, 520: fact ontology, 550: semantic frame storage unit, 600 : Conversation domain management unit, 610, 620, 630: conversation domain, 650: cluster model generation unit, 700: system speech execution unit, 750: semantic frame context storage unit, 800: system speech generation unit, 850: natural language generation unit, SCM1 , SCM2, SCM3: Cluster model, CCM: Multiple cluster model, DH: Domain conversation, SF: Semantic frame, AV: Action vector, FV: Fact vector, SFC: Semantic frame context

Claims (9)

네트워크를 통하여 사용자로부터 사용자 발언을 수신하고 시스템 발언을 상기 사용자에게 송신하는 유저 인터페이스;
복수의 대화 도메인을 가지는 대화 도메인 관리부;
액션 온톨로지와 팩트 온톨로지를 가지는 자연어 이해부를 참조하여 상기 사용자 발언에 대한 자연어 처리를 하여, 상기 사용자 발언을 시맨틱 프레임으로 구성 및 벡터화하고, 상기 사용자 발언에 대한 자연어 처리 결과를 이용하여 상기 복수의 대화 도메인 중 하나를 선택하는 사용자 발언 전처리부;
구성된 상기 사용자 발언에 대한 시맨틱 프레임으로부터 엔티티, 의도, 및 대용어를 감지하고, 감지된 대용어가 지칭하는 엔티티를 탐색하여 감지하는 자연어 분석부; 및
상기 사용자 발언이 가지는 대용어를 지칭하는 엔티티를 토대로 상기 시스템 발언을 생성하도록 실행하는 시스템 발언 실행부;를 포함하는 대화 시스템.
A user interface that receives a user's speech from the user via a network and sends a system speech to the user;
A conversation domain management unit having a plurality of conversation domains;
With reference to a natural language understanding unit having an action ontology and a fact ontology, the natural language processing of the user speech is performed, the user speech is composed and vectorized into a semantic frame, and the plurality of conversation domains are obtained using the natural language processing result for the user speech User speech pre-processing unit for selecting one of the;
A natural language analysis unit that detects entities, intentions, and substitutes from the constructed semantic frame for the user's speech, and searches for and detects the entities indicated by the detected substitutes; And
And a system speech execution unit executing to generate the system speech based on an entity indicating a substitute word of the user speech.
제1 항에 있어서,
상기 대화 도메인 관리부는, 상기 복수의 대화 도메인 각각이 가지는 도메인 대화들을 시맨틱 프레임으로 구성 및 벡터화하여 상기 복수의 대화 도메인 각각에 대한 싱글 클러스터 모델을 생성하는 클러스터 모델 생성부를 더 포함하는 것을 특징으로 하는 대화 시스템.
According to claim 1,
The conversation domain manager further comprises a cluster model generation unit configured to construct and vectorize domain conversations of each of the plurality of conversation domains into a semantic frame to generate a single cluster model for each of the plurality of conversation domains. system.
제2 항에 있어서,
상기 자연어 분석부는, 구성된 상기 사용자 발언에 대한 시맨틱 프레임으로부터 엔티티, 의도, 및 대용어를 각각 감지하는 엔티티 검출부, 의도 검출부, 및 대용어 분해부를 포함하며,
상기 대용어 분해부는,
상기 엔티티 검출부에서 감지된 엔티티로부터 상기 감지된 대용어의 후보인 후보 대용어들을 선정하는 후보 선정부,
상기 감지된 대용어를 상기 후보 대용어들로 각각 치환하는 후보 치환부; 및
상기 감지된 의도를 참조하여, 상기 감지된 대용어가 상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 선택된 대화 도메인의 유사도를 계산하는 유사도 계산부;를 포함하는 것을 특징으로 하는 대화 시스템.
According to claim 2,
The natural language analysis unit includes an entity detection unit, an intention detection unit, and a surrogate decomposition unit that detect entities, intentions, and surrogates, respectively, from the semantic frame for the configured user speech,
The large term decomposition unit,
A candidate selection unit for selecting candidate substitutes that are candidates for the detected substitutes from the entity detected by the entity detection unit,
A candidate replacement unit for substituting the detected substitutes with the candidate substitutes, respectively; And
And a similarity calculating unit for calculating the similarity between the user's speech and the selected conversational domain in which the sensed substitute is replaced with the candidate substitutes, referring to the sensed intention.
제3 항에 있어서,
상기 유사도 계산부는, 벡터화된 상기 사용자 발언과 상기 선택된 대화 도메인에 대한 싱글 클러스터 모델 사이의 거리를 계산하는 것을 특징으로 하는 대화 시스템.
According to claim 3,
And the similarity calculating unit calculates a distance between the vectorized user speech and a single cluster model for the selected conversation domain.
제3 항에 있어서,
상기 사용자 발언에 대하여 구성된 시맨틱 프레임, 감지된 엔티티, 감지된 의도, 및 감지된 대용어를 가지는 시맨틱 프레임 컨텍스트을 저장하는 시맨틱 프레임 컨텍스트 저장부;를 더 포함하며,
상기 후보 선정부는, 상기 시맨틱 프레임 컨텍스트 저장부에 저장된 상기 시맨틱 프레임 컨텍스트가 가지는 감지된 엔티티로부터 상기 후보 대용어들을 선정하는 것을 특징으로 하는 대화 시스템.
According to claim 3,
Further comprising; a semantic frame context storage unit for storing a semantic frame context having a semantic frame, a sensed entity, a sensed intention, and a sensed synonym configured for the user speech,
The candidate selection unit, the dialogue system, characterized in that for selecting the candidate substitutes from the sensed entity of the semantic frame context stored in the semantic frame context storage unit.
제2 항에 있어서,
상기 대용어 분해부는, 클러스터 모델 선택부를 더 포함하며,
상기 클러스터 모델 선택부는,
상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 선택된 대화 도메인의 유사도가 기설정된 값 이상인 경우 선택된 대화 도메인을 선택하고, 상기 기설정된 값 미만인 경우, 상기 후보 대용어들로 각각 치환된 상기 사용자 발언과 상기 복수의 대화 도메인 중 선택되지 않은 대화 도메인의 유사도를 계산하여, 상기 기설정된 값 이상인 선택되지 않은 대화 도메인에 대한 싱글 클러스터 모델과 상기 선택된 대화 도메인에 대한 싱글 클러스터 모델을 결합하여 다중 클러스터 모델을 생성하는 것을 특징으로 하는 대화 시스템.
According to claim 2,
The term decomposition unit further includes a cluster model selection unit,
The cluster model selection unit,
If the similarity between the user remarks and the selected conversation domains respectively substituted by the candidate substitutes is greater than or equal to a preset value, the selected conversation domain is selected, and if less than the preset value, the users substituted by the candidate substitutes respectively Multi-cluster model by combining the single cluster model for the unselected chat domain and the single cluster model for the selected chat domain by calculating the similarity between the speech and the unselected chat domain among the plurality of chat domains. Characterized in that the dialogue system.
제6 항에 있어서,
상기 사용자 발언 전처리부는, 상기 클러스터 모델 선택부에서 상기 다중 클러스터 모델을 생성하면, 상기 선택된 대화 도메인의 싱글 클러스터 모델 대신에 상기 생성된 다중 클러스터 모델이 선택되도록 하는 것을 특징으로 하는 대화 시스템.
The method of claim 6,
When the multi-cluster model is generated by the cluster model selection unit, the user remark pre-processing unit causes the generated multi-cluster model to be selected instead of the single cluster model of the selected chat domain.
제2 항에 있어서,
상기 클러스터 모델 생성부는,
상기 액션 온톨로지와 상기 팩트 온톨로지를 참조하여 상기 복수의 대화 도메인 각각이 가지는 도메인 대화들 각각을 시맨틱 프레임으로 구성하는 모델 시맨틱 프레임 변환부;
구성된 상기 도메인 대화들 각각에 대한 시맨틱 프레임에서 상기 액션 온톨로지와 상기 팩트 온톨로지에 대응되는 키워드를 통하여 액션 벡터 및 팩트 벡터를 생성하는 모델 벡터 생성부; 및
구성된 상기 도메인 대화들 각각에 대한 시맨틱 프레임에서 생성된 상기 액션 벡터 및 상기 팩트 벡터를 참조하여 시맨틱 프레임 벡터를 구하고, 상기 도메인 대화들 각각에 대한 상기 시맨틱 프레임 벡터를 조합해서 상기 복수의 대화 도메인 각각에 대한 싱글 클러스터 모델을 생성하는 시맨틱 프레임 벡터 생성부;를 포함하는 것을 특징으로 하는 복수의 대화 도메인을 가지는 대화 시스템
According to claim 2,
The cluster model generation unit,
A model semantic frame converter configured to configure each of the domain conversations of each of the plurality of conversation domains as a semantic frame with reference to the action ontology and the fact ontology;
A model vector generator for generating action vectors and fact vectors through keywords corresponding to the action ontology and the fact ontology in the semantic frame for each of the configured domain conversations; And
A semantic frame vector is obtained by referring to the action vector and the fact vector generated in the semantic frame for each of the configured domain conversations, and the semantic frame vector for each of the domain conversations is combined to each of the plurality of conversation domains. Semantic frame vector generation unit for generating a single cluster model for; a conversation system having a plurality of conversation domains comprising a
제1 항에 있어서,
상기 시스템 발언 실행부는, 표준 실행부 및 대용어 실행부를 포함하며,
상기 표준 실행부는, 상기 사용자 발언에서 감지된 대용어가 없는 경우, 상기 사용자 발언에서 감지된 엔티티 및 감지된 의도를 토대로 상기 시스템 발언을 생성하도록 실행하고,
상기 대용어 실행부는, 상기 사용자 발언에서 감지된 대용어가 있는 경우 상기 시스템 발언을 생성하도록 실행하는 것을 특징으로 하는 대화 시스템.
According to claim 1,
The system speech execution unit includes a standard execution unit and a substitute execution unit,
The standard execution unit executes to generate the system speech based on the entity and the sensed intention detected in the user speech when there is no substitute for the user speech,
And the surrogate execution unit executes to generate the system remark if there is a surrogate detected in the user remark.
KR1020180170964A 2018-12-27 2018-12-27 Dialogue system having multiple dialogue domains KR102198295B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180170964A KR102198295B1 (en) 2018-12-27 2018-12-27 Dialogue system having multiple dialogue domains

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180170964A KR102198295B1 (en) 2018-12-27 2018-12-27 Dialogue system having multiple dialogue domains

Publications (2)

Publication Number Publication Date
KR20200080951A true KR20200080951A (en) 2020-07-07
KR102198295B1 KR102198295B1 (en) 2021-01-05

Family

ID=71603373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180170964A KR102198295B1 (en) 2018-12-27 2018-12-27 Dialogue system having multiple dialogue domains

Country Status (1)

Country Link
KR (1) KR102198295B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092721A1 (en) * 2020-10-30 2022-05-05 삼성전자 주식회사 System and method for providing voice assistant service for text including anaphor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102263656B1 (en) 2021-02-26 2021-06-11 주식회사 델타엑스 Communication system for inducing response and communication method for inducing response
KR102638316B1 (en) * 2022-02-26 2024-02-20 이병수 Method for Translating User Setting Foreign Language

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110051519A (en) * 2009-11-10 2011-05-18 한국전자통신연구원 Semantic annotation apparatus for web services
KR20160147303A (en) * 2015-06-15 2016-12-23 포항공과대학교 산학협력단 Method for dialog management based on multi-user using memory capacity and apparatus for performing the method
JP2017534941A (en) * 2014-08-22 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー Orphan utterance detection system and method
KR20180124716A (en) * 2017-05-11 2018-11-21 경희대학교 산학협력단 Method for intent-context fusioning in healthcare systems for effective dialogue management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110051519A (en) * 2009-11-10 2011-05-18 한국전자통신연구원 Semantic annotation apparatus for web services
JP2017534941A (en) * 2014-08-22 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー Orphan utterance detection system and method
KR20160147303A (en) * 2015-06-15 2016-12-23 포항공과대학교 산학협력단 Method for dialog management based on multi-user using memory capacity and apparatus for performing the method
KR20180124716A (en) * 2017-05-11 2018-11-21 경희대학교 산학협력단 Method for intent-context fusioning in healthcare systems for effective dialogue management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092721A1 (en) * 2020-10-30 2022-05-05 삼성전자 주식회사 System and method for providing voice assistant service for text including anaphor

Also Published As

Publication number Publication date
KR102198295B1 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
US11100921B2 (en) Pinyin-based method and apparatus for semantic recognition, and system for human-machine dialog
US11482212B2 (en) Electronic device for analyzing meaning of speech, and operation method therefor
Yang et al. A joint sequential and relational model for frame-semantic parsing
US10262062B2 (en) Natural language system question classifier, semantic representations, and logical form templates
US9740677B2 (en) Methods and systems for analyzing communication situation based on dialogue act information
US9792903B2 (en) Methods and systems for determining ranking of dialogue sticker based on situation and preference information
EP2956931B1 (en) Facilitating development of a spoken natural language interface
US20140316764A1 (en) Clarifying natural language input using targeted questions
KR20170061016A (en) Device and method of data recognition model construction, and data recognition devicce
US10579835B1 (en) Semantic pre-processing of natural language input in a virtual personal assistant
US20150286943A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
KR102198295B1 (en) Dialogue system having multiple dialogue domains
KR102100214B1 (en) Method and appratus for analysing sales conversation based on voice recognition
US20160210117A1 (en) Methods and systems for recommending dialogue sticker based on similar situation detection
EP4113357A1 (en) Method and apparatus for recognizing entity, electronic device and storage medium
US10223349B2 (en) Inducing and applying a subject-targeted context free grammar
CN110268472B (en) Detection mechanism for automated dialog system
US20230229860A1 (en) Method and system for hybrid entity recognition
Satapathy et al. Phonsenticnet: A cognitive approach to microtext normalization for concept-level sentiment analysis
CN116541493A (en) Interactive response method, device, equipment and storage medium based on intention recognition
JP2013190985A (en) Knowledge response system, method and computer program
Patil et al. Novel technique for script translation using NLP: performance evaluation
KR102358485B1 (en) Dialogue system by automatic domain classfication
CN113569578B (en) User intention recognition method and device and computer equipment
CN115034209A (en) Text analysis method and device, electronic equipment and storage medium

Legal Events

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