Nothing Special   »   [go: up one dir, main page]

KR102117287B1 - Method and apparatus of dialog scenario database constructing for dialog system - Google Patents

Method and apparatus of dialog scenario database constructing for dialog system Download PDF

Info

Publication number
KR102117287B1
KR102117287B1 KR1020170168352A KR20170168352A KR102117287B1 KR 102117287 B1 KR102117287 B1 KR 102117287B1 KR 1020170168352 A KR1020170168352 A KR 1020170168352A KR 20170168352 A KR20170168352 A KR 20170168352A KR 102117287 B1 KR102117287 B1 KR 102117287B1
Authority
KR
South Korea
Prior art keywords
dialogue
conversation
sentence
scenario
intention pattern
Prior art date
Application number
KR1020170168352A
Other languages
Korean (ko)
Other versions
KR20180116104A (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 얄리주식회사
Publication of KR20180116104A publication Critical patent/KR20180116104A/en
Application granted granted Critical
Publication of KR102117287B1 publication Critical patent/KR102117287B1/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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 본 발명은 대화 시나리오 데이터베이스 구축에 관한 것으로서, 보다 상세하게는 대화 시나리오를 SNS, 라디오, 방송에서 자동으로 검색, 수집, 정제, 학습하여 자동으로 대화 영역을 확장하거나 대화 품질을 개선시키고자 하는 온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법에 관한 것이다.
이와 같은 목적을 달성하기 위한 본 발명의 특징은 온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법으로서, (a) 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 문장을 추출하는 단계; (b) 상기 단계 (a)에서 추출된 문장으로부터 게시글, 댓글의 대화 전개에 따라 아이디 또는 이름별로 대화 문장을 트리 형태로 표현하는 단계; (c) 상기 단계 (b)의 각 트리에서 대화 시나리오를 추출하는 단계;(d) 상기 단계 (c)에서 생성된 대화 시나리오의 각 문장을 의미벡터로 표현하는 단계; (e) 상기 단계 (d)에서 생성된 대화 시나리오의 각 문장을 의도패턴으로 표현하는 단계; (f) 상기 대화 시나리오를 의도패턴과 의미벡터로 데이터베이스화 시키는 단계; 및 (g) 상기 단계 (e)에서 기존 의도패턴이 없는 문장을 새로운 의도패턴을 만드는 단계를 포함한다.
The present invention relates to the construction of a dialogue scenario database, and more specifically, it is to automatically search, collect, refine, and learn dialogue scenarios on SNS, radio, and broadcasting to automatically expand a dialogue area or improve dialogue quality. It relates to a method of constructing a dialogue scenario database for a dialogue system applied to an ontology dialogue network.
A feature of the present invention for achieving the above object is a method for constructing a dialogue scenario database for a dialogue system applied to an ontology dialogue network, (a) a sentence by voice or ID from a dialogue-type voice file or dialogue-type post, comment Extracting; (b) expressing the dialogue sentence in the form of a tree by ID or name according to the conversation development of the post or comment from the sentence extracted in step (a); (c) extracting a dialogue scenario from each tree of step (b); (d) expressing each sentence of the dialogue scenario generated in step (c) as a semantic vector; (e) expressing each sentence of the dialogue scenario generated in step (d) as an intention pattern; (f) database of the dialogue scenario into an intention pattern and a semantic vector; And (g) creating a new intention pattern from the sentence without the existing intention pattern in step (e).

Description

대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법 및 장치{Method and apparatus of dialog scenario database constructing for dialog system}Method and apparatus of dialog scenario database constructing for dialog system

본 발명은 대화 시나리오 데이터베이스 구축에 관한 것으로서, 보다 상세하게는 대화 시나리오를 SNS, 라디오, 방송에서 자동으로 검색, 수집, 정제, 학습하여 자동으로 대화 영역을 확장하거나 대화 품질을 개선시키고자 하는 온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법에 관한 것이다. The present invention relates to the construction of a dialogue scenario database, and more specifically, an ontology dialogue for automatically expanding, conversing, or improving dialogue quality by automatically searching, collecting, refining, and learning dialogue scenarios on SNS, radio, and broadcasting. It is related to a method of constructing a dialogue scenario database for a dialogue system applied to a network.

인간은 인간 이외의 대상과 자연스럽게 대화를 주고받는 오랜 꿈을 가지고 왔다. 현재 인공지능(AI)과 빅데이터가 몰고 온 제4차 산업혁명이 진행되고 있으며, 인공지능의 핵심은 인간과 사물과의 자연스러운 대화 커뮤니케이션이다.Humans have had a long dream of naturally communicating with non-human subjects. Currently, the fourth industrial revolution that AI and big data have driven is underway, and the core of artificial intelligence is natural conversation communication between humans and objects.

그러나 현재까지 대화 시나리오는 사람이 직접 시나리오를 정제해서 구축하므로, 많은 비용과 시간, 인력이 소요되었다. 이렇게 사람이 직접 시나리오를 수집하고 정제해서 구축하므로 상대적으로 많은 시간이 필요로 하게 되며, 이로써 과거의 대화를 할 수 밖에 없어 현재 발생하고 있는 사건이나 사고, 각종 트랜드나 이슈에 대한 즉각적인 대화가 가능하지 못하였다. However, to date, since the dialogue scenario is constructed by human beings, it is expensive, time and labor. As a person collects and refines and builds the scenario in person, it takes a relatively long time, and as a result, it is necessary to have a conversation in the past, so it is not possible to have an immediate conversation about events, accidents, and various trends or issues. Did not.

즉 제한된 영역에서 제한된 대화만 구사하게 되므로 대화 영역을 확장하거나 대화품질을 개선하지 못하는 한계가 있었다. In other words, since only limited conversation is spoken in a limited area, there is a limitation that the conversation area cannot be expanded or the conversation quality can be improved.

KR 10-0444568KR 10-0444568 KR 0326931KR 0326931 KR 10-2012-0146174KR 10-2012-0146174

본 발명은 이와 같은 문제점을 해결하기 위하여 창안된 것으로서, 대화 시나리오를 SNS, 라디오, 방송에서 자동으로 검색, 수집, 정제, 학습하여 자동으로 대화 영역을 확장하거나 대화 품질을 개선시키고자 하는 온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법을 제공하는데 목적이 있다. The present invention was devised to solve this problem, and ontology dialogue network that automatically searches, collects, refines, and learns conversation scenarios on SNS, radio, and broadcasting to automatically expand the conversation area or improve conversation quality. An object of the present invention is to provide a method for constructing a dialogue scenario database for a dialogue system applied to the system.

이와 같은 목적을 달성하기 위한 본 발명에 따른 특징은 온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법으로서, (a) 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 문장을 추출하는 단계; (b) 상기 단계 (a)에서 추출된 문장으로부터 게시글, 댓글의 대화 전개에 따라 아이디 또는 이름별로 대화 문장을 트리 형태로 표현하는 단계; (c) 상기 단계 (b)의 각 트리에서 대화 시나리오를 추출하는 단계; (d) 상기 단계 (c)에서 생성된 대화 시나리오의 각 문장을 의미벡터로 표현하는 단계; (e) 상기 단계 (d)에서 생성된 대화 시나리오의 각 문장을 의도패턴으로 표현하는 단계; (f) 상기 대화 시나리오를 의도패턴과 의미벡터로 데이터베이스화 시키는 단계; (g) 상기 단계 (e)에서 기존 의도패턴이 없는 문장을 새로운 의도패턴을 만드는 단계; 및 (h) 사용자와의 연속대화 중 분석된 대화문장에 대하여, 해당 대화문장을 대표하는 의도패턴이 상기 대화문장과 매칭되어 있지 않은 경우, (h1) 해당 대화문장의 의미벡터를 도출하는 단계; (h2) 상기 의미벡터로부터, 상기 대화문장에 해당하는 의도패턴을 분류하는 단계; 및 (h3) 상기 대화문장에 해당하는 의도패턴이 분류된 경우, 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하는 단계를 포함한다. The feature according to the present invention for achieving the above object is a method for constructing a dialogue scenario database for a dialogue system applied to an ontology dialogue relational network, (a) by voice or dialogue type post or comment by ID or name Extracting a sentence; (b) expressing the dialogue sentence in the form of a tree by ID or name according to the conversation development of the post or comment from the sentence extracted in step (a); (c) extracting a dialogue scenario from each tree in step (b); (d) expressing each sentence of the dialogue scenario generated in step (c) as a semantic vector; (e) expressing each sentence of the dialogue scenario generated in step (d) as an intention pattern; (f) database of the dialogue scenario into an intention pattern and a semantic vector; (g) creating a new intention pattern in the sentence without the existing intention pattern in step (e); And (h) when the intention pattern representing the corresponding conversation sentence is not matched with the conversation sentence with respect to the analyzed conversation sentence during the continuous conversation with the user, (h1) deriving a semantic vector of the conversation sentence; (h2) classifying the intention pattern corresponding to the dialogue sentence from the semantic vector; And (h3) when the intention pattern corresponding to the conversation sentence is classified, the intention pattern is determined as the intention pattern of the conversation sentence, matched to the conversation sentence, and stored in the ontology conversation network network database, and corresponding to the conversation sentence. When the intention pattern is not classified, the intention pattern mapped to the node closest to the node pointed to by the semantic vector is identified from the ontology dialogue network network database, and the determined intention pattern is determined as the intention pattern of the dialogue sentence, and the conversation is performed. And matching the sentence and storing it in the ontology conversation network database.

바람직하게는 상기 단계 (e) 이후, 상기 온톨로지 다차원 공간상에 상기 데이터베이스화 시킨 연속적의 의미벡터를 의미단어 또는 의미노드로 표시하는 단계를 더 포함한다. Preferably, after the step (e), further comprising the step of displaying the semantic vector of the database in the ontology multidimensional space as a semantic word or semantic node.

바람직하게는 상기 단계 (a)의 대화 형식의 음성 파일은 음성인식을 통하여 텍스트로 변경한 후 추출되는 것이다. Preferably, the speech file of the conversational form of step (a) is extracted after changing to text through speech recognition.

바람직하게는 상기 단계 (a)의 대화 형식의 게시글로부터의 추출은, 특정 단어(word)를 검색어로 지정하며, 이 지정된 검색어로 검색된 게시글 및 댓글을 데이터 파싱하여 추출하는 것이다. Preferably, the extraction from the conversational post of step (a) is to designate a specific word as a search term, and to parse and extract posts and comments searched for by the specified search term.

바람직하게는 상기 단계 (a)에서 추출된 문장은 의미벡터로 자동 변환되는 것이다. Preferably, the sentence extracted in step (a) is automatically converted into a semantic vector.

이와 같은 목적을 달성하기 위한 본 발명의 다른 특징은 대화 시나리오를 추출하는 대화 시나리오 추출부; 상기 대화 시나리오 추출부에 의하여 생성된 대화 시나리오의 각 문장을 학습하는 대화 시나리오 학습부; 상기 대화 시나리오 학습부에 의해서 생성된 의미벡터를 이용하여 대화 시나리오 각 문장의 의도패턴을 분류하는 대화 시나리오 의도패턴 분류부; 상기 대화 시나리오 의도패턴 분류부에 의해서 분류되지 않은 의도패턴에 대해서 새로운 의도패턴을 만드는 의도패턴 생성부; 상기 대화 시나리오 의도패턴과 의미벡터를 저장하는 대화 시나리오 데이터베이스; 및 상기 대화 시나리오 데이터베이스에 저장된 상기 대화 시나리오의 연속적인 의미벡터와 의도패턴을 온톨로지 다차원 공간상에 표시하는 온톨로지 관계 매핑부를 를 포함하고, 상기 의도패턴 분류부가 사용자와의 연속대화 중 분석된 대화문장에 대하여, 해당 대화문장을 대표하는 의도패턴이 상기 대화문장과 매칭되지 않음으로 분류하면, 상기 의도패턴 생성부는 해당 대화문장의 의미벡터를 도출하고, 상기 의미벡터로부터, 상기 대화문장에 해당하는 의도패턴을 분류하며, 상기 대화문장에 해당하는 의도패턴이 분류된 경우, 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하는 것이다. Another feature of the present invention for achieving the above object is a dialogue scenario extraction unit for extracting a dialogue scenario; A conversation scenario learning unit for learning each sentence of the conversation scenario generated by the conversation scenario extraction unit; A conversation scenario intention pattern classification unit that classifies an intention pattern of each sentence of the conversation scenario using the semantic vector generated by the conversation scenario learning unit; An intention pattern generation unit that creates a new intention pattern for an intention pattern not classified by the dialogue scenario intention pattern classification unit; A dialogue scenario database storing the dialogue scenario intention pattern and the semantic vector; And an ontology relationship mapping unit displaying a continuous semantic vector and an intention pattern of the conversation scenario stored in the conversation scenario database on an ontology multidimensional space, and the intention pattern classification unit is provided to the analyzed dialogue sentence during the continuous conversation with the user. In contrast, if the intention pattern representing the corresponding conversation sentence is classified as not matching the conversation sentence, the intention pattern generation unit derives a meaning vector of the corresponding conversation sentence, and from the meaning vector, the intention pattern corresponding to the conversation sentence When the intention pattern corresponding to the conversation sentence is classified, the intention pattern is determined as the intention pattern of the conversation sentence, matched to the conversation sentence, and stored in the ontology conversation network network database, and corresponds to the conversation sentence. When the intention pattern is not classified, the intention pattern mapped to the node closest to the node pointed to by the semantic vector is identified from the ontology dialogue network network database, and the determined intention pattern is determined as the intention pattern of the dialogue sentence, and the conversation is performed. It matches the sentence and stores it in the ontology dialogue network.

본 발명에 의하면, 대화 시나리오 수집, 정제, 구축을 자동화하므로 대화 시나리오 구축비용을 절감할 수 있는 효과가 있다. According to the present invention, it is possible to reduce the cost of establishing a dialogue scenario by automating the collection, refinement, and construction of a dialogue scenario.

또한 사람이 직접 시나리오를 수집하면, 정제해서 구축하는데 많은 시간이 필요하므로 과거의 대화를 하게 되지만, 대화 시나리오를 자동으로 수집해서 대화에 반영하기 때문에 현재 발생하고 있는 사건이나 사고, 각종 트랜드나 이슈에 대한 즉각적인 대화가 가능해서 대화 품질을 높이는 효과가 있다.In addition, if a person collects a scenario by himself, it takes a lot of time to refine and build it, so he will have a conversation in the past. It has the effect of improving the quality of conversation because it enables instant conversation.

또한 다양한 주제에 대해서 끊임없이 대화 시나리오를 수집하기 때문에 다양한 관점이 반영된 주제에 대한 대화가 가능한 효과가 있다.In addition, since the dialogue scenarios are continuously collected on various topics, it is possible to have a dialogue on topics that reflect various viewpoints.

도 1은 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법을 설명하기 위한 순서도.
도 2는 본 발명에 따른 대화 시스템을 위한 대화 시나리오의 데이터베이스 구축 장치를 개략적으로 도시한 도면.
도 3은 도 2에 따른 대화 시스템을 위한 대화 시나리오의 데이터베이스 구축 장치를 세부적으로 도시한 도면.
도 4 내지 도 5는 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 중 문장 추출의 일예를 나타낸 화면.
도 6은 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스의 구축 중 문장 분석의 일예를 나타낸 화면.
도 7은 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 중 대화 시나리오 학습의 일예를 나타낸 화면.
도 8는 본 발명에 따라 구축된 대화 시스템을 위한 대화 시나리오 데이터베이스가 온톨로지 대화 관계망에 표시된 일예를 나타낸 도면.
도 9는 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 표현된 일예.
도 10은 본 발명에 따른 대화 시나리오 데이터페이스에 저장된 대화 시나리오가 3차원 저작도구로 표현된 화면.
도 11는 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 저작도구로 표현된 시나리오 입력 화면의 일예.
도 12은 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 저작도구로 표현된 시나리오 수정 화면의 일예.
도 13는 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 저작도구로 표현된 시나리오 삭제 화면의 일예.
도 14는 본 발명에 따른 대화 시나리오 자동 수집 및 온톨로지 대화 관계망을 이용한 연속 대화가 이루어지는 시퀀스를 블럭 다이어그램으로 도시한 도면.
도 15는 본 발명에 따른 대화 시나리오 자동 수집 및 온톨로지 대화 관계망을 이용한 연속 대화가 이루어지는 시퀀스를 순서도로써 도시한 도면.
도 16은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화 중, 신규 대화문장이 입력되었을 경우, 온톨로지 대화 관계망으로 매핑하는 방법을 수행하는 순서도.
도 17은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화를 이용하여 대화 품질 개선을 구현하기 위한 시퀀스를 블럭 다이어그램으로 도시한 도면.
도 18은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화 시스템의 구성을 나타내는 도면.
도 19는 본 발명에 따른 온톨로지 대화 관계망 구조의 일 실시예를 도시한 도면.
도 20은 본 발명에 따른 온톨로지 대화 관계망에서 일반대화 분류 구조의 일 실시예를 도시한 도면.
도 21은 본 발명에 따른 온톨로지 대화 관계망에서 전문대화 분류 구조의 일 실시예를 도시한 도면.
도 22는 본 발명에 따른 온톨로지 대화 관계망에서 전문대화 중 병원 콜센터에서 상담원과 주고받는 대화 분류 구조의 일 실시예를 도시한 도면.
도 23은 본 발명에 따른 온톨로지 대화 관계망에서 일상대화와 감성대화 및 전문대화가 연결되는 분류 구조의 일 실시예를 도시한 도면.
1 is a flowchart for explaining a method for constructing a dialogue scenario database for a dialogue system according to the present invention.
FIG. 2 schematically shows a database construction apparatus of a dialogue scenario for a dialogue system according to the present invention.
FIG. 3 is a detailed diagram of a database construction apparatus of a dialogue scenario for the dialogue system according to FIG. 2;
4 to 5 are screens showing an example of sentence extraction during the construction of a dialogue scenario database for a dialogue system according to the present invention.
6 is a screen showing an example of sentence analysis during the construction of a dialogue scenario database for a dialogue system according to the present invention.
7 is a screen showing an example of learning a conversation scenario while building a conversation scenario database for a conversation system according to the present invention.
8 is a diagram illustrating an example in which a dialogue scenario database for a dialogue system constructed according to the present invention is displayed in an ontology dialogue relationship network.
9 is an example of a conversation scenario stored in a conversation scenario database according to the present invention.
10 is a screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D authoring tool.
11 is an example of a scenario input screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D authoring tool.
12 is an example of a scenario modification screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D authoring tool.
13 is an example of a scenario deletion screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D authoring tool.
14 is a block diagram illustrating a sequence of automatic conversation scenario collection according to the present invention and a continuous conversation using an ontology conversation network.
15 is a flow chart illustrating a sequence in which a conversation is automatically performed using a dialogue scenario automatic collection and an ontology dialogue network according to the present invention.
16 is a flowchart illustrating a method of mapping a ontology dialogue network when a new dialogue text is input during continuous conversation using the ontology dialogue network according to the present invention.
17 is a block diagram illustrating a sequence for implementing dialogue quality improvement using continuous dialogue using an ontology dialogue network according to the present invention.
18 is a diagram showing the configuration of a continuous dialogue system using an ontology dialogue relationship network according to the present invention.
19 is a diagram illustrating an embodiment of an ontology dialogue network structure according to the present invention.
20 is a diagram illustrating an embodiment of a general conversation classification structure in an ontology dialogue network according to the present invention.
21 is a diagram showing an embodiment of a specialized conversation classification structure in an ontology dialogue network according to the present invention.
22 is a diagram illustrating an embodiment of a conversation classification structure exchanged with an agent in a hospital call center during a specialized conversation in an ontology conversation network according to the present invention.
23 is a diagram illustrating an embodiment of a classification structure in which daily conversation, emotional conversation, and professional conversation are connected in an ontology dialogue network according to the present invention.

이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, the terms or words used in the present specification and claims should not be construed as being limited to ordinary or lexical meanings, and the inventor appropriately explains the concept of terms in order to explain his or her invention in the best way. Based on the principle that it can be defined, it should be interpreted as meanings and concepts consistent with the technical spirit of the present invention. Therefore, the configuration shown in the embodiments and drawings described in this specification is only one of the most preferred embodiments of the present invention and does not represent all of the technical spirit of the present invention, and thus can replace them at the time of application. It should be understood that there may be equivalents and variations.

도 1은 본 발명에 다른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법을 설명하기 위한 순서도이다. 1 is a flowchart illustrating a method for constructing a dialogue scenario database for a dialogue system according to the present invention.

도 1에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법은, 먼저 문장을 추출한다(S110). 문장의 추출은 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 문장을 추출한다. The method for constructing a dialogue scenario database for the dialogue system according to FIG. 1 first extracts a sentence (S110). Extraction of sentences extracts sentences by ID or name from conversational voice files or conversational posts and comments.

단계 (S110)에서 문장이 추출되면, 추출된 문장으로부터 게시글, 댓글의 대화 전개에 따라 아이디 또는 이름별로 대화 문장을 트리 형태로 표현한다(S120).When a sentence is extracted in step S110, a dialogue sentence is displayed in a tree form by ID or name according to the conversation development of a post or a comment from the extracted sentence (S120).

그리고 단계 (S120)에서 표현된 각 트리에서 대화 시나리오를 추출하고(S130), 생성된 대화 시나리오의 각 문장을 의미벡터로 표현한다(S140).Then, a dialogue scenario is extracted from each tree expressed in step S120 (S130), and each sentence of the generated dialogue scenario is expressed as a semantic vector (S140).

이어서, 생성된 대화 시나리오의 각 문장을 의도패턴으로 표현하고(S150), 상기 대화 시나리오를 의도패턴과 의미벡터로 데이터베이스화 시킨다(S160).Subsequently, each sentence of the generated dialogue scenario is expressed as an intention pattern (S150), and the dialogue scenario is databased with an intention pattern and a semantic vector (S160).

여기서, 기존 의도패턴이 없는 문장은 새로운 의도패턴을 만든다(S170)Here, a sentence without an existing intention pattern creates a new intention pattern (S170).

이렇게 데이터베이스화 된 시나리오의 연속적의 의미벡터과 의미벡터를 온톨로지 다차원 공간상에 연속적으로 표시한다(S160). The semantic vector and semantic vector of the databased scenario are continuously displayed on the ontology multidimensional space (S160).

도 1에 따른 본 발명의 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법을 도 2 내지 도 3의 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 장치를 통하여 설명하면 다음과 같다. The method for constructing a dialogue scenario database for the dialogue system of the present invention according to FIG. 1 will be described through the apparatus for constructing a dialogue scenario database for the dialogue systems of FIGS. 2 to 3 as follows.

도 2는 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 장치를 개략적으로 도시한 도면이며, 도 3은 도 2에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 장치를 세부적으로 도시한 도면이다. 2 is a diagram schematically showing an apparatus for constructing a dialogue scenario database for a dialogue system according to the present invention, and FIG. 3 is a diagram illustrating a detailed apparatus for constructing a dialogue scenario database for a dialogue system according to FIG. 2.

도 2 내지 도 3에 도시된 바와 같이, 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 장치(100)는 문장을 추출하는 문장추출부(110)와, 문장추출부(110)에 의하여 추출된 문장으로부터 대화 시나리오를 추출하는 시나리오추출부(120)와, 시나리오추출부(120)에 의하여 추출된 각 문장에서 의미벡터를 추출하는 의미벡터추출부(130)와, 의미벡터추출부(130)에 의하여 각 문장의 의도를 분류하는 의도패턴분류부 (140)와, 의도패턴분류부(140)에서 분류하지 못한 의도패턴을 생성하는 의도패턴생성부(150), 대화 시나리오를 의도패턴과 의미벡터로 저장하는 대화 시나리오 데이터베이스(160)와, 대화 시나리오 데이터베이스(160)에 저장된 대화 시나리오의 연속적인 의도패턴, 의미벡터를 온톨로지 다차원 공간상에 표시하는 온톨로지 관계 매핑부(170)을 포함한다. 2 to 3, the dialogue scenario database construction apparatus 100 for a dialogue system according to the present invention is extracted by the sentence extraction unit 110 and the sentence extraction unit 110 for extracting sentences The scenario extracting unit 120 for extracting a dialogue scenario from a sentence, the semantic vector extracting unit 130 for extracting a semantic vector from each sentence extracted by the scenario extracting unit 120, and the semantic vector extracting unit 130 The intention pattern classification unit 140 that classifies the intention of each sentence, the intention pattern generation unit 150 that generates an intention pattern not classified by the intention pattern classification unit 140, and a dialogue scenario as an intention pattern and a semantic vector. It includes a dialogue scenario database 160 to store, and an ontology relation mapping unit 170 that displays continuous intention patterns and semantic vectors of dialogue scenarios stored in the dialogue scenario database 160 on an ontology multidimensional space.

문장추출부(110)와, 문장추출부(110)에 의하여 추출된 문장으로부터 대화 시나리오를 추출하는 시나리오추출부(120)와, 시나리오추출부(120)에 의하여 추출된 각 문장에서 의미벡터를 추출하는 의미벡터추출부(130)와, 의미벡터추출부(130)에 의하여 각 문장의 의도를 분류하는 의도패턴분류부 (140)와, 의도패턴분류부(140)에서 분류하지 못한 의도패턴을 생성하는 의도패턴생성부(150), 대화 시나리오를 의도패턴과 의미벡터로 저장하는 대화 시나리오 데이터베이스(160)와, 대화 시나리오 데이터베이스(160)에 저장된 대화 시나리오의 연속적인 의도패턴, 의미벡터를 온톨로지 다차원 공간상에 표시하는 온톨로지 관계 매핑부(170)을 포함한다. A semantic vector is extracted from each sentence extracted by the sentence extraction unit 110, the scenario extraction unit 120 for extracting a dialogue scenario from the sentences extracted by the sentence extraction unit 110, and the scenario extraction unit 120 The semantic vector extracting unit 130 and the intention pattern classifying unit 140 that classify the intention of each sentence by the semantic vector extracting unit 130 and the intention pattern not classified by the intention pattern classifying unit 140 are generated. The intention pattern generating unit 150, the dialogue scenario database 160 storing the dialogue scenario as the intention pattern and the semantic vector, and the continuous intention pattern and the semantic vector of the dialogue scenario stored in the dialogue scenario database 160 are ontology multidimensional space And an ontology relation mapping unit 170 displayed on the image.

문장추출부(110))은 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 문장을 추출하는데, 이 문장추출부(110)은 대화 형식의 음성 파일을 추출하는 음성 파일 추출모듈(111)과, 대화 형식의 게시글, 댓글로부터 문장을 추출하는 게시글 추출모듈(112)을 포함하는데, 도 3에 도시된 바와 같이 콜센터 및 라디오 그리고 TV 방송 등의 대화 형식의 음성 파일은 음성 파일 추출모듈(111)을 통하여 문장이 추출되며, SNS 등에 게시된 대화 형식의 문장은 검색어 생성기(113)에 검색어가 선택되면 게시글 추출모듈(112)에 의하여 아이디 또는 이름별로 게시글, 댓글을 검색하고 게시글, 댓글을 파싱하여 문장을 추출한다. 예를 들면, 콜센터에서 제공되는 기존 음성녹취 파일을 음성 인식 후, 텍스트로부터 문장을 추출하거나, 또한 콜센터에서 고객과 상담원 간의 상담 내용을 실시간으로 음성 인식 후, 텍스트로부터 문장을 추출 할 수도 있다. 한편 SNS는 트위터나 페이스 북 등에서 다양한 주제에 대해서 대화를 나눈 게시글로부터 문장을 추출하는데, 먼저 준비된 검색어로 SNS를 검색하고, 이 검색어(특정 단어)로 검색된 게시글 링크의 각각을 추출한 뒤에, 각 링크의 게시글이 가르키는 최초로 입력된 게시글의 처음부터 그 게시글로부터 시작된 토론에 대한 마지막 게시글(댓글) 까지를 하나의 대화 주제로 생각하여 해당 대화 주제에 대한 게시글(댓글)을 모두 추출한다.The sentence extraction unit 110 extracts a sentence by ID or name from a conversational voice file or a conversational post or comment, and the sentence extraction unit 110 is a voice file extraction module that extracts a conversational voice file Includes (111), a post extraction module 112 for extracting sentences from conversational posts and comments, and as shown in FIG. 3, voice files of conversational type such as call center, radio, and TV broadcasting are extracted as voice files. The sentence is extracted through the module 111, and when the search term is selected in the search term generator 113, the sentence in the conversation form posted on SNS, etc. is searched for by posting or commenting by post or ID by the post extraction module 112, Parse comments to extract sentences. For example, after voice recognition of an existing voice recording file provided in a call center, a sentence may be extracted from the text, or a voice call may be extracted from the text after real-time voice recognition of a consultation between a customer and an agent in the call center. On the other hand, SNS extracts sentences from postings on various topics on Twitter or Facebook, etc. First, it searches for SNS with prepared search terms, extracts each of the post links found with this search term (specific words), and then extracts each link. From the beginning of the first input post pointed to by the post to the last post (comment) for the discussion that started from the post, it is regarded as a conversation topic, and all posts (comments) for the conversation topic are extracted.

시나리오추출부(120)는 문장추출부(110)에 의하여 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 대화 문장을 추출한다. The scenario extraction unit 120 extracts a dialogue sentence by ID or name from a voice file in a conversation format or a post or comment in a conversation format by the sentence extraction unit 110.

예를 들어, 트위터의 경우, 하나의 게시글에는 하나 이상의 댓글이 달릴 수 있으며, 이 댓글에 대해서 또 다른 댓글이 나무의 줄기처럼 하위에 연속적으로 파생해서 달린다. 이렇게 게시글, 댓글의 대화 전개에 따라 트리 모양으로 아이디 또는 이름별로 대화 문장이 연속적으로 표시되며, 하나의 게시글로 시작되는 하나의 트리에서는 댓글 수 만큼, 시나리오가 생기며, 다 다음 댓글 수 만큼 시나리오가 가지를 치면서 많아진다. For example, in the case of Twitter, more than one comment can be attached to one post, and another comment is continuously derived from the bottom like a tree trunk. In this way, depending on the development of the dialogue of posts and comments, dialogue sentences are displayed consecutively by ID or name in a tree shape, and in one tree starting with one post, there are as many scenarios as there are comments, and there are scenarios as many as the next number of comments. It increases as you hit.

즉, 하나의 게시글에 처음 댓글이 3개 달렸으며, 이중 하나의 댓글에 댓글이 2개 달렸다면 총 대화 시나리오는 4개가 된다.In other words, if there are three comments in one post and two comments in one comment, the total dialogue scenario is four.

의미벡터추출부(130)는 대화 시나리오를 구성하는 각 문장을 의미벡터로 표현한다. 기존에 word2vec, sentence2vec 알고리즘에 의해서 단어 또는 문장을 의미벡터로 표현하는 기술은 공지된 기술이다. 이 기술을 활용하여 대화 시나리오를 구성하는 각 문장을 의미벡터로 표현할 수 있다.The semantic vector extracting unit 130 expresses each sentence constituting the dialogue scenario as a semantic vector. Conventionally, a technique of expressing a word or sentence as a semantic vector by word2vec and sentence2vec algorithms is a known technique. By utilizing this technique, each sentence constituting the dialogue scenario can be expressed as a semantic vector.

의도패턴분류부(140)는 대화 시나리오를 구성하는 각 문장의 의도패턴을 분류한다. 의도 패턴 분류하는 방법은 DNN, CNN, SVM 등 알고리즘을 이용하여 정답으로 분류한 의도패턴을 학습하여, 학습모델을 생성하고, 이 학습 모델에 의해서 새롭게 입력되는 문장에 대해서 의도패턴을 분류할 수 있다.The intention pattern classification unit 140 classifies the intention pattern of each sentence constituting the dialogue scenario. The method of classifying the intention pattern can learn an intention pattern classified as a correct answer using algorithms such as DNN, CNN, and SVM, generate a learning model, and classify the intention pattern for newly input sentences by the learning model. .

의도패턴생성부(150)는 의도패턴분류부(140)에 의해서 분류하지 못한 의도패턴을 새롭게 생성하는 역할을 수행한다. 이때 의도패턴을 분류하지 못한 경우는 특정 의도패턴으로 분류했을 때, 특정 의도패턴으로 분류한 확률값(예: 0.5 이하)이 예상치(예: 0.8)보다 너무 낮을 경우도 포함한다. 이때, 예상치는 학습문장으로 학습한 알고리즘을 테스트문장으로 테스트했을 때, 정답으로 분류한 확률값 평균(0.95)보다 10~20% 정도 낮은 수이다.The intention pattern generation unit 150 serves to newly generate an intention pattern that is not classified by the intention pattern classification unit 140. In this case, when the intention pattern is not classified, the probability value (eg 0.5 or less) classified as the specific intention pattern is too low than the expected value (eg 0.8) when classified as a specific intention pattern. At this time, the predicted value is 10-20% lower than the probability value average (0.95) classified as the correct answer when the algorithm learned by the learning sentence is tested by the test sentence.

의도패턴생성부(150)에서는 하나의 문장으로부터 영역 후보 단어, 동작(엑션) 후보 단어를 추출하고 워드넷 등을 이용하여 상위어, 하위어 정보를 이용해서, 상위어로 구성된 영역단어와 동작단어 조합으로 의도패턴을 생성한다. The intention pattern generating unit 150 extracts a candidate word for a region and a candidate for an action (action) from a single sentence, and uses a wordnet or the like to use a combination of a region word and an operation word composed of the higher word and the lower word information. Create intent patterns.

대화 시나리오 데이터베이스(160)는 대화 시나리오가 의도패턴과 의미벡터로 데이터베이스화 되어있다. 이때 대화 시나리오는 문장단위 질문과 답변으로 구성된 의도패턴과 의미벡터가 연속적으로 저장된다. 문장, 시나리오의 의미벡터는 인간이 직관적으로 파악하는데 도움을 주기 위해서 의도패턴으로도 표현한다.In the dialogue scenario database 160, the dialogue scenario is databased with an intention pattern and a semantic vector. At this time, in the dialogue scenario, intention patterns and semantic vectors composed of sentence-based questions and answers are stored continuously. The semantic vectors of sentences and scenarios are also expressed as intention patterns to help humans intuitively grasp.

온톨로지 관계 매핑부(170)는 앞서 대화 시나리오의 연속적인 의도패턴, 의미벡터가 저장된 대화 시나리오 데이터베이스(160)가 구축되면, 온톨로지 대화 관계망에 이 저장된 연속적인 의도패턴, 의미벡터의 대화 시나리오를 매핑 및 표시하는 기능을 수행한다. 온톨로지 대화 관계망은 300~600개의 벡터로 구성된 다차원공간이지만, 다차원 벡터를 물리적으로 표현할 수 없기 때문에 3차원으로 공간압축해서 표시한다. 온톨로지 대화 관계망은 3차원 공간상의 하나의 점을 노드로 표현하는데, 각 노드는 데이터베이스(160)에 저장된 의도패턴, 의미벡터로부터 나타낼 수 있다. The ontology relation mapping unit 170 maps the dialogue scenarios of the continuous intention patterns and the semantic vectors stored in the ontology dialogue network when the dialogue scenario database 160 storing the continuous intention patterns and the semantic vectors of the dialogue scenario is built. Display function. The ontology dialogue network is a multi-dimensional space composed of 300 to 600 vectors, but because it cannot physically represent a multi-dimensional vector, it is compressed and displayed in three dimensions. The ontology dialogue network represents one point in a three-dimensional space as a node, and each node can be represented from an intention pattern and a semantic vector stored in the database 160.

온톨로지 대화 관계망에는 온톨로지 관계 매핑부(170)을 통하여 대화 시나리오 데이터베이스(160)에 저장된 대화 시나리오의 연속적 의도패턴, 의미벡터를 업로드 할 수 있고, 시나리오 자체를 하나의 의미벡터로 만들어서 업로드 할 수 있으며, 유사 문장, 유사 시나리오를 검색할 때에는 입력한 시나리오와 가장 가까운 시나리오를 의미벡터 공간상에서 거리 계산에 의해서 매핑 할 수 있다. 이때 의미벡터 공간상에 문장, 시나리오를 표현할 수 있지만, 문장, 시나리오는 각각 별개의 의미공간을 가진다. 그리고 문장, 시나리오의 의미공간을 하나의 의미공간에 사상하여 동시에 문장, 시나리오를 공간상에 표현할 수도 있다. 사상하는 방법 중 문장은 단어 벡터의 합이나 곱 등으로 표현하고, 시나리오는 문장벡터의 합이나 곱 등으로 표현하는 방법 등을 이용하며, 문장 시나리오의 의미벡터는 인간이 직관적으로 파악하는데 도움을 주기 위해서 하나 이상의 의도패턴으로 표시된다. The ontology dialogue network can upload a continuous intention pattern and a semantic vector of a dialogue scenario stored in the dialogue scenario database 160 through the ontology relation mapping unit 170, and make the scenario itself as a semantic vector and upload it. When searching for similar sentences and similar scenarios, the scenario closest to the entered scenario can be mapped by means of distance calculation in the semantic vector space. At this time, sentences and scenarios can be expressed on the semantic vector space, but sentences and scenarios each have a separate semantic space. In addition, the meaning space of sentences and scenarios can be mapped to one meaning space, and at the same time, sentences and scenarios can be expressed in space. Among thought methods, sentences are expressed as sums or products of word vectors, scenarios are expressed as sums or products of sentence vectors, etc., meaning vectors of sentence scenarios help humans to intuitively grasp For this, it is indicated by one or more intention patterns.

한편, 대화 시나리오 데이터베이스(160)에 저장된 대화 시나리오는 온톨로지 관계 매핑부(170)를 통하여 온톨로지 대화 관계망에서 관리자가 대화 시나리오를 직접 입력할 수 있으며, 시나리오를 구성하는 문장의 관계를 다음의 [실시예 1]과 같이 의미패턴의 연속성(sequence)으로 표시한다. On the other hand, the conversation scenario stored in the conversation scenario database 160 can be directly entered by the administrator in the ontology conversation relationship network through the ontology relationship mapping unit 170, and the relationship between sentences constituting the scenario is described in the following [Example] 1] as the sequence of the semantic pattern.

[실시예 1][Example 1]

시나리오1 = (질문1) - (답변1) - (질문2) - (답변2) .... (질문N) - (답변N)Scenario 1 = (question 1)-(answer 1)-(question 2)-(answer 2) .... (question N)-(answer N)

시나리오1 = (어디서 봤더라?) - (제 이름이 궁금하세요?) - (아니 너를 봤던 장소 말이야) - (우리가 마지막 만났던 장소 말이죠?) .... (그래) - (아마도, 제 생각에는 우리가 지난 얄리 주체 세미나에서 마지막으로 봤던 것 같아요.)Scenario 1 = (Where did you see it?)-(You wondered my name?)-(No where I saw you)-(Where did we last meet?) .... (Yeah)-(Perhaps, I think I think we saw it last at the last Yali host seminar.)

시나리오1 = (이름+모호) - (이름+확인) - (장소+모호) - (장소+확인) .... (별명+승낙) - (별명+답변)Scenario 1 = (name + ambiguity)-(name + confirmation)-(place + ambiguity)-(place + confirmation) .... (alias + accept)-(alias + answer)

여기서 의도패턴 "이름모호"는 영역단어 "이름"과 동작단어 "모호"가 결합된 것이며, "어디서 봤더라?"와 같은 문장을 대표하는 의도패턴이다. Here, the intention pattern "name ambiguity" is a combination of the domain word "name" and the action word "ambiguity", and is an intention pattern representing a sentence such as "Where have you seen it?".

하나의 의도패턴은 하나 이상의 문장을 의미적으로 표현하며, 같은 뜻을 가진 수많은 문장을 대표하는 대표단어 라고도 할 수 있다.A single intention pattern expresses more than one sentence semantically, and can also be said to be a representative word representing numerous sentences with the same meaning.

그리고, "의미모호", "이름확인" 등의 의미패턴은 "(질문1)", "(답변1)"처럼 하나의 시나리오를 구성하는 각각의 질문, 답변의 연속성을 대표하기도 한다.In addition, semantic patterns such as "meaning ambiguous" and "name verification" also represent the continuity of each question and answer constituting one scenario, such as "(question 1)" and "(answer 1)".

도 4 내지 도 5는 본 발명에 따른 대화 시스템을 위한 대화 시나리오의 데이터베이스 구축 중 문장 추출의 일예를 나타낸 화면이다. 4 to 5 are screens illustrating an example of sentence extraction during database construction of a dialogue scenario for a dialogue system according to the present invention.

도 4에 도시된 바와 같이 문장 추출은 디비피디아(DBpedia)나 워드넷(WordNet)으로부터 단어(Word)를 추출하여, 이 단어를 검색어로 활용하며, 검색어에 의하여 크롤링 방식 등으로 SNS 게시글 및 댓글 데이터를 웹을 통해서 파싱한다. 이는 트위터에서 게시물이 올라오면 리트윗하면서 특정 주제에 대해서 대화를 주고받는 형식과 비슷하게 댓글이 달리므로 가능하다. As illustrated in FIG. 4, the sentence extraction extracts a word from Divpedia or DBNet, uses the word as a search term, and uses SNS post and comment data by crawling, etc. Parse through the web. This is possible because when a post is posted from Twitter, a retweet comment is sent in a similar way to a conversation on a specific topic.

도 5는 처음 게시물을 올린 사용자의 글에 대해서 리트윗하면서 다른 사용자가 계속 댓글을 달게 되며, 이때 대화 전개가 트리형태와 유사하다. 여기서 각각의 트리를 모두 대화 시나리오로 보며 이해를 돕기 위하여 댓글 아이디 별로 대화 시나리오를 표현하면 다음 [실시예 2]와 같다.5, another user continues to comment while retweeting the post of the user who posted the first post, and the development of the conversation is similar to the tree form. Here, if each tree is viewed as a dialogue scenario and the dialogue scenario is expressed by comment ID to help understanding, it is as follows [Example 2].

[실시예 2] [Example 2]

시나리오1 : ffebreze - hatter365 - fffebrezeScenario 1: ffebreze-hatter365-fffebreze

시나리오2 : ffebreze - ffebreze - Teahya - ffebreze - TeahyaScenario 2: ffebreze-ffebreze-Teahya-ffebreze-Teahya

도 6은 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 중 의도패턴 분석의 일예를 나타낸 화면으로, 도시된 바와 같이 게시글을 파싱한 뒤에는 해당 게시글이 대화 시나리오에서 어떤 의도를 내포하는지 머신러닝의 지도 학습에 의하여 대화 의도패턴을 분류한다.FIG. 6 is a screen showing an example of intention pattern analysis during the construction of a dialogue scenario database for a dialogue system according to the present invention, and after parsing a post as illustrated, a map of machine learning what the post implies in a conversation scenario Classify conversation intention patterns by learning.

도 7은 본 발명에 따른 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 중 대화 시나리오 학습의 일예를 나타낸 화면이다. 하나의 주제에 대해서 질문, 답변이 번갈아가면서 나타나지 않고, 질문과 답변이 중복되어서 발생할 수도 있어서(예; 질문1, 답변1, 질문2, 질문2, 답변2, 질문3, 답변3, 답변3, 답변3 등) 이러한 질문, 답변 중에 시나리오에 적합한 질문과 답변을 선별하고, 도 7에 도시된 바와 같이 선별된 대화 시나리오가 하나의 질문과 그 질문에 대한 하나의 답변의 반복 학습을 보여주고 있다. 7 is a screen showing an example of a conversation scenario learning while building a conversation scenario database for a conversation system according to the present invention. Questions and answers do not appear alternately on a single topic, and may occur due to overlapping questions and answers (eg, Question 1, Answer 1, Question 2, Question 2, Answer 2, Question 3, Answer 3, Answer 3, Answer 3, etc.) Among these questions and answers, questions and answers suitable for the scenario are selected, and the screened dialogue scenario as shown in FIG. 7 shows one question and repeated learning of one answer to the question.

도 8는 본 발명에 따라 구축된 대화 시스템을 위한 대화 시나리오 데이터베이스가 온톨로지 대화 관계망에 매핑 된 일예를 나타낸 화면이다. 8 is a screen illustrating an example in which a dialogue scenario database for a dialogue system constructed according to the present invention is mapped to an ontology dialogue relationship network.

시나리오는 문장단위 질문과 답변으로 구성된 의미벡터의 시퀀스로 표시된다. 하나의 시나리오를 구성하는 각각의 질문과 답변은 다차원 의미벡터를 가지고 있으며, 각각 질문과 답변 문장이 하나의 의도패턴으로 자동적으로 각각 매핑된다.Scenarios are represented as sequences of semantic vectors consisting of sentence-based questions and answers. Each question and answer constituting one scenario has a multidimensional semantic vector, and each question and answer sentence is automatically mapped to one intention pattern.

대량의 시나리오가 다차원 의미벡터값으로 입력되면, 이 입력된 의미벡터값과 기존 의도패턴 사이의 벡터 거리를 비교하고, 일정한 값 안에 들어왔을 때, 입력된 의미벡터값에 기존 의도패턴을 부여할 수도 있다.When a large number of scenarios are input as a multidimensional semantic vector value, the vector distance between the inputted semantic vector value and the existing intention pattern is compared, and when it is within a certain value, an existing intention pattern may be assigned to the input semantic vector value. have.

대량의 시나리오가 다차원 의미벡터값 뿐만 아니라, 의도패턴과 대화문장이 동시에 입력되어 들어올 때에는 각각의 의도패턴 공간으로 대화 시나리오(각각의 질문 문장, 답변 문장)를 매핑하면 된다. 이때, 의도패턴은 시나리오의 "대화문장"을 자동으로 분석해서 의도패턴을 추출할 수도 있고, 사람이 직접 "대화문장"에 어울리는 의도패턴을 부착할 수도 있다.When a large number of scenarios is inputted as well as a multidimensional semantic vector value and an intention pattern and a dialogue sentence are entered at the same time, it is necessary to map the dialogue scenario (each question sentence and answer sentence) to each intention pattern space. At this time, the intention pattern can be extracted by automatically analyzing the "conversational sentence" of the scenario, or a person can attach an intentional pattern suitable for the "conversational sentence" directly.

[실시예 3][Example 3]

시나리오1 = [의도패턴][대화문장][의미벡터], [의도패턴][대화문장][의미벡터] ....Scenario 1 = [Intentional Pattern] [Conversational Text] [Meaning Vector], [Intentional Pattern] [Conversational Text] [Meaning Vector] ....

시나리오1 = [이름모호][어디서 본 것 같아요][2.382, 6.108, ...], [이름확인][제이 이름이 궁금하세요?][8.730, 1,383, ....] ....Scenario 1 = [Name Ambiguity] [I think I saw it] [2.382, 6.108, ...], [Name Check] [Are you curious about my name?] [8.730, 1,383, ....] ....

[의도패턴]를 자동으로 분류하는 방법은 자연어처리 방법 중, 규칙기반, 통계기반, 머신러닝 기반으로 분석할 수 있으며, 머신러닝 기반의 경우, 지도학습에 의한 학습모델을 바탕으로 입력된 문장의 의도패턴을 분류하게 된다.The method of automatically classifying [Intention Pattern] can be analyzed based on rule-based, statistical-based, or machine-learning among natural language processing methods. Intention patterns are classified.

도 9은 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 표현된 일예로서, 대화 시나리오는 보통 2turn(질문1-답변1-질문2-답변2 관계) 이상으로 표시되고, 평면적으로 하나의 공간에 표시할 수 있는 시나리오 개수도 제한 적이며, 현재 시나리오와 공간적으로 가까운 시나리오도 알 수 없는 문제가 발생한다. 또한, 시나리오를 입력하거나 수정하더라도, 다른 시나리오와의 의미 공간상의 상관관계를 전혀 알 수 없는 문제점이 있다.9 is an example in which a conversation scenario stored in a conversation scenario database according to the present invention is expressed, and the conversation scenario is usually represented by two turns or more (question 1-answer 1-question 2-answer 2 relationship), and is flat in one space The number of scenarios that can be displayed is also limited, and scenarios that are spatially close to the current scenarios are unknown. In addition, even if a scenario is input or modified, there is a problem in that a correlation in semantic space with other scenarios is not known at all.

대화 시나리오는 의도패턴의 연속적인 나열로써 표시하며, 그림 상단 첫 번째 시나리오처럼, "이름모호", "C이름확인", "C승낙", "KE이름아이유"처럼 중복을 방지하기 위해서 특정 문자와 결합하여 표시할 수도 있다.Dialogue scenarios with specific characters in order to avoid duplication as intended and displayed as a continuous sequence of pattern, illustration, like the first scenario, the top, "the name is ambiguous", "C Check Names", "C yes", "KE name of IU" It can also be displayed in combination.

도 10은 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 시나리오 저작도구로 표현된 화면으로, 도 10과 같이 시나리오는 3차원 공간상에 표시할 수 있다. 시나리오의 각 질문과 답변은 하나의 의도패턴으로 표시된다. 각 시나리오에 소속된 의도패턴 사이의 의미적인 밀접성에 따라 가까운 공간상에 표시되기도 하고 멀리 공간상에 표시되기도 하기 때문에, 시나리오를 구성하는 의도패턴 사이의 의미관계 파악이 훨씬 쉽다. FIG. 10 is a screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D scenario authoring tool. As shown in FIG. 10, a scenario may be displayed on a 3D space. Each question and answer in the scenario is represented by a pattern of intent. Depending on the semantic closeness between the intention patterns belonging to each scenario, it is displayed in the near space or in the far space, so it is much easier to grasp the semantic relationship between the intention patterns constituting the scenario.

도 11는 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 시나리오 저작도구로 표현된 시나리오 입력 화면의 일예로서, 도 11에 도시된 바와 같이 시나리오는 우측 의도패턴을 좌측 여백 공간으로 드래그해서 의도패턴의 시퀀스(예: 주말일정-일정답변-취미질의-취미답변)로 하나의 시나리오를 표현하고, 이렇게 시나리오 입력이 완료되면 3차원 대화 관계망 속에 시나리오가 자동으로 매핑된다. 그리고 우측 의도패턴은 모두 다차원 의미벡터 값을 가지고 있으며, 영역단어를 추출해서 조합(주말+일정)해서 만들거나, 해당 의도패턴을 구성하는 많은 문장의 의미벡터합이나 곱으로 만들 수도 있다. 11 is an example of a scenario input screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D scenario authoring tool. As shown in FIG. 11, the scenario is intended by dragging the right intention pattern to the left margin space A scenario is expressed by a sequence of patterns (eg, weekend schedule-schedule answer-hobby query-hobby answer), and when the scenario input is completed, the scenario is automatically mapped into the 3D conversation network. In addition, the right intention patterns all have multi-dimensional semantic vector values, and can be made by extracting domain words and combining them (weekends + schedules) or by semantic vector sums or products of many sentences constituting the intention patterns.

우측 의도패턴(예:주말일정확인)는 다양한 문장을 대표하며, "주말일정확인"을 함의하는 아래의 [표 1]과 같은 다양한 문장구성을 가진다.The right intention pattern (eg, weekend schedule confirmation) represents various sentences, and has various sentence structures as shown in [Table 1] below, which implies "weekend schedule confirmation".

의도패턴Intention pattern 문장 예Sentence example 주말일정확인Check weekend schedule 주말 일정이 어떻게 되세요?What is your weekend schedule? 주말 일정을 알려주세요.Please tell me the weekend schedule. 주말 일정이 궁금해요.I'm curious about the weekend schedule. 주말 일정을 말해줘요.Tell me about the weekend schedule. 주말 일정이 있나요?Do you have a weekend schedule?

도 12은 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 시나리오 저작도구로 표현된 시나리오 수정 화면의 일예로서, 검색 기능에 의해서 시나리오를 검색할 수 있으며, 검색된 시나리오를 수정하는 기능을 제공한다. 시나리오가 수정되면 3차원 공간상에서 즉시 수정된 시나리오가 반영된다. 12 is an example of a scenario modification screen in which a dialogue scenario stored in a dialogue scenario database according to the present invention is represented by a 3D scenario authoring tool, and a scenario can be searched by a search function, and a function for correcting a searched scenario is provided. . When the scenario is modified, the modified scenario is immediately reflected in the 3D space.

도 13는 본 발명에 따른 대화 시나리오 데이터베이스에 저장된 대화 시나리오가 3차원 시나리오 저작도구로 표현된 시나리오 삭제 화면의 일예로서, 시나리오는 삭제할 수 있으며, 삭제된 시나리오는 3차원 공간상에서도 완전히 삭제되어서 더 이상 볼 수 없게 된다.13 is an example of a scenario deletion screen in which a dialogue scenario stored in the dialogue scenario database according to the present invention is represented by a 3D scenario authoring tool, the scenario can be deleted, and the deleted scenario is completely deleted even in the 3D space, and is no longer visible. It becomes impossible.

도 14는 본 발명에 따른 대화 시나리오 자동 수집 및 온톨로지 대화 관계망을 이용한 연속 대화가 이루어지는 시퀀스를 블럭 다이어그램으로 도시한 도면이고, 도 15는 본 발명에 따른 대화 시나리오 자동 수집 및 온톨로지 대화 관계망을 이용한 연속 대화가 이루어지는 시퀀스를 순서도로써 도시한 도면이다.14 is a block diagram illustrating a sequence of automatic conversation scenario collection according to the present invention and continuous conversation using an ontology conversation network, and FIG. 15 illustrates automatic conversation scenario collection according to the present invention and continuous conversation using an ontology conversation network. It is a diagram showing a sequence made of a flow chart.

앞서 전술한 바와 같이, 온톨로지 대화 관계망은 300~600개의 벡터로 구성된 다차원벡터공간이지만, 다차원 벡터를 물리적으로 표현할 수 없기 때문에 3차원으로 공간압축(PCA 등 공간압축 알고리즘 사용)해서 표시한다. 온톨로지 대화 관계망은 3차원 공간상의 하나의 점을 노드로 표현하는데, 각 노드는 단어 의미벡터, 문장의미벡터, 시나리오 의미벡터를 나타낼 수 있다. '온톨로지 대화 관계망'이라 할 때는 그러한 노드 및, 노드 간의 연결에 의한 시나리오 구성 등의 전체 구조를 표현하며, '온톨로지 대화 관계망 데이터베이스'라 할 때는 그러한 데이터 및 구조 관계를 저장하고 있는 저장부를 표현하나, 이하에서는 큰 의미 구별없이 혼용하여 사용하기로 한다.As described above, the ontology dialogue network is a multidimensional vector space composed of 300 to 600 vectors, but since it cannot physically represent a multidimensional vector, it is represented by spatial compression (using a spatial compression algorithm such as PCA) in three dimensions. The ontology dialogue network represents a point in 3D space as a node, and each node can represent a word meaning vector, a sentence meaning vector, and a scenario meaning vector. When referring to the 'Ontology Dialogue Network', the overall structure of such a node and the scenario composition by connection between nodes is expressed, and when referring to the 'Ontology Dialogue Network', the storage unit that stores such data and structure relations is represented. Hereinafter, it will be used interchangeably without any significant difference.

또한 전술한 바와 같이, 의도패턴은, 유사한 의미의 여러 문장을 대표하는 문구이며, 하나의 단어로 이루어질 수도 있고, 여러 단어의 결합으로 이루어질 수도 있다. 예를 들어, 의도패턴 "이름모호확인"은 영역단어 "이름"과 영역단어 "모호", 동작단어 "확인"이 결합된 문구이며, "이름", "모호", "확인"의 의미벡터가 결합된 새로운 의미벡터이기도 하다. "어디서 봤더라"와 같은 문장을 대표하는 문구임은 앞서 설명한 바와 같다. 즉, 의도패턴 역시 온톨로지 대화 관계망 공간에서 하나의 의미벡터에 의해 나타낼 수 있으며, 하나의 노드를 가진다.In addition, as described above, the intention pattern is a phrase representing several sentences with similar meanings, and may consist of a single word or a combination of several words. For example, the intention pattern "name ambiguity confirmation" is a phrase that combines the region word "name", the region word "ambiguity", and the action word "confirmation". The semantic vectors of "name", "ambiguity", and "confirmation" It is also a combined new semantic vector. It is as described above that it is a phrase that represents a sentence such as "I saw it anywhere." That is, the intention pattern can also be represented by a semantic vector in the ontology dialogue network space and has one node.

시나리오는 3차원의 온톨로지 대화 관계망 공간상에 표시할 수 있으며, 시나리오의 각 질문과 답변은 하나의 의미벡터로 표시될 수도 있다. 각 시나리오에 소속된 의미벡터 사이의 의미적인 밀접성에 따라 가까운 공간상에 표시되기도 하고 멀리 떨어진 공간상에 표시되기도 하기 때문에, 시나리오를 구성하는 노드사이의 의미관계 파악이 훨씬 쉽다.Scenarios can be displayed on a three-dimensional ontology dialogue network space, and each question and answer in the scenario can be represented by a single semantic vector. Depending on the semantic closeness between the semantic vectors belonging to each scenario, it is displayed in the near space or in the far away space, so it is much easier to understand the semantic relations between nodes constituting the scenario.

이하에서는 도 14의 블럭 다이어그램 시퀀스 및 도 15의 순서도를 참조하여 온톨로지 대화 관계망을 이용한 연속 대화 수행과정을 설명한다.Hereinafter, a process of performing a continuous conversation using an ontology dialogue network will be described with reference to the block diagram sequence of FIG. 14 and the flowchart of FIG. 15.

먼저, 사용자가 말을 할 경우, 본 발명의 온톨로지 대화 관계망을 이용한 연속 대화 시스템(200, 도 18 참조)에 사용자의 음성이 입력된다(S210). 온톨로지 대화 관계망을 이용한 연속 대화 시스템(200)은 입력받은 음성에 대한 문장이해를 위해 문장을 분석한다(S220). 온톨로지 대화 관계망을 이용한 연속 대화 시스템(200)은 온톨로지 대화 관계망 데이터베이스로부터, 분석된 대화문장에 대하여, 해당 대화문장을 대표하는 의도패턴이 상기 대화문장과 매칭되어 있는지 파악한다(S230).First, when the user speaks, the user's voice is input to the continuous conversation system 200 (see FIG. 18) using the ontology conversation network of the present invention (S210). The continuous dialogue system 200 using the ontology dialogue network analyzes the sentence for the sentence understanding of the received voice (S220). The continuous dialogue system 200 using the ontology dialogue relation network determines, from the ontology dialogue relation network database, whether the intention pattern representing the dialogue phrase matches the analyzed dialogue phrase (S230).

의도패턴이 매칭되어 있지 않은 경우(S240), 해당 대화문장에 대하여 의도패턴을 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하는데(S250), 이에 대하여는 도 16을 참조하여 상세히 후술한다.If the intention pattern is not matched (S240), the intention pattern is determined for the corresponding conversation sentence, matched to the conversation sentence, and stored in the ontology conversation relation network database (S250), which will be described later in detail with reference to FIG. 16.

상기 대화문장에 의도패턴이 매칭되어 있지 않아 새로운 의도패턴을 결정하여 상기 대화문장에 매칭시킨 경우든지, 또는 상기 대화문장에 이미 의도패턴이 매칭되있는 경우든지, 해당 대화문장에 의도패턴이 매칭되어 온톨로지 대화 관계망 데이터베이스에 저장된 후, 온톨로지 대화 관계망 데이터베이스에서의 대화 시나리오에 따라, 상기 대화문장에 매칭된 의도패턴(이하 '제1 의도패턴'이라 한다)에 이어지는 의도패턴(이하 '제2 의도패턴'이라 한다)을 추출하고(S260), 해당 제2 의도패턴에 포함된 대화문장 중 하나를 선택하여(S270), 선택된 대화문장을 사용자에게 음성으로 출력하게 된다(S280). 예를 들어 제1 의도패턴은 현재 사용자가 말하여 입력된 질문 대화문장을 대표하는 의도패턴일 수 있고, 제2 의도패턴은 이에 대하여 온톨로지 대화 관계망을 이용한 연속 대화 시스템(200)이 답변하기로 결정한 답변 대화문장을 대표하는 의도패턴일 수 있다.If the intention pattern is not matched to the dialogue sentence and a new intention pattern is determined and matched to the dialogue sentence, or the intention pattern is already matched to the dialogue sentence, the intention pattern is matched to the dialogue sentence An intention pattern (hereinafter referred to as a 'second intention pattern') followed by an intention pattern (hereinafter referred to as a 'first intention pattern') matched to the conversation sentence according to a conversation scenario in the ontology conversation network network database, after being stored in the ontology conversation network network database. Is extracted) (S260), and one of the dialogue sentences included in the second intention pattern is selected (S270), and the selected dialogue sentence is output to the user by voice (S280). For example, the first intention pattern may be an intention pattern representative of the question dialogue sentence input by the current user, and the second intention pattern is determined by the continuous conversation system 200 using the ontology dialogue network to answer this. The answer may be an intention pattern representing a dialogue sentence.

온톨로지 대화 관계망 데이터베이스에서의 대화 시나리오에 따라, 상기 대화문장에 매칭된 제1 의도패턴에 이어지는 의도패턴이 다수개 존재하는 경우가 있을 수 있다. 이러한 경우는 상기 다수개의 각 의도패턴의 시나리오에 부여되어 있는 가중치가 가장 높은 의도패턴을 제2 의도패턴으로 추출하도록 할 수 있다. 예를 들어 제1 의도패턴에 이어지는 시나리오가, 제1 의도패턴->'A'(가중치 0.7), 제1 의도패턴->'B'(가중치 0.2), 제1 의도패턴->'C'(가중치 0.1)와 같이 3가지가 있을 경우, 제1 의도패턴->'A'(가중치 0.7)로 결정하여 의도패턴 A를 제2 의도패턴으로 결정할 수 있는 것이다. 이와 같은 가중치는, 평소 사용자와의 대화를 진단 및 분석하는 대화품질 관리를 통해 미리 설정해 놓을 수 있는데, 이에 대하여는 도 17을 참조하여 후술한다.Depending on the dialogue scenario in the ontology dialogue network, there may be a case where a plurality of intention patterns following the first intention pattern matched to the dialogue sentence exist. In this case, the intention pattern having the highest weight assigned to the scenario of each of the plurality of intention patterns may be extracted as the second intention pattern. For example, the scenario following the first intention pattern is: first intention pattern-> 'A' (weight 0.7), first intention pattern-> 'B' (weight 0.2), first intention pattern-> 'C' ( When there are three such as weight 0.1), it is possible to determine the intention pattern A as the second intention pattern by determining the first intention pattern-> 'A' (weight 0.7). Such a weight can be set in advance through conversation quality management that diagnoses and analyzes a conversation with a user, which will be described later with reference to FIG. 17.

도 16은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화 중, 신규 대화문장이 입력되었을 경우, 온톨로지 대화 관계망으로 매핑하는 방법을 수행하는 순서도이다.16 is a flowchart illustrating a method of mapping a ontology dialogue network when a new dialogue text is input during continuous conversation using the ontology dialogue network according to the present invention.

새로운 시나리오가 입력되면, 해당 시나리오의 질문과 답변 문장의 의미벡터값을 추출하고, 해당 질문 답변 의미벡터의 대화의도를 각각 분류해서 입력 시나리오("대화의도(의도패턴), 대화문장, 의미벡터"의 연속된 리스트)를 대화 관계망에 매핑한다.When a new scenario is entered, the semantic vector values of the question and answer sentences of the corresponding scenario are extracted, and the dialogue intention of the corresponding question answer semantic vector is classified and input scenarios ("dialog intention (intention pattern), dialogue sentence, meaning" Vector "in a contiguous list).

즉, 사용자에 의해 입력된 대화문장에 의도패턴이 매칭되어 있지 않은 경우, 즉 새로운 시나리오가 입력된 경우(S240), 해당 대화문장의 의미벡터를 도출하고(S251), 상기 의미벡터로부터 상기 대화문장에 해당하는 의도패턴을 분류한다(S252). 의도패턴을 분류하는 방법은, 규칙기반, 통계기반, 머신 러닝(machine learning) 기반 중 하나 이상의 방법을 사용할 수 있다. 여기서 머신 러닝은, 도 14에서 '대화 시나리오 학습' 블럭에 해당된다.That is, when the intention pattern is not matched to the conversation sentence input by the user, that is, when a new scenario is input (S240), a semantic vector of the corresponding conversation sentence is derived (S251), and the conversation sentence is derived from the semantic vector The intention pattern corresponding to is classified (S252). As a method of classifying intention patterns, one or more of rule-based, statistical-based, and machine-learning-based methods may be used. Here, machine learning corresponds to the block 'conversation scenario learning' in FIG. 14.

상기 대화문장에 해당하는 의도패턴이 분류된 경우(S252), 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장한다(S253). 이때 전술한 바와 같이 분류된 의도패턴의 연속된 리스트, 대화문장의 연속된 리스트, 의미벡터의 연속된 리스트를 온톨로지 대화 관계망 데이터베이스에 저장할 수 있다. When the intention pattern corresponding to the conversation sentence is classified (S252), the intention pattern is determined as the intention pattern of the conversation sentence and matches to the conversation sentence and stored in the ontology conversation relationship network database (S253). In this case, as described above, a continuous list of classified intention patterns, a continuous list of dialogue sentences, and a continuous list of semantic vectors may be stored in the ontology dialogue network network.

상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우(S252), 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하며(S254), 이때도 역시 분류된 의도패턴의 연속된 리스트, 대화문장의 연속된 리스트, 의미벡터의 연속된 리스트를 온톨로지 대화 관계망 데이터베이스에 저장할 수 있다.When the intention pattern corresponding to the dialogue sentence is not classified (S252), the intention pattern mapped to the node closest to the node pointed to by the semantic vector is identified from the ontology dialogue network network, and the identified intention pattern is communicated. Determine the sentence intention pattern and match it to the conversation sentence and store it in the ontology conversation relationship network database (S254). At this time, a continuous list of classified intention patterns, a continuous list of conversation sentences, and a continuous list of semantic vectors Can be stored in the ontology conversation network database.

이때, 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴은, 단일 단어일 수도 있고, 또는 단어의 조합으로 생성된 의미벡터가 가리키는 새로운 단어일 수도 있다.In this case, the intention pattern mapped to the node closest to the node indicated by the semantic vector may be a single word or a new word indicated by the semantic vector generated by a combination of words.

하나의 시나리오는 질문 답변의 연속된 쌍으로 표현할 수 있는데, 각 질문 답변이 모여서 하나의 시나리오를 형성하듯이, 시나리오는 특정 대화 영역 정보(교육, 문학, 상식, 일상대화, 스포츠, 영화 등)를 가지고 있으며, 시나리오도 의도패턴의 조합으로 나타낼 수 있다.A scenario can be expressed as a continuous pair of question and answer. Just as each question and answer gathers to form a scenario, a scenario provides information about a specific conversation area (education, literature, common sense, everyday conversation, sports, movies, etc.). Scenarios can also be expressed as a combination of intention patterns.

시나리오 분류도 규칙기반, 통계기반, 머신 러닝 기반 중 하나 이상의 방법을 사용하여 각 시나리오를 분류할 수 있다. 따라서, 각 문장의 대화의도를 분류하기 전에 시나리오 분류를 먼저 선택하여, 해당 시나리오 분류에 속하는 대화의도(의도패턴)를 먼저 탐색하여, 검색시간을 줄일 수도 있다.Scenario classification can be classified into each scenario using one or more of rule-based, statistical-based, and machine-learning-based methods. Accordingly, before classifying the conversation intention of each sentence, the scenario classification is first selected, and then the conversation intention (intention pattern) belonging to the corresponding scenario classification is first searched to shorten the search time.

도 17은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화를 이용하여 대화품질 개선을 구현하기 위한 시퀀스를 블럭 다이어그램으로 도시한 도면이다.FIG. 17 is a block diagram illustrating a sequence for implementing dialogue quality improvement using continuous dialogue using an ontology dialogue network according to the present invention.

사용자는 시스템과 대화를 진행하면서 사용자의 반응이 긍정적인지 부정적인지 즉각적으로 알 수 있다. 긍정적인 반응, 부정적인 반응, 무시 반응, 화제 변경 반응 등 사용자의 반응은 사용자의 대화문장을 분석해서 알 수 있으며, 이때, 규칙기반, 통계기반, 머신러닝기반 등 다양한 분석 방법을 사용할 수 있다.The user can instantly know whether the user's reaction is positive or negative as the user proceeds with the system. User reactions such as positive reactions, negative reactions, neglect reactions, and topic change reactions can be known by analyzing the user's dialog, and at this time, various analysis methods such as rule-based, statistical-based, and machine-learning-based can be used.

사용자 반응이 긍정적일 때, 현재 시나리오를 선호 대화 시나리오라고 인식할 수 있으며, 가중치 조정 등을 통해서 현재 시나리오가 채택될 확률을 높여서, 선호 시나리오가 계속 선택되고, 비 선호 시나리오는 우선 순위가 밀리게 하는 등, 실시간 사용자 반응을 통해서 지속적으로 대화 시나리오를 관리하여, 궁극적으로 연속 대화를 하면 할수록 대화품질이 개선되도록 하는 것을 목표로 한다.When the user response is positive, the current scenario can be recognized as the preferred dialogue scenario, and the probability of the current scenario being adopted is increased through weight adjustment, etc., the preferred scenario is continuously selected, and the non-preferred scenario is given priority. The goal is to continuously manage conversation scenarios through real-time user reactions, and ultimately, the more continuous conversations, the better the conversation quality.

이와 같은 과정을 도 17을 참조하여 설명하면, 지속적인 대화품질 관리는, 평소 사용자와 본 발명의 온톨로지 대화 관계망을 이용한 연속 대화 시스템(200) 간의 대화 시나리오 이력을 통해 이루어진다. 즉, 평소 사용자로부터 입력되는 문장을 분석하고, 분석된 대화문장으로부터 사용자의 반응을 분석한다. 사용자 반응이 긍정적인 것으로 분석된 경우 해당 대화문장 또는 해당 대화문장의 의도패턴으로 이어지는 대화 시나리오가 선택될 가능성을 높게 설정하고, 사용자 반응이 부정적인 것으로 분석된 경우 해당 대화문장 또는 해당 대화문장의 의도패턴으로 이어지는 대화 시나리오가 선택될 가능성을 낮게 설정하는 것이다.When such a process is described with reference to FIG. 17, continuous conversation quality management is performed through a conversation scenario history between a normal user and a continuous conversation system 200 using the ontology conversation network of the present invention. That is, the sentence inputted from the user is analyzed, and the user's reaction is analyzed from the analyzed dialogue. If the user's response is analyzed as positive, the likelihood of selecting a conversation scenario leading to the corresponding conversation sentence or the intention pattern of the corresponding conversation sentence is set high. It is to set the likelihood that the dialogue scenario leading to will be selected is low.

여기서 긍정적 또는 부정적이라 함은 매우 포괄적으로 사용한 용어이다. 도 17의 예로서 도시한 바와 같이, 칭찬 반응, 긍정적인 반응, 부정적인 반응, 무시 반응, 화제 변경 반응 등, 세부적으로 나눌 수도 있지만, 이 모든 것을 포괄하는 것으로 긍정적 또는 부정적 반응으로 설명할 수 있다. 이는 2 종류의 반응으로 분석한다는 것이 아니라, 일종의 긍정도(degree) 또는 부정도(degree)를 준다는 것이 더 정확한 표현일 것이다. 즉, 문장분석에 의한 사용자의 반응이 더 호응적이고 좋은 반응일수록, 피드백을 통해 그와 같은 반응이 나온 대화 시나리오가 향후 선택될 가능성을 더 높게 하고, 반대일수록 그와 같은 반응이 나온 대화 시나리오가 향후 선택될 가능성을 더 낮게 하는 것이다.Here, positive or negative is a very comprehensive term. As shown in the example of FIG. 17, it may be divided into details such as a praise reaction, a positive response, a negative response, a neglect reaction, and a topic change reaction, but it can be described as a positive or negative response by covering all of these. This would not be analyzed with two kinds of reactions, but rather a more accurate expression of giving a kind of degree or degree. That is, the more responsive and good the user's response by sentence analysis is, the higher the likelihood that a dialogue scenario in which such a reaction will occur through feedback will be selected in the future. It makes the possibility of being selected lower.

향후 대화 시나리오가 선택될 가능성의 설정은, 해당 사용자 반응이 나온 대화 시나리오에, 기 설정된 기준에 따라 선호/비선호 대화 시나리오와 관련한 가중치를 부여함으로써 이루어질 수 있다. 이로써 향후 가중치가 높은 대화 시나리오가 선택될 확률을 높게 하는 것이다.The possibility of selecting a conversation scenario in the future may be made by assigning a weight related to the preference / non-preferred conversation scenario to a conversation scenario in which the corresponding user reaction has been generated according to a preset criterion. This increases the probability that a dialogue scenario with high weight will be selected in the future.

이때 사용자 반응의 분석은, 사용자의 대화문장을 규칙에 따라 분석함을 통하여 수행하거나(규칙기반), 대화문장의 통계를 기반하여 수행하거나(통계기반), 머신러닝(machine learning) 방식으로 수행(머신러닝 기반)할 수 있다.At this time, the analysis of the user's reaction is performed by analyzing the user's dialogue sentence according to rules (rule-based), based on the statistics of the dialogue sentence (statistic-based), or by machine learning (machine learning) Machine learning based).

또는 상기 사용자 반응의 분석은, 온톨로지 대화 관계망 데이터베이스에서 상기 사용자의 대화문장이 해당하는 의도패턴에 대한, 기 분석되어 매핑되어 있는 사용자 선호도에 의해 이루어질 수도 있다. 즉, 온톨로지 대화 관계망 데이터베이스 상에서 의도패턴 공간과, 사용자 선호도 공간이 별도로 구비될 수도 있고, 이때 각 의도패턴 공간의 특정 의도패턴 노드와 사용자 선호도 공간의 동일 노드의 사용자 선호도가 매핑되도록 할 수 있다. 즉, 사용자의 그 의도패턴에 대하여 사용자 반응으로 분석된 사용자 선호도가 기 매핑되어 있어, 이로부터 해당 대화에 대한 가중치를 설정할 수도 있는 것이다.Alternatively, the analysis of the user reaction may be performed by a user preference that is pre-analyzed and mapped to an intention pattern corresponding to the user's dialogue sentence in the ontology dialogue network. That is, the intention pattern space and the user preference space may be separately provided on the ontology conversation network database, and user preferences of the specific intention pattern node of each intention pattern space and the same node of the user preference space may be mapped. That is, user preferences analyzed in response to a user's response to the user's intention pattern are pre-mapped, from which the weight for the conversation can be set.

도 18은 본 발명에 따른 온톨로지 대화 관계망을 이용한 연속 대화 시스템의 구성을 나타내는 도면이다.18 is a diagram showing the configuration of a continuous dialogue system using an ontology dialogue relationship network according to the present invention.

제어부(201)는 온톨로지 대화 관계망을 이용한 연속 대화 시스템의 상기 각 구성요소를 제어하여 온톨로지 대화 관계망을 이용한 연속 대화와 관련한 일련의 처리를 수행한다.The control unit 201 controls each component of the continuous dialogue system using the ontology dialogue relation network to perform a series of processes related to the continuous dialogue using the ontology dialogue relation network.

음성입력부(202)는 사용자의 음성을 입력받는다.The voice input unit 202 receives a user's voice.

문장분석부(203)는 상기 입력받은 음성으로부터 문장분석을 수행한다.The sentence analysis unit 203 performs sentence analysis from the input voice.

대화관리부(204)는 온톨로지 대화 관계망 데이터베이스로부터, 분석된 대화문장에 대하여 해당 대화문장을 대표하는 의도패턴(이하 '제1 의도패턴'이라 한다)에 이어지는 의도패턴(이하 '제2 의도패턴'이라 한다)을 추출하고, 해당 제2 의도패턴에 포함된 대화문장 중 하나를 출력 대화문장으로 선택하는 역할을 수행한다. 또한 대화관리부(204)는, 온톨로지 대화 관계망 데이터베이스에서의 대화 시나리오에 따라, 상기 대화문장에 매칭된 제1 의도패턴에 이어지는 의도패턴이 다수개 존재하는 경우, 각 의도패턴으로의 시나리오에 부여되어 있는 가중치가 가장 높은 의도패턴을 제2 의도패턴으로 추출하는 역할을 수행할 수도 있다.The dialogue management unit 204, from the ontology dialogue network network database, leads to an intention pattern (hereinafter referred to as a 'first intention pattern') representing an intention pattern (hereinafter referred to as a 'first intention pattern') for the analyzed dialogue sentence. And extracts one of the conversation sentences included in the second intention pattern as an output conversation sentence. In addition, the conversation management unit 204, if there are a plurality of intention patterns following the first intention pattern matched to the conversation sentence according to the conversation scenario in the ontology conversation relational network database, is assigned to each intention pattern scenario The intention pattern having the highest weight may be extracted as the second intention pattern.

신규 시나리오 처리부(206)는 분석된 대화문장에 대하여 의도패턴이 매칭되어 있지 않은 경우, 해당 문장에 대한 새로운 의도패턴을 결정하여 상기 문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 결정된 의도패턴을 상기 대화관리부에 전달하는 역할을 수행한다. When the intention pattern is not matched to the analyzed dialogue sentence, the new scenario processing unit 206 determines a new intention pattern for the sentence, matches the sentence, and stores the determined intention pattern in the ontology dialogue network network database. It plays a role of delivering to the conversation management department.

상기 신규 시나리오 처리부는, 입력받은 대화문장에 의도패턴이 매칭되어 있지 않은 경우, 해당 대화문장의 의미벡터를 도출할 수 있다. 도출된 의미벡터로부터, 상기 대화문장에 해당하는 의도패턴을 분류한다. 상기 대화문장에 해당하는 의도패턴이 분류된 경우, 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 결정된 의도패턴을 상기 대화관리부에 전달하는 역할을 수행할 수 있다.The new scenario processing unit may derive a semantic vector of the corresponding dialogue sentence if the intention pattern is not matched to the received dialogue sentence. From the derived semantic vector, an intention pattern corresponding to the dialogue sentence is classified. When the intention pattern corresponding to the conversation sentence is classified, the intention pattern is determined as the intention pattern of the conversation sentence, matched to the conversation sentence, and stored in the ontology conversation network network database, and the intention pattern corresponding to the conversation sentence is classified If not, the intention pattern mapped to the node closest to the node pointed to by the semantic vector is identified from the ontology dialogue network database, and the determined intention pattern is determined as the intention pattern of the dialogue sentence and matched to the dialogue sentence. It can be stored in the ontology dialogue relation network database, and transmits the determined intention pattern to the dialogue management unit.

도 16을 참조하여 전술한 바와 같이, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴은, 단일 단어 또는, 단어의 조합으로 생성된 의미벡터가 가리키는 새로운 단어일 수 있다.As described above with reference to FIG. 16, the intention pattern mapped to the node closest to the node indicated by the semantic vector may be a new word indicated by a semantic vector generated by a single word or a combination of words.

대화품질 관리부(205)는, 상기 분석된 대화문장으로부터, 사용자의 반응을 분석하여, 사용자 반응이 긍정적인 것으로 분석된 경우 해당 대화문장 또는 해당 대화문장의 의도패턴으로 이어지는 대화 시나리오가 선택될 가능성을 높게 설정하고, 사용자 반응이 부정적인 것으로 분석된 경우 해당 대화문장 또는 해당 대화문장의 의도패턴으로 이어지는 대화 시나리오가 선택될 가능성을 낮게 설정함으로써 대화 품질관리를 수행한다. 이때 도 17을 참조하여 전술한 바와 같이, 상기 대화 시나리오가 선택될 가능성의 설정은, 기 설정된 기준에 따라 가중치를 부여함으로써 이루어질 수 있다. 또한 사용자 반응의 분석은, 상기 대화문장을 규칙에 따라 분석함을 통하여 수행하거나(규칙기반), 대화문장의 통계를 기반하여 수행하거나(통계기반), 머신러닝(machine learning) 방식으로 수행(머신러닝기반)할 수 있다. 또는 사용자 반응의 분석은, 온톨로지 대화 관계망 데이터베이스에서 상기 사용자의 대화문장이 해당하는 의도패턴에 대한, 기 분석되어 매핑되어 있는 사용자 선호도에 의해 이루어질 수도 있는데, 이에 대하여는 도 17을 참조하여 상세히 설명한 바 있다.The dialogue quality management unit 205 analyzes a user's reaction from the analyzed dialogue sentence, and when a user response is analyzed to be positive, a possibility that a conversation scenario leading to the intention pattern of the conversation sentence or the conversation sentence is selected is selected. If it is set as high and the user response is analyzed to be negative, dialogue quality management is performed by setting the probability that a dialogue scenario leading to the corresponding dialogue sentence or intention pattern of the dialogue sentence is selected is low. At this time, as described above with reference to FIG. 17, the setting of the possibility of selecting the conversation scenario may be made by weighting according to a preset criterion. In addition, analysis of the user's reaction is performed by analyzing the dialogue sentence according to rules (rule-based), based on statistics of the dialogue sentence (statistic-based), or by machine learning (machine learning) Running based). Alternatively, the analysis of the user reaction may be performed by a user preference that has been previously analyzed and mapped to an intention pattern corresponding to the user's conversational sentence in the ontology conversational network database, which has been described in detail with reference to FIG. 17. .

대화출력부(207)는상기 대화관리부에서 선택된 대화문장을 사용자에게 음성 등으로 출력하는 역할을 수행한다.The conversation output unit 207 serves to output a conversation sentence selected by the conversation management unit to a user through voice or the like.

도 19는 본 발명에 따른 온톨로지 대화 관계망 구조의 일 실시예를 도시한 도면이다.19 is a diagram illustrating an embodiment of an ontology dialogue network structure according to the present invention.

즉, 도 19의 실시예를 참조하면, 온톨로지 대화 관계망의 대화는 일반대화 도메인, 전문대화 도메인, 또는 필요에 따라 다른 새로운 도메인을 설정하여 그러한 도메인 등으로 분류될 수 있다. 즉, 온톨로지 대화 관계망 공간에 매핑되어 있는 의도패턴 등의 수많은 노드는, 이미 각각 일반대화, 전문대화 등의 영역으로 이미 설정되어 있을 수 있다. 즉, 각 문장에 대한 의미벡터를 구할 경우, 문장의 의미에 따라 각 의미벡터가 가리키는 노드는, 온톨로지 대화 관계망 공간상에서 정해진 분류의 영역을 가리키도록 구성되어 있을 수 있다. 물론 일반대화 또는 전문대화의 하부에 세부적 분류를 한 경우도 마찬가지 방식일 수 있다.That is, referring to the embodiment of FIG. 19, the conversation in the ontology conversation relational network may be classified into such a domain by setting a general conversation domain, a specialized conversation domain, or another new domain as required. That is, a large number of nodes, such as an intention pattern mapped to the ontology dialogue network space, may already be set to areas such as general conversation and specialized conversation, respectively. That is, when obtaining a semantic vector for each sentence, a node pointed to by each semantic vector according to the meaning of the sentence may be configured to point to an area of a predetermined classification in the ontology dialogue network space. Of course, the same may be applied to the case where detailed classification is performed under a general conversation or a specialized conversation.

일반대화(일상대화, 상식대화, 주제대화 등)는 다양한 주제에 대해서 대화 관계망(Network)속의 대화 시나리오에 따라 대화를 전개한다. The general conversation (daily conversation, common sense conversation, topic conversation, etc.) develops conversations on various topics according to the conversation scenario in the conversation network.

전문대화(예매, 예약, 구입 등)는 특정 목적의 대화 전략(Strategy)에 따라 사용자에게 특정정보(Argument)를 얻어서 과제 수행을 위한 대화를 수행한다. 예를 들자면, KTX예약의 경우 예약시간, 동행자 수, 좌석종류 등 예약에 필요한 정보를 사용자에게 물어봐서, 해당 정보가 충족된 뒤에야 예약을 마무리 하게 된다. 따라서, 특정 목적(Task)에 맞는, 대화 절차(Flow)를 따라야 한다.Specialized conversations (reservations, reservations, purchases, etc.) acquire specific information (Argument) from the user according to a specific purpose conversation strategy, and conduct conversations for performing tasks. For example, in the case of KTX reservation, the user is asked for information necessary for reservation, such as reservation time, number of passengers, and seat type, and the reservation is completed only after the information is satisfied. Therefore, it is necessary to follow a conversation procedure (Flow), which is suitable for a specific purpose (Task).

이와 같은 방식으로 온톨로지 대화 관계망에서 일반대화와 전문대화가 자유롭게 이루어질 수 있다.In this way, general and professional conversations can be freely conducted in the ontology dialogue network.

이하 도 20 내지 도 23은 이와 같이 온톨로지 대화 관계망에서 분류된 대화의 예를 나타낸다.20 to 23 show examples of conversations classified in the ontology conversation network.

도 20은 본 발명에 따른 온톨로지 대화 관계망에서 일반대화 분류 구조의 일 실시예를 도시한 도면이다.20 is a diagram illustrating an embodiment of a general conversation classification structure in an ontology dialogue network according to the present invention.

일반대화에는 일상대화, 상식대화, 주제대화, 감성대화, 주제대화 등이 올 수 있으며, 다양한 주제에 대해서 끊임없이 대화 포커스를 이동시키면 대화가 가능하다.General conversation can include daily conversation, common sense conversation, topic conversation, emotional conversation, topic conversation, etc. If you constantly move the focus of conversation on various topics, you can talk.

도 21은 본 발명에 따른 온톨로지 대화 관계망에서 전문대화 분류 구조의 일 실시예를 도시한 도면이다.21 is a diagram illustrating an embodiment of a specialized conversation classification structure in an ontology dialogue network according to the present invention.

전문대화는 예매, 예약, 구입 등 특정 목적기반 대화를 진행하는 것을 말한다.Professional conversation refers to conducting specific purpose-based conversations such as reservation, reservation, and purchase.

도 22는 본 발명에 따른 온톨로지 대화 관계망에서 전문대화 중 병원 콜센터에서 상담원과 주고받는 대화 분류 구조의 일 실시예를 도시한 도면이다.22 is a diagram illustrating an embodiment of a conversation classification structure exchanged with an agent in a hospital call center during a specialized conversation in an ontology conversation network according to the present invention.

도 23은 본 발명에 따른 온톨로지 대화 관계망에서 일상대화와 감성대화 및 전문대화가 연결되는 분류 구조의 일 실시예를 도시한 도면이다.23 is a diagram illustrating an embodiment of a classification structure in which everyday conversation, emotional conversation, and professional conversation are connected in an ontology dialogue network according to the present invention.

일상대화와 감성대화, 전문대화를 자유롭게 오고가면서 연속적으로 대화가 이루어질 수 있다.Conversations can be made continuously while freely coming and going between daily conversation, emotional conversation, and professional conversation.

이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described by a limited number of embodiments and drawings, the present invention is not limited by this, and the technical idea of the present invention and the following will be described by those skilled in the art to which the present invention pertains. Of course, various modifications and variations are possible within the equivalent scope of the claims to be described.

100: 대화 시나리오 데이터베이스 구축 장치
110: 문장추출부
111: 음성 파일 추출 모듈
112: 게시글 추출 모듈
113: 검색어 생성기
120: 문장분석부
130: 대화 시나리오 생성부
140: 대화 시나리오 학습부
150: 대화 시나리오 데이터베이스
160: 온톨로지 관계 매핑부
200: 온톨로지 대화 관계망을 이용한 연속 대화 시스템
100: conversation scenario database building device
110: sentence extraction unit
111: voice file extraction module
112: post extraction module
113: Query generator
120: sentence analysis unit
130: conversation scenario generation unit
140: conversation scenario learning department
150: conversation scenario database
160: ontology relation mapping unit
200: continuous dialogue system using ontology dialogue network

Claims (6)

온톨로지 대화 관계망에 적용되는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법으로서,
(a) 대화 형식의 음성 파일 또는 대화 형식의 게시글, 댓글로부터 아이디 또는 이름별로 문장을 추출하는 단계;
(b) 상기 단계 (a)에서 추출된 문장으로부터 게시글, 댓글의 대화 전개에 따라 아이디 또는 이름별로 대화 문장을 트리 형태로 표현하는 단계;
(c) 상기 단계 (b)의 각 트리에서 대화 시나리오를 추출하는 단계;
(d) 상기 단계 (c)에서 생성된 대화 시나리오의 각 문장을 의미벡터로 표현하는 단계;
(e) 상기 단계 (d)에서 생성된 대화 시나리오의 각 문장을 의도패턴으로 표현하는 단계;
(f) 상기 대화 시나리오를 의도패턴과 의미벡터로 데이터베이스화 시키는 단계;
(g) 상기 단계 (e)에서 기존 의도패턴이 없는 문장을 새로운 의도패턴을 만드는 단계; 및,
(h) 사용자와의 연속대화 중 분석된 대화문장에 대하여, 해당 대화문장을 대표하는 의도패턴이 상기 대화문장과 매칭되어 있지 않은 경우,
(h1) 해당 대화문장의 의미벡터를 도출하는 단계;
(h2) 상기 의미벡터로부터, 상기 대화문장에 해당하는 의도패턴을 분류하는 단계; 및
(h3) 상기 대화문장에 해당하는 의도패턴이 분류된 경우, 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하는 단계
를 포함하는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법.
As a method of constructing a dialogue scenario database for a dialogue system applied to an ontology dialogue network,
(a) extracting a sentence by ID or name from a conversational voice file or a conversational post or comment;
(b) expressing the dialogue sentence in the form of a tree by ID or name according to the conversation development of the post or comment from the sentence extracted in step (a);
(c) extracting a dialogue scenario from each tree in step (b);
(d) expressing each sentence of the dialogue scenario generated in step (c) as a semantic vector;
(e) expressing each sentence of the dialogue scenario generated in step (d) as an intention pattern;
(f) database of the dialogue scenario into an intention pattern and a semantic vector;
(g) creating a new intention pattern in the sentence without the existing intention pattern in step (e); And,
(h) When the intention pattern representing the corresponding conversation sentence is not matched with the above conversation sentence with respect to the analyzed conversation sentence during the continuous conversation with the user,
(h1) deriving a meaning vector of the corresponding dialogue sentence;
(h2) classifying the intention pattern corresponding to the dialogue sentence from the semantic vector; And
(h3) When the intention pattern corresponding to the conversation sentence is classified, the intention pattern is determined as the intention pattern of the conversation sentence, matched to the conversation sentence, and stored in the ontology conversation relation network database, and the intention corresponding to the conversation sentence If the pattern is not classified, the intention pattern mapped to the node closest to the node pointed to by the semantic vector is determined from the ontology dialogue network database, and the determined intention pattern is determined as the intention pattern of the dialogue sentence to determine the intention pattern Matching and storing in ontology conversation network database
Conversation scenario database construction method for a conversation system comprising a.
청구항 1에 있어서,
상기 단계 (f)에서 데이터베이스와 시킨 의미벡터는 의미단어 또는 의미노드로 표시하는 단계
를 더 포함하는 것을 특징으로 하는 대화 시스템을 위한 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법.
The method according to claim 1,
The semantic vector created in step (f) with the database is displayed as a semantic word or semantic node.
Method for building a dialogue scenario database for a dialogue system for a dialogue system, further comprising a.
청구항 1에 있어서,
상기 단계 (a)의 대화 형식의 음성 파일은 음성인식을 통하여 텍스트로 변경한 후 추출되는 것
을 특징으로 하는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법.
The method according to claim 1,
The speech file of the conversational form of step (a) is extracted after changing to text through speech recognition
Method for constructing a dialogue scenario database for a dialogue system, characterized in that.
청구항 1에 있어서,
상기 단계 (a)의 대화 형식의 게시글로부터의 추출은,
특정 단어(word)를 검색어로 지정하며, 이 지정된 검색어로 검색된 게시글 및 댓글을 데이터 파싱하여 추출하는 것
을 특징으로 하는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법.
The method according to claim 1,
Extraction from the conversational article of step (a) above,
Specifying a specific word as a search term, and parsing and extracting posts and comments searched for by the specified search term
Method for constructing a dialogue scenario database for a dialogue system, characterized in that.
청구항 1에 있어서,
상기 단계 (a)에서 추출된 문장은 의미벡터로 자동 변환되는 것
을 특징으로 하는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법.
The method according to claim 1,
The sentence extracted in step (a) is automatically converted into a semantic vector
Method for constructing a dialogue scenario database for a dialogue system, characterized in that.
대화 시나리오를 추출하는 대화 시나리오 추출부;
상기 대화 시나리오 추출부에 의하여 생성된 대화 시나리오의 각 문장을 학습하는 대화 시나리오 학습부;
상기 대화 시나리오 학습부에 의해서 생성된 의미벡터를 이용하여 대화 시나리오 각 문장의 의도패턴을 분류하는 대화 시나리오 의도패턴 분류부
상기 대화 시나리오 의도패턴 분류부에 의해서 분류되지 않은 의도패턴에 대해서 새로운 의도패턴을 만드는 의도패턴 생성부;
상기 대화 시나리오 의도패턴과 의미벡터를 저장하는 대화 시나리오 데이터베이스; 및
상기 대화 시나리오 데이터베이스에 저장된 상기 대화 시나리오의 연속적인 의미벡터와 의도패턴을 온톨로지 다차원 공간상에 표시하는 온톨로지 관계 매핑부
를 포함하고,
상기 의도패턴 분류부가 사용자와의 연속대화 중 분석된 대화문장에 대하여, 해당 대화문장을 대표하는 의도패턴이 상기 대화문장과 매칭되지 않음으로 분류하면,
상기 의도패턴 생성부는 해당 대화문장의 의미벡터를 도출하고, 상기 의미벡터로부터, 상기 대화문장에 해당하는 의도패턴을 분류하며, 상기 대화문장에 해당하는 의도패턴이 분류된 경우, 그 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하고, 상기 대화문장에 해당하는 의도패턴이 분류되지 않은 경우, 상기 의미벡터가 가리키는 노드와 가장 가까운 노드에 매핑되어 있는 의도패턴을 온톨로지 대화 관계망 데이터베이스로부터 파악하여, 그 파악된 의도패턴을 상기 대화문장의 의도패턴으로 결정하여 상기 대화문장에 매칭시켜 온톨로지 대화 관계망 데이터베이스에 저장하는 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 장치.
A conversation scenario extraction unit for extracting a conversation scenario;
A conversation scenario learning unit for learning each sentence of the conversation scenario generated by the conversation scenario extraction unit;
Conversation scenario intention pattern classification unit to classify the intention pattern of each sentence in the conversation scenario using the semantic vector generated by the conversation scenario learning unit
An intention pattern generation unit that creates a new intention pattern for an intention pattern not classified by the dialogue scenario intention pattern classification unit;
A dialogue scenario database storing the dialogue scenario intention pattern and the semantic vector; And
An ontology relationship mapping unit displaying continuous semantic vectors and intention patterns of the conversation scenarios stored in the conversation scenario database on an ontology multidimensional space.
Including,
When the intention pattern classification unit classifies the intention pattern representing the corresponding conversation sentence for the analyzed conversation sentence during the continuous conversation with the user as not matching the conversation sentence,
The intention pattern generation unit derives a meaning vector of the corresponding conversation sentence, classifies an intention pattern corresponding to the conversation sentence from the meaning vector, and when the intention pattern corresponding to the conversation sentence is classified, recalls the intention pattern Determined as the intention pattern of the conversation sentence, matched to the conversation sentence, stored in the ontology conversation network, and if the intention pattern corresponding to the conversation sentence is not classified, is mapped to the node closest to the node indicated by the semantic vector. An apparatus for constructing a dialogue scenario database for a dialogue system that grasps an intention pattern from an ontology dialogue relational network database, determines the identified intention pattern as the intention pattern of the dialogue sentence, matches the dialogue sentence, and stores it in the ontology dialogue relational network database.
KR1020170168352A 2017-04-14 2017-12-08 Method and apparatus of dialog scenario database constructing for dialog system KR102117287B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170048155 2017-04-14
KR20170048155 2017-04-14

Publications (2)

Publication Number Publication Date
KR20180116104A KR20180116104A (en) 2018-10-24
KR102117287B1 true KR102117287B1 (en) 2020-06-01

Family

ID=64132355

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170168350A KR102204491B1 (en) 2017-04-14 2017-12-08 Continuous conversation method and system by using automating conversation scenario network
KR1020170168352A KR102117287B1 (en) 2017-04-14 2017-12-08 Method and apparatus of dialog scenario database constructing for dialog system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020170168350A KR102204491B1 (en) 2017-04-14 2017-12-08 Continuous conversation method and system by using automating conversation scenario network

Country Status (1)

Country Link
KR (2) KR102204491B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217457B1 (en) * 2018-10-31 2021-02-19 박해유 A chat service providing system that can provide medical consultation according to customer's needs with a chat robot
CN109829044A (en) * 2018-12-28 2019-05-31 北京百度网讯科技有限公司 Dialogue method, device and equipment
CN111858865B (en) * 2019-04-30 2024-09-27 北京嘀嘀无限科技发展有限公司 Semantic recognition method, semantic recognition device, electronic equipment and computer readable storage medium
KR102382914B1 (en) * 2020-06-17 2022-04-06 주식회사 엔씨소프트 Method and apparatus for relation extraction between entities
CN115146653B (en) * 2022-07-21 2023-05-02 平安科技(深圳)有限公司 Dialogue scenario construction method, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100326931B1 (en) 1999-08-02 2002-03-13 이계철 A Verification System which uses a dialogue system for testing the implementation of the scenario of automatic information retrieval system, and its Method
KR19990083781A (en) 1999-08-02 1999-12-06 최현 Web Monitoring System
KR101661198B1 (en) * 2014-07-10 2016-10-04 네이버 주식회사 Method and system for searching by using natural language query
KR101720972B1 (en) * 2015-04-16 2017-03-30 주식회사 플런티코리아 Recommendation Reply Apparatus and Method
KR101751113B1 (en) * 2015-06-15 2017-06-27 포항공과대학교 산학협력단 Method for dialog management based on multi-user using memory capacity and apparatus for performing the method

Also Published As

Publication number Publication date
KR20180116104A (en) 2018-10-24
KR102204491B1 (en) 2021-02-04
KR20180116103A (en) 2018-10-24

Similar Documents

Publication Publication Date Title
KR102117287B1 (en) Method and apparatus of dialog scenario database constructing for dialog system
CN110008322B (en) Method and device for recommending dialogues in multi-turn conversation scene
US11568855B2 (en) System and method for defining dialog intents and building zero-shot intent recognition models
CN107943998B (en) Man-machine conversation control system and method based on knowledge graph
CN108153876B (en) Intelligent question and answer method and system
CN107908803B (en) Question-answer interaction response method and device, storage medium and terminal
US11822605B2 (en) Multi domain real-time question answering system
US20190286996A1 (en) Human-machine interactive method and device based on artificial intelligence
CN109033257A (en) Talk about art recommended method, device, computer equipment and storage medium
CN112073741A (en) Live broadcast information processing method and device, electronic equipment and storage medium
KR102656620B1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
CN109410927A (en) Offline order word parses the audio recognition method combined, device and system with cloud
CN105068661A (en) Man-machine interaction method and system based on artificial intelligence
KR20190046062A (en) Method and apparatus of dialog scenario database constructing for dialog system
CN110019728B (en) Automatic interaction method, storage medium and terminal
CN111767385A (en) Intelligent question and answer method and device
CN110019838B (en) Intelligent question-answering system and intelligent terminal
WO2019060520A1 (en) Method, apparatus, and computer-readable media for customer interaction semantic annotation and analytics
CN118277588B (en) Query request processing method, electronic device and storage medium
CN115114395A (en) Content retrieval and model training method and device, electronic equipment and storage medium
KR20190103504A (en) Continuous Conversation Method and Its System by Automating Conversation Scenario Collection
Parthasarathy et al. Preference-learning with qualitative agreement for sentence level emotional annotations
CN117473034A (en) Interactive text processing method and device, electronic equipment and storage medium
KR20200143039A (en) Method and apparatus of dialog scenario database constructing for dialog system
CN117351952A (en) Voice instruction interaction method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant