KR20220026890A - Method and apparatus for generating ontology based on dialog - Google Patents

Method and apparatus for generating ontology based on dialog Download PDF

Info

Publication number
KR20220026890A
KR20220026890A KR1020200107988A KR20200107988A KR20220026890A KR 20220026890 A KR20220026890 A KR 20220026890A KR 1020200107988 A KR1020200107988 A KR 1020200107988A KR 20200107988 A KR20200107988 A KR 20200107988A KR 20220026890 A KR20220026890 A KR 20220026890A
Authority
KR
South Korea
Prior art keywords
knowledge
ontology
conversation
situation
service
Prior art date
Application number
KR1020200107988A
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 KR1020200107988A priority Critical patent/KR20220026890A/en
Publication of KR20220026890A publication Critical patent/KR20220026890A/en

Links

Images

Classifications

    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Abstract

Provided is a method for generating the ontology, which includes the steps of: receiving input of the conversation; recognizing a conversation situation including at least one of a time, a place, and a case in which the conversation occurred; determining the higher level knowledge corresponding to the conversation situation, and constructing the higher level knowledge ontology using the higher level knowledge; and searching for the lower level knowledge ontology corresponding to the conversation situation, and linking the lower level knowledge ontology to the higher level knowledge ontology.

Description

대화 기반의 온톨로지 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING ONTOLOGY BASED ON DIALOG}Method and device for generating dialogue-based ontology

본 발명은 대화를 기반으로 온톨로지를 생성하는 기술에 관한 것이다. The present invention relates to a technology for generating an ontology based on a conversation.

종래의 추천 시스템 등에 사용되는 서비스 관련 온톨로지는, 주로 서비스에 대한 도메인 지식을 가진 전문가에 의하여 온톨로지 저작 툴을 이용하여 서비스 이전에 생성되었다. 생성된 온톨로지를 이용하여 대화를 생성하기 위한 지식이나 정보를 제공하였다. 이후 서비스 과정에서 수집된 정보를 바탕으로 생성된 온톨로지를 수정하였다.The service-related ontology used in the conventional recommendation system, etc. is mainly generated before the service by using an ontology authoring tool by an expert with domain knowledge about the service. By using the generated ontology, knowledge or information for creating a conversation was provided. Afterwards, the generated ontology was modified based on the information collected during the service process.

최근에는 챗봇 등의 대화형 서비스 시스템을 통해 인공지능 머신과 사용자 간의 대화 데이터가 많이 생성된다. 이러한 대화에는 많은 도메인 지식이 내재되어 있으므로, 생성된 대화로부터 역으로 지식을 추출하여 온톨로지를 보완한다면 효과적으로 서비스를 제공할 수 있다. Recently, a lot of conversational data between artificial intelligence machines and users is generated through interactive service systems such as chatbots. Since a lot of domain knowledge is inherent in such a conversation, if the ontology is supplemented by extracting knowledge from the generated conversation in reverse, a service can be effectively provided.

그러나 전문가에 의해 작성된 서비스 온톨로지는 대화 시스템에서 제공되는 대화에서 수집된 지식을 시시각각 반영하기도 어렵고, 지식의 오류나 변화하는 지식 등에 효과적인 서비스를 제공하기 힘들다. However, in the service ontology created by experts, it is difficult to reflect the knowledge collected from the dialogue provided by the dialogue system from moment to moment, and it is difficult to provide effective services for errors in knowledge or changing knowledge.

따라서, 서비스 중인 대화 시스템에서 수집된 대화로부터 지식 정보를 추출하여 온톨로지를 생성하거나 갱신할 수 있는 기술이 요구된다. Accordingly, there is a need for a technology capable of generating or updating an ontology by extracting knowledge information from conversations collected in a conversation system in service.

해결하고자 하는 과제는 대화 시스템에서 시스템과 사용자의 대화로부터 서비스 지식을 추출하여 온톨로지를 생성하고, 저장된 온톨로지를 갱신하는 방법 및 장치를 제공하는 것이다. An object to be solved is to provide a method and apparatus for generating an ontology by extracting service knowledge from a conversation between a system and a user in a dialog system and updating the stored ontology.

또한 해결하고자 하는 과제는 대화의 상황을 파악하고, 이에 해당하는 서비스 지식을 추론하여 응답을 생성하는 방법 및 장치를 제공하는 것이다.In addition, the task to be solved is to provide a method and apparatus for identifying a conversation situation and generating a response by inferring service knowledge corresponding thereto.

한 실시예에 따른 온톨로지 생성 방법이 개시된다. 상기 방법은, 대화를 입력 받는 단계, 상기 대화가 발생한 시간, 장소, 경우 중 적어도 하나를 포함하는 대화 상황을 파악하는 단계, 상기 대화 상황에 해당하는 상위 지식을 결정하고, 상기 상위 지식을 이용하여 상위 지식 온톨로지를 구성하는 단계, 그리고 상기 대화 상황에 해당하는 하위 지식 온톨로지를 검색하고, 상기 상위 지식 온톨로지에 상기 하위 지식 온톨로지를 연결하는 단계를 포함한다. A method for generating an ontology according to an embodiment is disclosed. The method includes the steps of receiving a conversation input, recognizing a conversation situation including at least one of a time, place, and case in which the conversation occurred, determining a higher level knowledge corresponding to the conversation situation, and using the higher level knowledge Constructing a higher-level knowledge ontology, and searching for a lower-level knowledge ontology corresponding to the dialogue situation, and linking the lower-level knowledge ontology to the higher-level knowledge ontology.

본 발명에 따르면 전문가에 의해 서비스 온톨로지가 작성되는 기존의 대화 시스템과 달리, 대화 시스템에서 획득한 데이터를 이용하여 곧바로 서비스 온톨로지로 생성함으로써 보다 신속하고 정확한 대화 서비스를 제공할 수 있다.According to the present invention, unlike the existing dialog system in which a service ontology is created by an expert, it is possible to provide a faster and more accurate dialog service by using data obtained from the dialog system to directly create a service ontology.

또한 본 발명에 따르면 대화에 내재된 지식을 빠르게 온톨로지로 변환하므로, 대화가 진행될수록 사용자에게 개선된 서비스를 제공할 수 있다.In addition, according to the present invention, since knowledge inherent in a conversation is quickly converted into an ontology, an improved service can be provided to the user as the conversation progresses.

또한 본 발명에 따르면 사용자 프로파일을 이용하여, 각 사용자와의 대화로부터 추출한 지식을 온톨로지로 생성하여 개인화 된 서비스를 제공할 수 있다. In addition, according to the present invention, by using a user profile, knowledge extracted from conversations with each user can be created as an ontology to provide a personalized service.

도 1은 한 실시예에 따른 온톨로지 생성 장치의 구성도이다.
도 2는 한 실시예에 따른 서비스별 온톨로지의 예시도이다.
도 3은 한 실시예에 따른 서비스 지식을 생성하는 방법의 설명도이다.
도 4는 한 실시예에 따른 온톨로지 갱신 방법의 흐름도이다.
도 5는 한 실시예에 따른 응답 생성 방법의 흐름도이다.
도 6은 한 실시예에 따른 컴퓨터 시스템을 나타내는 도면이다.
1 is a block diagram of an ontology generating apparatus according to an embodiment.
2 is an exemplary diagram of an ontology for each service according to an embodiment.
3 is an explanatory diagram of a method for generating service knowledge according to an embodiment.
4 is a flowchart of an ontology update method according to an embodiment.
5 is a flowchart of a method for generating a response according to an embodiment.
6 is a diagram illustrating a computer system according to an embodiment.

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

온톨로지란 개체들 간의 관계를 정의하고, 컴퓨터가 모든 개체의 의미(Semantic)를 이해할 수 있도록 일정 규칙에 따라 표현한 것을 의미한다.Ontology means that the relationship between entities is defined and expressed according to certain rules so that the computer can understand the semantics of all entities.

상위 지식이란, 구체적인 문제나 특정 관심 영역과 무관한 시간, 공간, 물질, 대상, 사건 등의 일반적인 개념들을 의미하고, 상위 지식 온톨로지는 상위 지식에 대해 기술한 온톨로지를 의미한다.Higher-level knowledge refers to general concepts such as time, space, material, object, and event that are not related to specific problems or specific areas of interest, and upper-level knowledge ontology refers to an ontology that describes higher-level knowledge.

하위 지식이란, 특정 업무, 주제 또는 서비스에 관련된 개념을 의미하고, 하위 지식 온톨로지란 하위 지식에 대해 표현한 온톨로지를 의미한다.The sub-knowledge refers to a concept related to a specific task, topic, or service, and the sub-knowledge ontology refers to an ontology expressed about the sub-knowledge.

도 1은 한 실시예에 따른 온톨로지 생성 장치의 구성도이고, 도 2는 한 실시예에 따른 서비스별 온톨로지의 예시도이고, 도 3은 한 실시예에 따른 서비스 지식을 생성하는 방법의 설명도이다.1 is a block diagram of an ontology generating apparatus according to an embodiment, FIG. 2 is an exemplary diagram of an ontology for each service according to an embodiment, and FIG. 3 is an explanatory diagram of a method for generating service knowledge according to an embodiment .

도 1을 참고하면, 온톨로지 생성 장치(100)는 텍스트 또는 음성 형태의 대화를 입력 받고, 이에 대한 응답을 제공하는 과정에서 발생하는 대화의 상황을 추출하고, 추출한 상황으로부터 상위 지식을 온톨로지로 생성하고, 생성된 상위 지식 온톨로지에 해당하는 하위 지식을 연결하여 저장한다.Referring to FIG. 1 , the ontology generating apparatus 100 receives a text or voice dialogue input, extracts a dialogue situation occurring in the process of providing a response thereto, and generates higher-level knowledge as an ontology from the extracted situation, , the lower knowledge corresponding to the generated upper knowledge ontology is connected and stored.

또한 온톨로지 생성 장치(100)는, 입력 받은 대화의 상황을 추출하고, 상황에 맞는 지식과 서비스별 온톨로지를 탐색하고, 이를 바탕으로 응답을 생성하여 제공한다. In addition, the ontology generating apparatus 100 extracts the context of the input conversation, searches for knowledge appropriate to the context and ontology for each service, and generates and provides a response based on this.

온톨로지 생성 장치(100)는 입출력부(110), 전처리부(120), 상위 지식 생성부(130), 하위 지식 생성부(140), 온톨로지 저장부(150), 응답 생성부(160) 그리고 지식 추론부(170)를 포함한다.The ontology generating apparatus 100 includes an input/output unit 110 , a preprocessor 120 , a higher knowledge generating unit 130 , a lower knowledge generating unit 140 , an ontology storage unit 150 , a response generating unit 160 , and a knowledge It includes an inference unit 170 .

설명을 위해 입출력부(110), 전처리부(120), 상위 지식 생성부(130), 하위 지식 생성부(140), 온톨로지 저장부(150), 응답 생성부(160) 그리고 지식 추론부(170)로 명명하여 부르나, 이들은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치이다. 여기서, 입출력부(110), 전처리부(120), 상위 지식 생성부(130), 하위 지식 생성부(140), 온톨로지 저장부(150), 응답 생성부(160) 그리고 지식 추론부(170)는 하나의 컴퓨팅 장치에 구현되거나, 별도의 컴퓨팅 장치에 분산 구현될 수 있다. 별도의 컴퓨팅 장치에 분산 구현된 경우, 입출력부(110), 전처리부(120), 상위 지식 생성부(130), 하위 지식 생성부(140), 온톨로지 저장부(150), 응답 생성부(160) 그리고 지식 추론부(170)는 통신 인터페이스를 통해 서로 통신할 수 있다. 컴퓨팅 장치는 본 발명을 수행하도록 작성된 소프트웨어 프로그램을 실행할 수 있는 장치이면 충분하고, 예를 들면, 서버, 랩탑 컴퓨터 등일 수 있다. For explanation, the input/output unit 110 , the preprocessor 120 , the upper knowledge generation unit 130 , the lower knowledge generation unit 140 , the ontology storage unit 150 , the response generation unit 160 , and the knowledge inference unit 170 . ), but these are computing devices operated by at least one processor. Here, the input/output unit 110 , the preprocessor 120 , the upper knowledge generation unit 130 , the lower knowledge generation unit 140 , the ontology storage unit 150 , the response generation unit 160 , and the knowledge inference unit 170 ) may be implemented in one computing device or distributed in separate computing devices. When distributed and implemented in a separate computing device, the input/output unit 110 , the preprocessor 120 , the upper knowledge generation unit 130 , the lower knowledge generation unit 140 , the ontology storage unit 150 , and the response generation unit 160 . ) and the knowledge reasoning unit 170 may communicate with each other through a communication interface. The computing device may be any device capable of executing a software program written to carry out the present invention, and may be, for example, a server, a laptop computer, or the like.

입출력부(110)는 텍스트 또는 음성 형태의 대화를 입력 받아 전처리부(120)와 응답 생성부(160)에 제공하고, 응답 생성부(160)로부터 전달받은 응답을 출력한다. 응답의 형태는 온톨로지 생성 장치(100)가 적용되는 서비스의 유형에 따라 달라질 수 있다. 예를 들어 대화 시스템의 경우 응답은 텍스트 또는 음성 대화일 수 있으며, 추천 시스템인 경우 이미지 또는 URL 형태일 수 있다. The input/output unit 110 receives a text or voice dialogue, provides it to the preprocessor 120 and the response generation unit 160 , and outputs the response received from the response generation unit 160 . The form of the response may vary depending on the type of service to which the ontology generating apparatus 100 is applied. For example, in the case of a conversation system, the response may be a text or voice conversation, and in the case of a recommendation system, it may be in the form of an image or a URL.

전처리부(120)는 입출력부(110)에서 수집한 대화를 가공하여 학습 데이터를 생성하고, 상위 지식 생성부(130)에 전달한다. The pre-processing unit 120 generates learning data by processing the conversations collected by the input/output unit 110 , and transmits it to the upper knowledge generation unit 130 .

전처리부(120)는 사용자와 온톨로지 생성 장치(100)가 주고받은 대화의 시작과 끝을 파악하여, 하나의 대화 묶음으로 학습 데이터를 생성할 수 있다. 묶음의 단위는 하나의 에피소드이거나, 사용자와 온톨로지 생성 장치(100)가 각각 한번씩 주고받은 대화일 수 있다. The preprocessor 120 may generate learning data as one conversation bundle by identifying the start and end of a conversation exchanged between the user and the ontology generating apparatus 100 . The unit of the bundle may be one episode or a conversation between the user and the ontology generating apparatus 100 once each.

한 예로서 온톨로지 생성 장치(100)가 태스크 지향의 대화 시스템(Task-Oriented Dialog System)에 적용되는 경우, 대화 주기가 정형화 되어 일정한 편이므로 태스크가 완료되는 시점까지의 대화를 학습 데이터로 생성할 수 있다.As an example, when the ontology generating device 100 is applied to a task-oriented dialog system, the dialog period is standardized and constant, so it is possible to generate the dialog until the task is completed as learning data. there is.

다른 예로서, 챗봇과 같은 비 태스크 지향의 대화 시스템에 적용되는 경우, 대화의 주제에 따라 학습 데이터를 생성할 수도 있다. 학습 데이터를 생성하는 방법은 어느 하나로 제한되지 않는다. As another example, when applied to a non-task-oriented conversation system such as a chatbot, learning data may be generated according to the topic of the conversation. A method of generating the training data is not limited to any one.

상위 지식 생성부(130)는 학습 데이터를 입력 받아 학습 데이터에 포함된 대화의 상황을 결정하고, 상황에 맞는 상위 지식을 생성하여 상위 지식 온톨로지를 구성한다. The upper knowledge generating unit 130 receives the learning data, determines the situation of a conversation included in the learning data, and generates upper knowledge appropriate to the situation to configure the upper knowledge ontology.

그리고 결정된 상황에 해당하는 하위 지식 온톨로지를 온톨로지 저장부(150)에서 검색하고 이를 생성한 상위 지식 온톨로지와 연결하여 저장한다.Then, the lower knowledge ontology corresponding to the determined situation is searched for in the ontology storage unit 150, and the lower knowledge ontology is connected to the generated upper knowledge ontology and stored.

한편 대화의 상황은 상황 요소들에 의해 결정되고, 상황 요소들은 예를 들어 대화가 이루어지는 시간(Time), 장소(Place), 경우(Occasion)를 포함한다. 즉 상위 지식 생성부(130)는 학습 데이터를 구성하는 대화가 언제, 어느 곳에서, 어떤 경우에서 이루어진 것인지 파악한다. 학습 데이터에 따라 개별 상황 요소들의 조합을 새로운 상황 요소로 정의할 수도 있다. On the other hand, the situation of the conversation is determined by the situation factors, and the situation factors include, for example, a time (Time), a place (Place), and an occasion (Occasion) in which the conversation takes place. That is, the upper knowledge generating unit 130 identifies when, where, and in what cases the conversations constituting the learning data took place. According to the learning data, a combination of individual context elements may be defined as a new context element.

한편 상황을 파악하는 방법은 어느 하나로 제한되지 않고, 클러스터링, 패턴 매칭 등의 방법이 사용될 수 있다. Meanwhile, the method for grasping the situation is not limited to any one, and methods such as clustering and pattern matching may be used.

대화의 상황으로서 가능한 것들은 고정된 집합이 아니며, 학습 데이터에 따라 추가되거나 변경될 수 있다. 예를 들어 대화 데이터에서 추출된 상황 요소들의 조합으로 새로운 상황이 정의될 수 있다. As a conversational situation, possible things are not a fixed set, and may be added or changed according to the learning data. For example, a new situation may be defined by a combination of situation elements extracted from dialogue data.

상위 지식 생성부(130)는 결정된 상황에 해당하는 상위 지식을 온톨로지 저장부(150)에서 검색할 수 있다. The higher-order knowledge generator 130 may search for higher-order knowledge corresponding to the determined situation in the ontology storage 150 .

상위 지식 생성부(130)는 학습 데이터에 포함된 대화의 상황을 결정하고, 이 상황에 해당하는 하위 지식을 온톨로지 저장부(150)에 호출하여 획득한다. 이후 대화의 상황으로 생성한 상위 지식을 획득한 하위 지식과 연결하고, 다시 온톨로지 저장부(150)에 저장한다. 이때, 하위 지식 온톨로지는 OWL로 작성되고, 상위 지식 온톨로지는 SWRL로 작성될 수 있다. 예를 들어 표 1과 같은 형태일 수 있다. The upper knowledge generating unit 130 determines the situation of the conversation included in the learning data, and calls the lower level knowledge corresponding to this situation to the ontology storage unit 150 to obtain it. Thereafter, the upper knowledge generated in the context of the conversation is connected with the acquired lower knowledge, and again stored in the ontology storage 150 . In this case, the lower knowledge ontology may be written in OWL, and the upper knowledge ontology may be written in SWRL. For example, it may have the form shown in Table 1.

[isWedding: fo:Dress(?a)
^ fo:hasBody_Length(?a, fr:NormalLength)
^ fo:hasGender(?a, fr:Elegant)
^ fo:hasWeight(?a, fr:Weight_Light)
^ fo:hasWristEdge(?a, fr:Lace) -> fo:Wedding(?a)]
[isWedding: fo:Dress(?a)
^ fo:hasBody_Length(?a, fr:NormalLength)
^ fo:hasGender(?a, fr:Elegant)
^ fo:hasWeight(?a, fr:Weight_Light)
^ fo:hasWristEdge(?a, fr:Lace) -> fo:Wedding(?a)]

표 1을 참고하면, 결혼식에 해당하는 상황에 대해서 하위 지식을 매칭 시킨 상위 지식의 예이다. 예를 들어, 표 1은 isWedding()(하객 패션)이라는 상위 지식에 대해서 이것을 기술하는 하위 지식 Dress, Body_Length 등의 요소를 지정하는 규칙을 나타낸 것이다.Referring to Table 1, it is an example of upper knowledge matching lower knowledge for a situation corresponding to a wedding ceremony. For example, Table 1 shows the rules for designating elements such as Dress and Body_Length of the lower knowledge that describe the upper knowledge of isWedding() (guest fashion).

한편, 상위 지식 생성부(130)가 상황을 파악하고, 상위 지식을 결정하는 구체적인 방법은 다음과 같다.On the other hand, a specific method for the higher-level knowledge generating unit 130 to grasp the situation and determine the higher-level knowledge is as follows.

학습 데이터에 포함된 대화가 사용자와 시스템이 번갈아 대화하는 형태인 경우, 각 대화 주체의 대화문을 하나의 정보 원천으로 간주할 수 있다. 이때 각 대화문은 S-P-O(Subject-Predicate-Object) 형태로 변환될 수 있다. 각 대화문에 상황을 태깅하여 지식화하고, 이를 기반으로 상위 지식을 유도할 수 있다. When the dialog included in the learning data is in the form of a conversation between the user and the system alternately, the dialog of each conversation subject can be regarded as one information source. In this case, each dialogue may be converted into an S-P-O (Subject-Predicate-Object) form. By tagging the situation in each dialogue, it is possible to make it knowledgeable, and based on this, higher knowledge can be derived.

다른 예로서, 상위 지식 생성부(130)는 대화에서 화행을 추출한다. 화행(Speech Acts)이란 대화 주체의 발화 의도를 의미하고, 화행 분석 방법은 어느 하나에 제한되지 않는다. 여러 종류의 화행들 중, 정보 제공(Inform)이 가장 많은 지식을 포함하므로 정보 제공이라는 화행을 갖는 대화를 S-P-O 형태로 변형할 수 있다. 또한 정보 요구(Ask_ref, Ask_if) 등의 화행을 갖는 대화를 이용하여 상위 지식을 구성할 수도 있다. 한편 호응, 응답과 같은 화행은 사용자의 개인화 정보에 활용할 수 있다.As another example, the upper knowledge generating unit 130 extracts dialogue acts from a conversation. Speech acts mean the intention of a conversational subject, and a method of analyzing a dialogue act is not limited to any one. Among various types of dialogue acts, since information contains the most knowledge, a dialogue having the dialogue act of information provision can be transformed into an S-P-O form. In addition, higher-level knowledge may be constructed using a dialogue having dialogue acts such as information requests (Ask_ref, Ask_if). On the other hand, dialogue acts such as response and response can be utilized for the user's personalized information.

상위 지식 생성부(130)가 생성한 지식과 온톨로지 저장부(150)에 저장된 지식이 충돌하는 경우, 이에 대한 조정이 이루어질 수 있다. 예를 들어, 생성한 지식과 저장된 지식이 충돌하는 경우, 상위 지식 생성부(130)는 충돌하는 지식을 삭제하거나 둘 중 출현 빈도가 높은 것만을 선택하여 저장할 수 있다. When the knowledge generated by the upper knowledge generator 130 collides with the knowledge stored in the ontology storage 150 , an adjustment may be made for this. For example, when the generated knowledge collides with the stored knowledge, the upper knowledge generating unit 130 may delete the conflicting knowledge or select and store only the high frequency of appearance among them.

표 1에서, 각 지식 요소가 ^(and)로 연결된 경우 상반되는 하위 지식이 선택되면 해당 2가지 지식을 제거하거나, 각 지식 요소의 출현 빈도를 저장하여 출현 빈도가 높은 것을 선택하는 방법을 사용할 수 있다.In Table 1, when each knowledge element is connected with ^ (and), if opposite sub-knowledge is selected, the two knowledge can be removed, or the method with a high frequency of appearance can be selected by storing the frequency of appearance of each knowledge element. there is.

하위 지식 생성부(140)는 서비스별 온톨로지를 입력 받아 온톨로지 저장부(150)에 저장한다. 온톨로지 저장부(150)가 관리하는 형태에 맞도록 입력 받은 온톨로지를 변형할 수 있다.The lower knowledge generating unit 140 receives an ontology for each service and stores it in the ontology storage unit 150 . The input ontology may be modified to fit the form managed by the ontology storage unit 150 .

입력 받은 온톨로지는 특정 도메인 또는 특정 서비스에서 사용되는 지식으로 구성된 것일 수 있다. 예를 들어 도 2와 같은 형태의 패션 코디 서비스 온톨로지를 입력 받을 수 있다. 구체적으로, 도 2의 온톨로지는 패션 아이템의 개별적인 속성들을 온톨로지로 생성한 것이다.The input ontology may be composed of knowledge used in a specific domain or a specific service. For example, a fashion coordination service ontology of the form shown in FIG. 2 may be input. Specifically, the ontology of FIG. 2 is generated by creating an ontology of individual properties of a fashion item.

하위 지식 생성부(140)는 작성이 완료된 온톨로지가 아닌, 정보를 입력 받아 온톨로지를 직접 생성할 수도 있다. 이 경우 하위 지식 생성부(140)는 온톨로지를 작성하기 위한 저작 툴을 포함할 수 있다. The sub-knowledge generating unit 140 may directly generate an ontology by receiving information rather than a completed ontology. In this case, the sub-knowledge generator 140 may include an authoring tool for creating an ontology.

온톨로지 저장부(150)는 상위 지식 생성부(130) 또는 하위 지식 생성부(140)를 통해 제공받은 온톨로지를 저장한다. 상위 지식 생성부(130), 하위 지식 생성부(140) 또는 지식 추론부(170)의 요청에 따라 특정 서비스의 상위 지식 온톨로지 또는 하위 지식 온톨로지를 제공한다. The ontology storage unit 150 stores the ontology provided through the upper knowledge generating unit 130 or the lower knowledge generating unit 140 . The higher knowledge ontology or lower knowledge ontology of a specific service is provided in response to a request from the higher knowledge generating unit 130 , the lower knowledge generating unit 140 , or the knowledge inference unit 170 .

응답 생성부(160)는 입출력부(110)로부터 사용자의 대화를 입력 받으면, 입력된 대화의 화행과 상황을 분석하여 지식 추론부(170)에 제공하고, 지식 추론부(170)로부터 상황에 맞는 서비스별 지식을 제공받아, 지식을 바탕으로 응답을 생성한다. 응답은 텍스트 또는 음성 형태의 문장이나 추천 아이템 등의 이미지일 수 있다. When the user's conversation is input from the input/output unit 110 , the response generating unit 160 analyzes the dialogue act and situation of the input dialogue and provides it to the knowledge inference unit 170 , and the knowledge inference unit 170 matches the situation It receives knowledge for each service and generates a response based on the knowledge. The response may be an image such as a text or voice-type sentence or a recommended item.

한편 응답 생성부(160)는 현재 대화의 상황을 시간, 장소, 경우라는 상황 요소로 분석하여 지식 추론부(170)에 제공할 수 있고, 응답 생성부(160)가 화행을 분석하는 방법 또는 상황을 분석하는 방법은 상위 지식 생성부(130)의 동작 방법과 유사할 수 있다.Meanwhile, the response generation unit 160 may analyze the current conversation situation as situation elements such as time, place, and case and provide it to the knowledge inference unit 170 , and a method or situation in which the response generation unit 160 analyzes the dialogue act A method of analyzing may be similar to an operation method of the upper knowledge generating unit 130 .

지식 추론부(170)는 응답 생성부(160)에서 대화의 화행, 상황을 제공받고, 상황에 맞는 상위 지식을 온톨로지 저장부(150)에서 검색한다. 검색된 상위 지식에서, 대화에 해당하는 서비스 지식을 추론하여 응답 생성부(160)에 제공할 수 있다. The knowledge inference unit 170 receives the dialogue act and situation of the conversation from the response generating unit 160 , and searches the ontology storage unit 150 for higher-level knowledge appropriate to the situation. Service knowledge corresponding to the conversation may be inferred from the searched higher knowledge and provided to the response generating unit 160 .

이때 지식 추론부(170)는, 현재 대화의 상황 요소별로 지식을 탐색하고 이를 조합하여 서비스 지식을 추출할 수 있다. In this case, the knowledge inference unit 170 may search for knowledge for each context element of the current conversation and extract service knowledge by combining them.

도 3을 참고하면, 지식 추론부(170)는 온톨로지 저장부(150)에서 시간 기반 지식, 장소 기반 지식, 경우 기반 지식을 찾는다. 또한 시간, 장소 경우를 복합적으로 고려하여 복수의 상황 기반 지식들을 탐색할 수 있다. 지식 추론부(170)는 탐색된 지식들의 교집합 또는 합집합으로 현재 대화의 서비스 지식을 구성할 수 있다.Referring to FIG. 3 , the knowledge inference unit 170 searches for time-based knowledge, place-based knowledge, and case-based knowledge in the ontology storage unit 150 . In addition, it is possible to search for a plurality of context-based knowledge by considering time and place in a complex way. The knowledge inference unit 170 may construct service knowledge of the current conversation as the intersection or union of the found knowledge.

한편 일반적으로 시간 기반 지식, 장소 기반 지식, 경우 기반 지식 등 개별 지식에 대해서는 일반적인 상식을 기반으로 상위 지식을 생성할 수 있으며 상황 기반 지식은 대화의 상황에 특수한 사례를 고려하여 상위 지식을 생성할 수 있다.On the other hand, in general, for individual knowledge such as time-based knowledge, place-based knowledge, and case-based knowledge, higher-level knowledge can be generated based on general common sense, and situation-based knowledge can generate higher-level knowledge by considering special cases in the context of a conversation. there is.

도 4는 한 실시예에 따른 온톨로지 갱신 방법의 흐름도이다.4 is a flowchart of an ontology update method according to an embodiment.

도 4를 참고하면, 온톨로지 생성 장치(100)는 입력 받은 대화를 한 단위로 묶어서 학습 데이터로 생성한다(S110). 구체적으로, 전처리부(120)는 대화의 시작과 끝을 파악하여 한 단위를 결정할 수 있다.Referring to FIG. 4 , the ontology generating apparatus 100 generates learning data by grouping the received conversations into one unit ( S110 ). Specifically, the preprocessor 120 may determine a unit by identifying the start and end of the conversation.

온톨로지 생성 장치(100)는 학습 데이터를 구성하는 각 대화에서 시간, 장소, 경우를 추출하여 대화의 상황을 파악한다(S120). 대화의 상황을 파악하기 위해 클러스터링, 패턴 매칭 등의 방법이 사용될 수 있다.The ontology generating apparatus 100 extracts a time, a place, and a case from each conversation constituting the learning data to understand the conversation situation ( S120 ). Methods such as clustering, pattern matching, etc. may be used to understand the conversation situation.

온톨로지 생성 장치(100)는 상황에 맞는 상위 지식을 상위 지식 온톨로지로 생성한다(S130). 예를 들어 상위 지식 온톨로지는 SWRL로 작성될 수 있다.The ontology generating apparatus 100 generates higher-order knowledge appropriate to the situation as a higher-level knowledge ontology (S130). For example, the upper knowledge ontology can be written in SWRL.

온톨로지 생성 장치(100)는 상황에 맞는 하위 지식 온톨로지를 검색하고, 생성된 상위 지식 온톨로지와 연결하여 저장한다(S140). 하위 지식은 하위 지식 생성부(140)를 통해 입력 받은 것으로, 온톨로지 저장부(150)에 저장된 것일 수 있다.The ontology generating apparatus 100 searches for a lower-level knowledge ontology appropriate to the situation, and stores it in connection with the generated upper-level knowledge ontology ( S140 ). The sub-knowledge is input through the sub-knowledge generating unit 140 , and may be stored in the ontology storage unit 150 .

도 5는 한 실시예에 따른 응답 생성 방법의 흐름도이다.5 is a flowchart of a method for generating a response according to an embodiment.

도 5를 참고하면, 온톨로지 생성 장치(100)는 입력 받은 대화의 화행을 분석하고, 대화가 이루어진 시간, 장소, 경우를 추출하여 대화의 상황을 파악한다(S210).Referring to FIG. 5 , the ontology generating apparatus 100 analyzes the dialogue act of the received dialogue, extracts the time, place, and case of the dialogue to determine the situation of the dialogue ( S210 ).

온톨로지 생성 장치(100)는 대화의 화행과 상황에 해당하는 상위 지식 온톨로지를 검색한다(S220). The ontology generating apparatus 100 searches for an upper knowledge ontology corresponding to a dialogue act and situation of a conversation (S220).

온톨로지 생성 장치(100)는 상위 지식 온톨로지를 이용하여, 입력 받은 대화에 해당하는 서비스 지식을 추출한다(S230).The ontology generating apparatus 100 extracts service knowledge corresponding to the received conversation by using the upper knowledge ontology (S230).

도 6은 본 발명의 실시예에 따른 컴퓨터 시스템(200)을 나타내는 도면이다. 6 is a diagram illustrating a computer system 200 according to an embodiment of the present invention.

본 발명의 실시예에 따른 주문 예측 장치는 도 6과 같은 컴퓨터 시스템(200)으로 구현될 수 있다. 그리고 주문 예측 장치의 각 구성 요소도 도 6과 같은 컴퓨터 시스템(200)으로 구현될 수 있다. Order prediction apparatus according to an embodiment of the present invention may be implemented as a computer system 200 as shown in FIG. In addition, each component of the order prediction device may be implemented as a computer system 200 as shown in FIG. 6 .

컴퓨터 시스템(200)은 버스(260)를 통해 통신하는 프로세서(210), 메모리(220), 사용자 인터페이스 입력 장치(240), 사용자 인터페이스 출력 장치(250), 그리고 저장 장치(230) 중 적어도 하나를 포함할 수 있다. The computer system 200 includes at least one of a processor 210 , a memory 220 , a user interface input device 240 , a user interface output device 250 , and a storage device 230 communicating via a bus 260 . may include

프로세서(210)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(220) 또는 저장 장치(230)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 프로세서(210)는 상기 도 1 내지 도 5에서 설명한 기능들 및 방법을 구현하도록 구성될 수 있다. The processor 210 may be a central processing unit (CPU) or a semiconductor device that executes instructions stored in the memory 220 or the storage device 230 . The processor 210 may be configured to implement the functions and methods described with reference to FIGS. 1 to 5 .

메모리(220) 및 저장 장치(230)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(220)는 ROM(read only memory)(221) 및 RAM(random access memory)(222)를 포함할 수 있다. 본 발명의 실시예에서 메모리(220)는 프로세서(210)의 내부 또는 외부에 위치할 수 있고, 메모리(220)는 이미 알려진 다양한 수단을 통해 프로세서(210)와 연결될 수 있다.The memory 220 and the storage device 230 may include various types of volatile or nonvolatile storage media. For example, the memory 220 may include a read only memory (ROM) 221 and a random access memory (RAM) 222 . In an embodiment of the present invention, the memory 220 may be located inside or outside the processor 210 , and the memory 220 may be connected to the processor 210 through various known means.

본 발명에 따르면 전문가에 의해 서비스 온톨로지가 작성되는 기존의 대화 시스템과 달리, 대화 시스템에서 획득한 데이터를 이용하여 곧바로 서비스 온톨로지로 생성함으로써 보다 신속하고 정확한 대화 서비스를 제공할 수 있다.According to the present invention, unlike the existing dialog system in which a service ontology is created by an expert, it is possible to provide a faster and more accurate dialog service by using data obtained from the dialog system to directly create a service ontology.

또한 본 발명에 따르면 대화에 내재된 지식을 빠르게 온톨로지로 변환하므로, 대화가 진행될수록 사용자에게 개선된 서비스를 제공할 수 있다.In addition, according to the present invention, since knowledge inherent in a conversation is quickly converted into an ontology, an improved service can be provided to the user as the conversation progresses.

또한 본 발명에 따르면 사용자 프로파일을 이용하여, 각 사용자와의 대화로부터 추출한 지식을 온톨로지로 생성하여 개인화 된 서비스를 제공할 수 있다.In addition, according to the present invention, by using a user profile, knowledge extracted from conversations with each user can be created as an ontology to provide a personalized service.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through the apparatus and method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto. is within the scope of the right.

Claims (1)

대화를 입력 받는 단계,
상기 대화가 발생한 시간, 장소, 경우 중 적어도 하나를 포함하는 대화 상황을 파악하는 단계,
상기 대화 상황에 해당하는 상위 지식을 결정하고, 상기 상위 지식을 이용하여 상위 지식 온톨로지를 구성하는 단계, 그리고
상기 대화 상황에 해당하는 하위 지식 온톨로지를 검색하고, 상기 상위 지식 온톨로지에 상기 하위 지식 온톨로지를 연결하는 단계
를 포함하는, 온톨로지 생성 방법.
receiving input from the conversation;
Recognizing a conversation situation including at least one of a time, a place, and a case in which the conversation occurred;
determining a higher level knowledge corresponding to the dialogue situation, and constructing a higher level knowledge ontology using the higher level knowledge; and
retrieving a lower-level knowledge ontology corresponding to the dialogue situation, and linking the lower-level knowledge ontology to the upper-level knowledge ontology.
Including, an ontology creation method.
KR1020200107988A 2020-08-26 2020-08-26 Method and apparatus for generating ontology based on dialog KR20220026890A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200107988A KR20220026890A (en) 2020-08-26 2020-08-26 Method and apparatus for generating ontology based on dialog

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200107988A KR20220026890A (en) 2020-08-26 2020-08-26 Method and apparatus for generating ontology based on dialog

Publications (1)

Publication Number Publication Date
KR20220026890A true KR20220026890A (en) 2022-03-07

Family

ID=80817773

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200107988A KR20220026890A (en) 2020-08-26 2020-08-26 Method and apparatus for generating ontology based on dialog

Country Status (1)

Country Link
KR (1) KR20220026890A (en)

Similar Documents

Publication Publication Date Title
US11003863B2 (en) Interactive dialog training and communication system using artificial intelligence
KR102656620B1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2019046463A1 (en) System and method for defining dialog intents and building zero-shot intent recognition models
CN109710737B (en) Intelligent reasoning method based on structured query
JP6939384B2 (en) Data processing equipment, methods and programs
CN111434118B (en) Apparatus and method for generating user interest information
US10614377B2 (en) Method and system for using existing models in connection with new model development
JP2020166839A (en) Sentence recommendation method and apparatus based on associated points of interest
KR20200062521A (en) Apparatus and method for answering question based on conceptual graph
CN110795913A (en) Text encoding method and device, storage medium and terminal
KR20180106817A (en) Electronic device and controlling method thereof
KR102204491B1 (en) Continuous conversation method and system by using automating conversation scenario network
CN115497465A (en) Voice interaction method and device, electronic equipment and storage medium
CN112632252A (en) Dialogue response method, dialogue response device, computer equipment and storage medium
CN115186080A (en) Intelligent question-answering data processing method, system, computer equipment and medium
CN113204643B (en) Entity alignment method, device, equipment and medium
Rieser et al. Using machine learning to explore human multimodal clarification strategies
US20220075953A1 (en) Utilizing machine learning models and in-domain and out-of-domain data distribution to predict a causality relationship between events expressed in natural language text
US20230350929A1 (en) Method and system for generating intent responses through virtual agents
CN112927692A (en) Automatic language interaction method, device, equipment and medium
CN115357720B (en) BERT-based multitasking news classification method and device
KR20220026890A (en) Method and apparatus for generating ontology based on dialog
US20230081891A1 (en) System and method of managing knowledge for knowledge graphs
CN116974554A (en) Code data processing method, apparatus, computer device and storage medium
KR20200011251A (en) Method and apparatus for generating rules for conversation recognition and reasoning based on the rules