KR20150054045A - Chain Dialog Pattern-based Dialog System - Google Patents

Chain Dialog Pattern-based Dialog System Download PDF

Info

Publication number
KR20150054045A
KR20150054045A KR1020130135579A KR20130135579A KR20150054045A KR 20150054045 A KR20150054045 A KR 20150054045A KR 1020130135579 A KR1020130135579 A KR 1020130135579A KR 20130135579 A KR20130135579 A KR 20130135579A KR 20150054045 A KR20150054045 A KR 20150054045A
Authority
KR
South Korea
Prior art keywords
pattern
dialog
user
conversation
sentence
Prior art date
Application number
KR1020130135579A
Other languages
Korean (ko)
Other versions
KR102069701B1 (en
Inventor
최승권
김영길
권오욱
김창현
나승훈
노윤형
서영애
이기영
정상근
김운
박은진
신종훈
황금하
김강일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020130135579A priority Critical patent/KR102069701B1/en
Publication of KR20150054045A publication Critical patent/KR20150054045A/en
Application granted granted Critical
Publication of KR102069701B1 publication Critical patent/KR102069701B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

The present invention relates to a chain dialog pattern-based dialog system and, more specifically to a technology enabling a dialog between a user and a system based on a dialog pattern. The chain dialog pattern-based dialog system according to an embodiment of the present invention comprises: a voice recognition unit recognizing spoken sentences from the user; and a dialog pattern-based dialog processing unit producing a dialog pattern of the spoken sentences recognized by the voice recognition unit, extracting a system speaking pattern according to the dialog pattern of the user, and providing the result to the user.

Description

연쇄 대화 패턴 기반 대화 시스템{Chain Dialog Pattern-based Dialog System} {Chain Dialog Pattern-based Dialog System}

본 발명은 연쇄 대화 패턴 기반 대화 시스템에 관한 것으로, 보다 상세하게는 대화 패턴 기반으로 시스템과 사용자간의 대화가 가능하도록 하는 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a chained conversation pattern based dialogue system, and more particularly, to a technique for enabling conversation between a system and a user based on a conversation pattern.

영어가 국제 공용어로서 자리잡으면서 우리나라를 비롯한 비 영어권 국가에서는 영어를 보다 효율적으로 학습하기 위해 노력하고 있다. 그러나, 기존의 영어 교육 방법은 어휘와 문법 위주의 암기식 영어 교육 방법을 사용하여 영어 회화 실력 향상에는 많은 도움을 주지 못하였다.As English is becoming an international language, we are trying to learn English more effectively in non - English speaking countries including Korea. However, existing English teaching methods did not help much to improve English conversation skills by using memorizing English education methods based on vocabulary and grammar.

이에, 영어 회화 실력 향상을 위해 오디오, 비디오를 이용한 멀티미디어 교수법이 개발되었으나, 단순히 단어나 문장을 학습자가 따라하면 학습자의 발음에 대해 분석 및 평가하여 이를 학습자에게 피드백 하는 정도로, 획일적이고 일방적인 교육의 한계를 벗어나지 못하고 있다.In order to improve English conversational skills, multimedia teaching methods using audio and video have been developed. However, if learners follow simple words or sentences, they analyze and evaluate pronunciation of learners and feed them back to learners. It is not out of bounds.

본 발명의 실시예는 기본 명사구 청킹과 구조 분석을 이용하여 대화 패턴을 자동으로 구축하고 구축된 대화 패턴을 이용하여 사용자와 시스템간의 대화가 원활히 이루어지도록 하는 연쇄 대화 패턴 기반 대화 시스템을 제공하고자 한다.An embodiment of the present invention provides a chained conversation pattern-based dialog system that automatically constructs a conversation pattern using basic noun phrase chunks and structure analysis, and facilitates conversation between the user and the system using the established conversation pattern.

본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 시스템은, 사용자로부터의 발화 문장을 인식하는 음성 인식부; 및 상기 음성 인식부를 통해 인식된 상기 사용자 발화 문장의 대화 패턴을 생성하고 상기 사용자 발화의 대화 패턴에 따라 시스템 발화 패턴을 추출하여 사용자에게 제공하는 대화 패턴 기반 대화 처리부를 포함할 수 있다.According to an embodiment of the present invention, there is provided a chained conversation pattern based dialogue system comprising: a speech recognition unit for recognizing a speech sentence from a user; And a conversation pattern-based dialog processing unit for generating a conversation pattern of the user utterance sentence recognized through the voice recognition unit, extracting a system utterance pattern according to the conversation pattern of the user utterance, and providing the extracted utterance pattern to the user.

또한, 상기 대화 패턴 기반 대화 처리부는, 상기 사용자 발화 문장에 대응하는 시스템 발화 문장을 추출하는 대화 시나리오 처리부; 및 상기 시스템 발화 문장이 존재하지 않는 경우, 상기 사용자 발화 문장으로부터 사용자 발화 패턴을 생성하고 상기 사용자 발화 패턴에 대응하는 시스템 발화 패턴을 추출하는 대화 패턴 처리부를 포함할 수 있다.The conversation pattern-based dialog processing unit may include: a dialog scenario processing unit for extracting a system utterance sentence corresponding to the user utterance sentence; And a dialog pattern processing unit for generating a user utterance pattern from the user utterance sentence and extracting a system utterance pattern corresponding to the user utterance pattern when the system utterance sentence does not exist.

또한, 상기 대화 시나리오 처리부는, 상기 사용자 발화 문장을 형태소 단위로 분석하는 형태소 분석부; 상기 시스템 발화 문장을 저장하는 대화 시나리오 저장부; 상기 형태소 분석된 사용자 발화 문장에 대응되는 시스템 발화 문장이 존재하는지를 상기 대화 시나리오 저장부에서 검색하는 사용자 발화 문장 매칭부; 및 상기 시스템 발화 문장이 존재하는 경우 상기 시스템 발화 문장을 추출하는 시스템 발화 문장 추출부를 포함할 수 있다.The dialog scenario processing unit may include a morpheme analyzing unit for analyzing the user utterance sentence by morpheme units; A dialog scenario storage unit for storing the system utterance sentence; A user utterance sentence matching unit for searching, in the conversation scenario storage unit, whether a system utterance sentence corresponding to the morpheme analyzed user utterance sentence exists; And a system utterance sentence extracting unit for extracting the system utterance sentence when the system utterance sentence exists.

또한, 상기 대화 패턴 처리부는, 상기 사용자 발화 문장으로부터 사용자 발화 패턴을 생성하는 대화 패턴 생성부; 시스템 대화 패턴을 저장하는 대화 패턴 저장부; 상기 사용자 발화 패턴에 대응되는 시스템 발화 패턴을 상기 대화 패턴 저장부에서 검색하는 사용자 발화 패턴 매칭부; 및 상기 사용자 발화 패턴에 대응되는 시스템 대화 패턴이 검색되면, 상기 시스템 발화 패턴을 상기 대화 패턴 저장부로부터 추출하는 상기 시스템 발화 패턴 추출부를 포함할 수 있다.The conversation pattern processing unit may further include: a conversation pattern generation unit that generates a user utterance pattern from the user utterance sentence; A conversation pattern storage unit for storing a system conversation pattern; A user utterance pattern matching unit for searching the conversation pattern storage unit for a system utterance pattern corresponding to the user utterance pattern; And the system utterance pattern extracting unit that extracts the system utterance pattern from the conversation pattern storage unit when the system utterance pattern corresponding to the user utterance pattern is retrieved.

또한, 상기 대화 패턴 생성부는, 상기 사용자 발화 문장의 명사구를 제 1 기호로 치환하는 기본 명사구 청킹부; 명사별 의미코드를 저장하는 의미코드 저장부; 상기 사용자 발화 문장의 명사구의 핵심어를 추출하고, 상기 핵심어의 의미를 상기 의미코드 저장부를 통해 검색하여 상기 핵심어의 의미코드를 상기 제 1 기호로 치환한 사용자 발화 문장에 부착하는 기본 명사구 의미 부착부; 상기 의미코드가 부착된 상기 사용자 발화 문장의 문장 구조를 분석하는 문장 구조 분석부를 포함할 수 있다.Also, the dialog pattern generation unit may include: a basic noun phrase dialing unit for replacing the noun phrase of the user utterance sentence with a first symbol; A semantic code storage unit for storing a semantic code for each noun; A basic noun phrase meaning attaching unit for extracting a keyword of a noun phrase of the user utterance sentence and searching for a meaning of the keyword through the meaning code storage unit and attaching the keyword to a user utterance sentence in which the meaning code of the keyword is replaced with the first symbol; And a sentence structure analyzing unit for analyzing the sentence structure of the user uttered sentence to which the semantic code is attached.

또한, 상기 문장 구조 분석부는, 상기 문장 구조 분석을 통해 접속사와 연결되는 단문을 제 2 기호로 치환할 수 있다.Also, the sentence structure analyzing unit may replace the short sentence connected to the conjunction through the sentence structure analysis with the second symbol.

또한, 상기 사용자 발화 패턴의 제 1 기호에 대한 넘버링을 수행하고 중복되는 명사구에 대해 제 1기호의 번호로 통일시키는 기본 명사구 번호 일치부를 더 포함할 수 있다.The apparatus may further include a basic noun phrase matching unit for performing numbering on the first symbol of the user utterance pattern and unifying the first noun phrase with the first symbol number.

또한, 상기 형태소 분석부는, 상기 시스템 발화 문장을 원형으로 변경할 수 있다.Further, the morpheme analyzing unit may change the system utterance sentence to a circle.

또한, 상기 대화 시나리오 처리부에서 추출된 원형의 시스템 발화 문장을 상기 사용자 발화 문장과 동일한 시제로 변경하여 생성하는 형태소 생성부를 더 포함할 수 있다.The apparatus may further include a morpheme generator for generating a prototype system utterance sentence extracted from the dialog scenario processing unit by changing the system utterance sentence to the same tense as the user utterance sentence.

또한, 상기 대화 패턴 처리부에서 전달받은 시스템 발화 패턴의 제 1기호 또는 제 2 기호를 명사구 또는 접속사와 연결되는 단문으로 역치환하여 시스템 발화 문장으로 생성하는 기본 명사구 생성부를 더 포함할 수 있다.The apparatus may further include a basic noun phrase generating unit for generating a system utterance sentence by inverting the first symbol or the second symbol of the system utterance pattern received from the conversation pattern processing unit into a short phrase connected to a noun phrase or a conjunction.

본 기술은 대화 패턴을 자동으로 구축하고 대화 패턴을 이용하여 시스템과 사용자간의 대화 관리가 이루어져 연쇄 대화의 효용성이 높은 효과가 있다.This technology has a high effectiveness of the chain dialogue by automatically constructing the dialog pattern and managing the dialog between the system and the user by using the dialog pattern.

또한, 본 기술은 기본 명사구에 대한 지식만으로 대용량의 연쇄 대화 패턴 구축이 가능하기 때문에 대화 시스템의 성능을 단기간에 향상시킬 수 있다.In addition, since the technology can construct a large-capacity chained conversation pattern only by knowledge of the basic noun phrase, the performance of the conversation system can be improved in a short period of time.

도 1은 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 시스템의 구성도이다.
도 2는 도 1의 대화 패턴 기반 대화 처리부의 세부 구성도를 나타내는 도면이다.
도 3 내지 도 4는 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 방법을 나타내는 순서도이다.
도 5는 본 발명의 실시예에 따른 대화 패턴 저장부를 구축하는 방법을 나타내는 순서도이다.
1 is a configuration diagram of a chained conversation pattern-based dialog system according to an embodiment of the present invention.
FIG. 2 is a detailed block diagram of the dialog pattern-based dialog processing unit of FIG. 1. FIG.
3 to 4 are flowcharts illustrating a chained conversation pattern-based conversation method according to an embodiment of the present invention.
5 is a flowchart illustrating a method of constructing a conversation pattern storage unit according to an embodiment of the present invention.

이하 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, in order to facilitate a person skilled in the art to easily carry out the technical idea of the present invention.

본 발명은 한 쌍 또는 연속된 쌍의 대화 패턴을 기반으로 하는 연쇄 대화 시스템에 관한 것으로, 더욱 상세하게는 사용자가 대화 시나리오를 구축하고, 기본 명사구 청킹과 구조 분석을 이용하여 대화 패턴을 자동으로 구축하고, 연쇄 대화 패턴을 대상으로 대화 관리가 이루어져 대화가 진행되는 연쇄 대화 패턴 기반 대화 시스템에 관한 것이다. 여기서, 대화 패턴은 시스템 발화에 대응되는 사용자 발화의 규칙적인 연쇄라고 할 수 있다. 시스템 발화와 사용자 발화를 입력과 출력의 한 쌍의 대상으로 간주하여 커버리지가 높은 대화 패턴으로 변형시킴으로써 영역 이식성이 높고 대화 지식 표현 구축을 쉽게 하며 실제 환경에 효용성이 높은 연쇄 대화 패턴 기반 대화 시스템을 제공할 수 있다.Field of the Invention [0001] The present invention relates to a cascaded dialog system based on a pair or a continuous pair of conversation patterns, and more particularly to a dialogue system in which a user constructs a conversation scenario and automatically constructs a conversation pattern using basic noun phrase chaining and structure analysis The present invention also relates to a chained conversation pattern-based dialog system in which conversation is managed by managing a chained conversation pattern with respect to the conversation. Here, the conversation pattern is a regular chain of user utterances corresponding to system utterances. By using the system utterance and the user utterance as a pair of input and output, it is transformed into a high-coverage dialogue pattern, thereby providing a highly interactive domain-based dialogue system can do.

이하, 도 1 내지 도 5를 참조하여 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 시스템을 설명하기로 한다.Hereinafter, a chained conversation pattern based dialog system according to an exemplary embodiment of the present invention will be described with reference to FIGS. 1 to 5. FIG.

도 1은 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 시스템의 구성도이다.1 is a configuration diagram of a chained conversation pattern-based dialog system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 시스템(10)은 대화 음성 인식부(100), 대화 패턴 기반 대화 처리부(200), 대화 음성 생성부(300)를 포함한다.Referring to FIG. 1, a chained conversation pattern-based dialog system 10 according to an embodiment of the present invention includes an interactive speech recognition unit 100, a dialog pattern-based dialog processing unit 200, and a conversation voice generation unit 300 .

대화 음성 인식부(100)는 사용자(20)로부터 음성이 입력되면 음성을 문자로 인식한 후, 대화 패턴 기반 대화 처리부(200)로 전달한다.The conversation voice recognition unit 100 recognizes a voice as a character when a voice is input from the user 20, and transmits the voice to the conversation pattern-based conversation processing unit 200. [

대화 패턴 기반 대화 처리부(200)는 사용자 발화가 입력되면 사용자 발화에 대해 형태소 단위로 분석한 후 각 형태소를 원형으로 변경한 사용자 발화 문장에 대응되는 시스템 발화 문장이 저장되어 있는지 판단하고, 시스템 발화 문장이 저장되어 있는 경우 저장되어 있는 시스템 발화 문장을 추출하여 사용자 발화의 특성(예컨데, 시제, 문법에 따른 변형 등)에 맞게 시스템 발화 문장을 변경하여 생성한다. When the user utterance is input, the conversation pattern-based dialog processing unit 200 analyzes the user utterance in morphological units, determines whether the system utterance sentence corresponding to the user utterance sentence in which each morpheme is changed into a circular form is stored, The stored system spoken sentence is extracted and the system spoken sentence is changed in accordance with the characteristics of the user utterance (for example, modification based on the tense or grammar).

또한, 대화 패턴 기반 대화 처리부(200)는 시스템 발화 문장이 저장되어 있지 않은 경우, 사용자 발화 문장에 대해 기본 명사구를 특정기호(NP;Noun Phrase)로 치환하고, NP에서 핵심어를 추출하여 핵심어의 의미를 부착한 후 구문분석을 통해 접속사와 연결된 문장을 특정기호(S:sentence)로 치환하여 사용자 발화 패턴을 형성한다. 이렇게 형성된 사용자 발화 패턴이 저장되어 있는지를 판단하고 사용자 발화 패턴에 대응되는 시스템 발화 패턴이 저장되어 있는 경우 저장되어 있는 시스템 발화 패턴을 추출한다. 이어, NP를 기본 명사구로 다시 역치환하고 S를 접속사와 연결된 문장으로 역치환한 후 사용자 발화의 특성(예컨데, 시제, 문법에 따른 변형 등)에 맞게 시스템 발화 문장을 변경하여 생성한다. If the system utterance sentence is not stored, the dialog pattern-based dialog processing unit 200 replaces the basic noun phrase with a specific symbol (NP) for the user utterance sentence, extracts the keyword from the NP, And a sentence associated with the conjunction is replaced with a specific symbol (S: sentence) through a syntax analysis to form a user utterance pattern. Determines whether the user utterance pattern thus formed is stored, and extracts the stored system utterance pattern when the system utterance pattern corresponding to the user utterance pattern is stored. Then, NP is again reduced to the basic noun phrase, and S is inverted to the sentence associated with the conjunction, and then the system utterance sentence is changed according to the characteristics of the user utterance (for example, the tense and the grammatical variation).

대화 음성 생성부(300)는 대화 패턴 기반 대화 처리부(200)에 의해 대화 패턴 기반으로 생성된 시스템 발화 문장을 음성으로 생성한다.The conversation voice generation unit 300 generates a system utterance sentence generated on the basis of the conversation pattern by the conversation pattern based conversation processing unit 200 by voice.

본 발명에서는 사용자의 음성을 입력받기 위한 입력부 및 시스템의 음성 데이터를 출력하기 위한 출력부를 별도로 개시하고 있지 않으나, 마이크, 스피커 등을 구비할 수 있으며 이는 통상적인 구성에 해당한다.The present invention does not separately disclose an input unit for receiving a user's voice and an output unit for outputting voice data of the system, but may include a microphone, a speaker, and the like, which corresponds to a typical configuration.

이하, 도 2를 참조하여 도 1의 대화 패턴 기반 대화 처리부(200)의 세부 구성을 상세히 설명하기로 한다.Hereinafter, the detailed structure of the dialog pattern-based dialog processing unit 200 of FIG. 1 will be described in detail with reference to FIG.

도 2를 참조하면, 대화 패턴 기반 대화 처리부(200)는 대화 시나리오 처리부(210), 대화 패턴 처리부(220), 기본 명사구 생성부(230), 및 형태소 생성부(240)를 포함한다.Referring to FIG. 2, the dialog pattern-based dialog processing unit 200 includes a dialog scenario processing unit 210, a dialog pattern processing unit 220, a basic noun phrase generating unit 230, and a morpheme generating unit 240.

대화 시나리오 처리부(210)는 사용자(20)로부터 입력된 사용자 발화 문장의 형태소를 분석하고 사용자 발화 문장이 저장되어 있는지 판단하여 사용자 발화 문장이 저장되어 있는 경우 사용자 발화 문장에 대응하는 시스템 발화 문장을 추출하여 형태소 생성부(240)로 전달한다.The dialog scenario processing unit 210 analyzes the morpheme of the user utterance sentence input from the user 20 and judges whether or not the user uttered sentence is stored. If the user uttered sentence is stored, the system scenario utterance corresponding to the user uttered sentence is extracted And transmits it to the morpheme generator 240.

이를 위해, 대화 시나리오 처리부(210)는 형태소 분석부(211), 사용자 발화 문장 매칭부(212), 시스템 발화 문장 추출부(213), 대화 시나리오 저장부(214)를 포함한다.To this end, the dialog scenario processing unit 210 includes a morphological analysis unit 211, a user utterance sentence matching unit 212, a system utterance sentence extraction unit 213, and a dialogue scenario storage unit 214.

형태소 분석부(211)는 사용자 발화 문장을 형태소 단위로 분석한다. 예를 들어, 명사, 동사, 형용사, 부사, 관사 등 문장을 구성하는 형태소를 구분한다. 또한, 형태소 분석부(211)는 사용자 발화 문장의 동사의 시제, 형용사 및 부사의 변형 등을 분석하여, 원형으로 변환한다. 즉, 형태소 분석부(211)는 사용자 발화 문장의 동사 시제, 형용사 및 부사의 변형 등을 동사 원형, 형용사 원형, 부사 원형으로 변경한다.The morpheme analysis unit 211 analyzes the user utterance sentence in morpheme units. For example, we distinguish morphemes that form sentences such as nouns, verbs, adjectives, adverbs, and articles. In addition, the morpheme analysis unit 211 analyzes the verb tense, adjective, and adverbial deformation of the user utterance sentence, and converts it into a circular form. That is, the morpheme analysis unit 211 changes the verb tense, the adjective, and the adverbial transformation of the user utterance sentence into a verb form, an adjective form, and an adverbial form.

사용자 발화 문장 매칭부(212)는 원형으로 변경된 원형 사용자 발화 문장에 대응되는 시스템 발화 문장이 대화 시나리오 저장부(214)에 저장되어 있는지를 검색한다. 이때, 시스템 발화 문장도 원형 상태로 저장되어 있다.The user utterance sentence matching unit 212 searches whether or not the system utterance sentence corresponding to the circular user utterance sentence changed to the circle is stored in the dialogue scenario storage unit 214. [ At this time, the system utterance sentence is also stored in a circular state.

시스템 발화 문장 추출부(213)는 대화 시나리오 저장부(214)로부터 사용자 발화 문장에 대응되는 시스템 발화 문장을 추출한다.The system utterance sentence extracting unit 213 extracts a system utterance sentence corresponding to the user utterance sentence from the conversation scenario storage unit 214. [

대화 시나리오 저장부(214)는 다양한 대화 시나리오를 원형 형태로 아래 표 1과 같이 저장한다.The dialogue scenario storage unit 214 stores various dialogue scenarios in a circular form as shown in Table 1 below.

[KEY]dscenario@favorite-season
[CONTENT]
{S: What be your favorite season ?} -> {U: My favorite season be spring .}
{U: My favorite season be spring} -> {S: Why be it your favorite ?}
{UP: I like spring} -> {S: Why be it your favorite ?}
{S: Why be it your favorite ?} -> {U: Spring be my favorite season because it be a not too cold or too hot}
{U: Spring be my favorite season because it be a not too cold or too hot } -> {S: Which season do you like the least ?}
{S: Which season do you like the least ?} -> {U: I do not like winter }
[KEY] dscenario @ favorite-season
[CONTENT]
{S: What's your favorite season?} -> {U: My favorite season be spring.}
{U: My favorite season be spring} -> {S: Why be it your favorite?
{UP: I like spring} -> {S: Why be it your favorite?}
{S: Why do you like it?} -> {U: Spring be my favorite season because it is not too cold or too hot}
{U: Spring be my favorite season because it's not too cold or too hot} -> {S: Which season do you like the least?
{S: Which season do you like the least?} -> {U: I do not like winter}

대화 패턴 처리부(220)는 사용자 발화 문장에 대해 기본 명사구를 특정기호(NP)로 치환하고, NP에서 핵심어를 추출한 후 핵심어의 의미코드를 부착한다. 그 후, 대화 패턴 처리부(220)는 구문분석을 통해 접속사와 연결된 문장을 특정기호(S)로 치환하여 사용자 발화 패턴을 형성한다. 이어서, 대화 패턴 처리부(220)는 상기와 같이 형성된 사용자 발화 패턴이 저장되어 있는지를 판단하고 사용자 발화 패턴에 대응되는 시스템 발화 패턴이 저장되어 있는 경우 저장되어 있는 시스템 발화 패턴을 추출하여, 시스템 발화 문장 생성부(230)로 전달한다.The conversation pattern processing unit 220 replaces the basic noun phrase with the specific symbol (NP) for the user utterance sentence, extracts the keyword from the NP, and attaches the meaning code of the keyword. Thereafter, the conversation pattern processing unit 220 forms a user utterance pattern by replacing the sentence associated with the conjunction with the specific symbol S through a syntax analysis. Then, the conversation pattern processing unit 220 determines whether the user utterance pattern formed as described above is stored, extracts the stored system utterance pattern when the system utterance pattern corresponding to the user utterance pattern is stored, To the generation unit (230).

이를 위해, 대화 패턴 처리부(220)는 대화 패턴 생성부(229), 사용자 발화 패턴 매칭부(226), 시스템 발화 패턴 추출부(227), 대화 패턴 저장부(228)를 포함한다.The speech pattern processing unit 220 includes a dialog pattern generation unit 229, a user speech pattern matching unit 226, a system speech pattern extraction unit 227, and a dialog pattern storage unit 228.

대화 패턴 생성부(229)는 대화 패턴을 생성하며 기본 명사구 청킹부(chunking;221), 기본 명사구 의미 부착부(222), 의미코드 저장부(223), 문장 구조 분석부(224), 기본 명사구 번호 일치부(225)를 포함할 수 있다.The dialog pattern generating unit 229 generates a dialog pattern and includes a basic noun phrase chunking unit 221, a basic noun phrase sense attaching unit 222, a semantic code storage unit 223, a sentence structure analyzing unit 224, And may include a numbered portion 225.

기본 명사구 청킹부(221)는 사용자 발화 문장 형태소 분석 결과에서 명사구문이 존재하는 경우 명사구를 특정 기호(NP)로 치환한다. 예를 들어, “What is your favorite season?”이 사용자 발화 문장인 경우, 명사구문인 “your favorite season”을 NP로 치환하여 “What is NP1?"이 된다.The basic noun phrase syllable part 221 replaces the noun phrase with a specific symbol (NP) when there is a noun phrase in the result of morphological analysis of the user utterance sentence. For example, if "What is your favorite season?" Is a user utterance sentence, "NP is replaced by NP", and "What is NP1?"

기본 명사구 의미 부착부(222)는 NP에서 핵심어를 추출하고 핵심어의 의미코드를 의미코드 저장부(223)로부터 추출하여 치환된 사용자 발화 문장에 부착한다. 이때, 핵심어는 NP의 가장 오른쪽 단어가 된다. 예를 들어, NP가 “your favorite season”인 경우 가장 오른쪽 단어인 “season”이 핵심어가 된다. “season”의 의미코드는 “시간”이 되고, NP1=season@시간@“your favorite season”로 부착된다.The basic noun phrase sense attaching unit 222 extracts the keyword from the NP and extracts the meaning code of the keyword from the meaning code storage unit 223 and attaches it to the replaced user utterance sentence. At this time, the keyword is the rightmost word of the NP. For example, if NP is "your favorite season", the rightmost word "season" is the keyword. The semester code for "season" becomes "time" and is attached to NP1 = season @ time @ "your favorite season".

의미코드 저장부(223)는 단어별 의미코드를 저장한다. The semantic code storage unit 223 stores a semantic code for each word.

문장 구조 분석부(224)는 사용자 발화 문장의 구문분석을 통해 접속사와 연결되는 단문(Simple sentence)들을 모두 S로 치환한다. 예를 들어, 사용자 발화 문장이 “Spring is may favorite season because it’s a not too cold or too hot”인 경우 because와 연결되는 “ it’s a not too cold or too hot”을 S로 치환하여, “spring is my favorite season because S”가 되는데, NP 치환과 의미 부착을 모두 수행한 경우 “NP5 is NP6 because S”이 될 수 있다. The sentence structure analysis unit 224 replaces all sentences (Simple sentences) connected with the conjunction through S by parsing the user utterance sentence. For example, if the user spoken sentence is "Spring is a favorite season because it is not too cold or too hot," substitute S for "it's not too cold or too hot" favorite season because S ", which can be" NP5 is NP6 because S "when NP substitution and semantic attachment are both performed.

기본 명사구 번호 일치부(225)는 현재 발화하는 주제에 대한 NP에 대해서는 NP0를 부여하고 동일한 핵심어와 의미를 가지는 NP는 동일한 번호인 NP#을 부여하여 사용자 발화 패턴을 완성시킨다. 즉, 대화 패턴 중 중복되는 명사구에 대해 동일 번호를 부여한다.The basic noun phrase unit number assigning unit 225 assigns NP0 to the NP for the subject that is currently uttering, and NP # having the same key word and meaning has the same number NP # to complete the user utterance pattern. That is, the same number is assigned to overlapping noun phrases in the dialog pattern.

사용자 발화 패턴 매칭부(226)는 사용자 발화 패턴에 대응하는 시스템 발화 패턴이 대화 패턴 저장부(228)에 저장되어 있는지 검색한다.The user utterance pattern matching unit 226 searches the conversation pattern storage unit 228 for a system utterance pattern corresponding to the user utterance pattern.

시스템 발화 패턴 추출부(227)는 대화 패턴 저장부(228)로부터 사용자 발화 패턴에 대응하는 시스템 발화 패턴을 추출하여 기본 명사구 생성부(232)로 전달한다.The system utterance pattern extraction unit 227 extracts a system utterance pattern corresponding to the user utterance pattern from the conversation pattern storage unit 228 and transmits the extracted system utterance pattern to the basic nominal phrase generation unit 232.

대화 패턴 저장부(228)는 미리 NP, S로 치환되고 핵심어에 대한 의미가 부착된 시스템 발화 패턴들을 포함하는 대화 패턴을 아래 표 2와 같이 저장한다. 즉, 대화 패턴은 발화 패턴들을 모아놓은 것을 의미한다. 추후 도 5를 참조하여 대화 패턴 저장부(228)의 대화 패턴 생성 및 구축 방법을 구체적으로 설명하기로 한다.The conversation pattern storage unit 228 stores conversation patterns including system utterance patterns substituted with NP and S in advance and attached with meaning to key words as shown in Table 2 below. That is, the conversation pattern means a collection of speech patterns. A method of generating and constructing a dialog pattern in the dialog pattern storage unit 228 will be described in detail with reference to FIG.

{S: What is NP0 ? //NP1=NP0, NP0=season@시간@“your favorite season”} -> {U: NP0 is NP3 //NP2=NP0, NP0=season@시간@“my favorite season”, NP3=spring@시간@“spring”}

{U: NP0 is NP3 //NP2=NP0, NP0=season@시간@“my favorite season”, NP3=spring@시간@“spring”} -> {S: Why is it NP0 ? //NP4=NP0, NP0=season@시간@“your favorite”}

{UP: I like NP3 //NP3=spring@시간@“spring”} -> {S: Why is it NP0 ? //NP4=NP0, NP0=season@시간@“your favorite”}

{S: Why is it NP0? //NP4=NP0, NP0=season@시간@“your favorite”} -> {U: NP3 is NP0 because S //NP5=NP3, NP6=NP0,//NP3=spring@시간@“spring”, NP0=season@시간@“my favorite season”, S=“it’s a not too cold or too hot”}

{U: NP3 is NP0 because S //NP5=NP3, NP6=NP0,//NP3=spring@시간@“spring”, NP0=season@시간@“my favorite season”, S=“it’s a not too cold or too hot”} -> {S: Which NP0 do you like the least ? //NP7=NP0, // NP0=season@시간@“season”}

{S: Which NP0 do you like the least ? //NP7=NP0, // NP0=season@시간@“season”} -> {U: I don’t like NP8 //NP8=winter@시간@“winter”}
{S: What is NP0? // my favorite season ", NP3 = spring @ time @" NP0 is NP3 // NP1 = NP0, NP0 = season @ "Spring"}

{U: NP0 is NP3 // NP2 = NP0, NP0 = season @ time @ "my favorite season", NP3 = spring @ time @ "spring"} -> {S: Why is it NP0? // NP4 = NP0, NP0 = season @ time @ "your favorite"}

{UP: I like NP3 // NP3 = spring @ time @ "spring"} -> {S: Why is it NP0? // NP4 = NP0, NP0 = season @ time @ "your favorite"}

{S: Why is it NP0? // NP3 = NP0 = NP0, // NP3 = spring @ time @ "spring", NP0 = NP0 = NP0, NP0 = season @ time @ "your favorite" = season @ time @ "my favorite season", S = "it's not too cold or too hot"}

{U: NP3 is NP0 because S // NP5 = NP3, NP6 = NP0, // NP3 = spring @ time "spring", NP0 = season @ time @ "my favorite season", S = or too hot "} -> {S: Which NP0 do you like the least? // NP7 = NP0, // NP0 = season @ time @ "season"}

{S: Which NP0 do you like the least? // NP8 = winter @ time @ "winter"} -> {U: I do not like NP8 // NP0 =

기본 명사구 생성부(230)는 대화 패턴 처리부(220)로부터 출력되는 시스템 발화 패턴의 특정기호(NP, S)를 기본 명사구 및 접속사와 연결된 단문으로 역치환한 후 형태소 생성부(240)로 전달한다. The basic noun phrase generation unit 230 inverses the specific symbols (NP, S) of the system utterance pattern output from the conversation pattern processing unit 220 to a short sentence connected to the basic noun phrase and the conjunction, and then transmits the short word to the morpheme generation unit 240.

형태소 생성부(240)는 대화 시나리오 처리부(210)와 출력되는 시스템 발화 문장 및 기본 명사구 생성부(230)에서 전달받은 시스템 발화 문장을 사용자 발화 문장의 특성(예컨데, 시제등)에 맞게 시스템 발화문장을 변경하여 생성한다.
The morpheme generation unit 240 generates a morpheme sentence sent from the dialog scenario processing unit 210 and the system utterance sentence and the basic noun phrase generation unit 230 to generate a system utterance sentence according to the characteristics of the user utterance sentence .

이하, 도 3 내지 도 4를 참조하여 본 발명의 실시예에 따른 연쇄 대화 패턴 기반 대화 방법을 구체적으로 설명하기로 한다.Hereinafter, a chained conversation pattern-based conversation method according to an embodiment of the present invention will be described in detail with reference to FIG. 3 to FIG.

먼저 도 3을 참조하면, 사용자로부터 발화가 입력되면(S101), 형태소 분석부(211)는 사용자의 발화 문장에 대해 형태소 단위로 분석을 수행한다(S102). 즉, 사용자의 발화 문장을 형태소 단위로 구분하고 시제변형 등 단어의 변형을 단어의 원형상태로 변경하는 것을 포함한다.Referring to FIG. 3, when a user inputs a speech (S101), the morpheme analysis unit 211 performs morpheme analysis on the user's speech (S102). That is, the user's utterance sentence is divided into morpheme units, and the modification of the word, such as the tempo modification, is changed into the circular state of the word.

그 후, 형태소 단위로 분석된 사용자 발화 문장에 대응되는 시스템 발화 문장이 대화 시나리오 저장부(214)에 존재하는지를 검색한다(S103).Thereafter, it is determined whether a system utterance sentence corresponding to the user utterance sentence analyzed in the morpheme unit exists in the dialogue scenario storage unit 214 (S103).

대화 시나리오 저장부(214)에 사용자 발화 문장에 대응되는 시스템 발화 문장이 존재하는 경우, 시스템 발화 문장 추출부(213)는 사용자 발화 문장에 대응되는 시스템 발화 문장을 추출한다(S104).If there is a system utterance sentence corresponding to the user utterance sentence in the conversation scenario storage unit 214, the system utterance sentence extraction unit 213 extracts a system utterance sentence corresponding to the user utterance sentence (S104).

이때, 추출된 시스템 발화 문장은 원형 상태이므로 형태소 생성부(231)는 이를 처음 입력된 사용자 발화 문장의 시제 및 변형, 형태소 분석결과에 맞춰 변경하여 생성한다(S105).At this time, since the extracted system utterance sentence is in a circular state, the morpheme generation unit 231 changes it according to the result of the morpheme analysis and morphing analysis of the user utterance sentence, which is input first, at step S105.

한편, 상기 과정 S103에서 사용자 발화 문장에 대응되는 시스템 발화 문장이 대화 시나리오 저장부(214)에 존재하지 않는 경우(A)에 대해 도 4를 참조하여 구체적으로 설명하기로 한다.Meanwhile, a case (A) in which the system utterance sentence corresponding to the user utterance sentence is not present in the dialogue scenario storage unit 214 in the above-described step S103 will be described in detail with reference to FIG.

즉, 사용자 발화 문장에 대응되는 시스템 발화 문장이 대화 시나리오 저장부(214)에 존재하지 않는 경우, 형태소 분석된 사용자 발화 문장이 대화 패턴 처리부(220)로 전송된다.That is, when the system utterance sentence corresponding to the user utterance sentence does not exist in the dialogue scenario storage unit 214, the morpheme analyzed user utterance sentence is transmitted to the dialogue pattern processing unit 220.

이에, 기본 명사구 청킹부(221)는 형태소 분석된 사용자 발화 문장 중 기본 명사구를 NP로 치환한다(S106).The basic noun phrasing chunning unit 221 replaces the basic noun phrase of the morpheme analyzed user utterance sentence with NP (S106).

그 후, 기본 명사구 의미 부착부(222)는 NP에서 핵심어를 추출하고 의미코드 저장부(223)로부터 핵심어에 대한 의미코드를 가져와 치환된 사용자 발화 문장에 부착시킨다(S107).Then, the basic noun phrase sense attaching unit 222 extracts a keyword from the NP, fetches a meaning code for the keyword from the meaning code storage unit 223, and attaches the meaning code to the replaced user utterance sentence (S107).

이어서, 문장 구조 분석부(224)는 구문 분석을 수행하여 접속사와 연결되는 단문을 S로 치환하여 사용자 발화 패턴을 생성한다(S108).Then, the sentence structure analyzer 224 performs a syntax analysis to generate a user utterance pattern by replacing the short sentence connected to the conjunction with S (S108).

사용자 발화 패턴 매칭부(226)는 이렇게 생성된 사용자 발화 패턴에 대응되는 시스템 발화 패턴이 대화 패턴 저장부(228)에 존재하는지를 검색한다(S109).The user utterance pattern matching unit 226 searches whether the system utterance pattern corresponding to the user utterance pattern thus generated exists in the conversation pattern storage unit 228 (S109).

사용자 발화 패턴에 대응되는 시스템 발화 패턴이 대화 패턴 저장부(228)에 존재하는 경우, 시스템 발화 패턴 추출부(247)는 대화 패턴 저장부(228)로부터 사용자 발화 패턴에 대응되는 시스템 발화 패턴을 추출하여 기본 명사구 생성부(232)로 전송한다(S110).When the system utterance pattern corresponding to the user utterance pattern exists in the conversation pattern storage 228, the system utterance pattern extractor 247 extracts the system utterance pattern corresponding to the user utterance pattern from the conversation pattern storage 228 And transmits it to the basic noun phrase generation unit 232 (S110).

이에, 기본 명사구 생성부(232)는 시스템 발화 패턴의 NP, S를 기본 명사구로 역치환하여 시스템 발화 문장을 생성하여 형태소 생성부(231)로 전달한다(S111)Then, the basic noun phrase generation unit 232 generates a system utterance sentence by inverting NP and S of the system utterance pattern with the basic noun phrase, and transmits the generated system utterance sentence to the morpheme generation unit 231 (S111)

이에, 형태소 생성부(231)는 역치환된 시스템 발화 문장을 사용자 발화 문장 특성(예컨데, 시제, 변형 등)에 맞게 변경하여 생성한다(S112).Then, the morpheme generator 231 changes the backward-replaced system utterance sentence according to the user utterance sentence characteristics (e.g., tense, deformation, etc.) (S112).

이하, 도 5를 참조하여 본 발명의 실시예에 따른 대화 패턴 저장부를 구축하는 방법을 설명하기로 한다.Hereinafter, a method for constructing a dialog pattern storage unit according to an embodiment of the present invention will be described with reference to FIG.

먼저, 시스템과 사용자 발화 시나리오가 입력되면(S201), 형태소 분석부(211)는 시스템과 사용자 발화에 대해 형태소 단위의 분석을 수행한다(S202). 이때, 형태소 단위의 분석은 사용자 발화 문장 내의 명사, 관사, 형용사, 동사 등의 형태소 단위로 구분하는 것을 의미한다.First, when a system and a user utterance scenario are input (S201), the morpheme analysis unit 211 performs morpheme unit analysis on the system and user utterance (S202). At this time, the analysis of the morpheme unit means to divide into morpheme units such as nouns, articles, adjectives, and verbs in user utterance sentences.

그 후, 기본 명사구 청킹부(221)는 형태소 분석된 결과를 대상으로 기본 명사구들을 NP로 치환한다(S203).Subsequently, the basic noun phrase cheek unit 221 replaces the basic noun phrases with the NP as a result of the morphological analysis (S203).

이어서, 기본 명사구 의미 부착부(222)는 NP의 마지막 단어를 핵심어로 추출하고(S204), 추출된 핵심어에 대해 의미코드 사전으로부터 추출하여 치환된 사용자 발화 문장에 의미코드를 부착한다(S205).Next, the basic noun phrase sense attaching unit 222 extracts the last word of the NP as a key word (S204), attaches the meaning code to the replaced user utterance sentence extracted from the semantic code dictionary for the extracted key word (S205).

그 후, 문장 구조 분석부(224)는 NP로 치환된 형태소 분석결과를 대상으로 구조분석을 실시하여(S206), 접속사와 연결된 단순문을 S로 치환한다(S207). 즉, 구조분석은 접속사와 연결되는 문장의 끝이 어디인지 판단하는 것이다.Thereafter, the sentence structure analyzer 224 performs a structural analysis on the morpheme analysis result that is replaced with the NP (S206), and substitutes the simple sentence connected to the conjunction with S (S207). In other words, the structural analysis is to determine where the end of the sentence is connected to the conjunction.

그 후, 기본 명사구 번호 일치부(228)는 토픽 추적에 의한 이전 발화와 현재 발화와 현재 발화의 기본 명사구 번호를 일치시켜 대화 패턴을 완성하고(S208), 완성된 대화 패턴을 저장한다(S209).Thereafter, the basic noun phrase number selector 228 completes the dialog pattern by matching the previous noun phrase of the topic tracking and the basic noun phrase numbers of the current utterance and the current utterance (S208), and stores the completed conversation pattern (S209) .

한편, 상기 과정 S109에서 사용자 발화 패턴에 대응되는 시스템 발화 패턴이 대화 패턴 저장부(228)에 존재하지 않는 경우(B), 대화 시스템(10)은 사용자에게 다른 표현으로 다시 말하기를 유도하거나 해당 사용자 발화 문장에 대한 발화 패턴을 생성하여 대화 패턴 저장부(228)에 업데이트시킬 수 있다.If the system utterance pattern corresponding to the user utterance pattern is not present in the conversation pattern storage unit 228 in step S109, the conversation system 10 may prompt the user to re- An utterance pattern for the utterance sentence may be generated and updated in the conversation pattern storage unit 228.

이하, 추가적으로 표 3 내지 표 7을 참조하여 대화 패턴을 생성하고 저장하는 방법을 구체적으로 설명하기로 한다.Hereinafter, a method of generating and storing a conversation pattern will be described in detail with reference to Tables 3 to 7.

Figure pat00001
Figure pat00001

표 3에서 S:는 대화 시스템을 의미하며, U:은 학습자인 사용자를, UP:는 U:의 패러프래징을 의미한다. 상기의 대화 시나리오에서 첫 번째 칼럼인 “발화”는 영어 회화 교육을 위해 실제로 수집한 선생님과 학습자간의 실제 대화를 의미하며 하기 표 4와 같다.In Table 3, S: refers to the dialog system, U: refers to users who are learners, and UP: refers to paradigm of U :. In the above dialogue scenario, the first column, " Speaking ", refers to the actual conversation between the teacher and the learner, which is actually collected for English conversation education.

S: What is your favorite season?
U: My favorite season is spring.
UP: I like spring.
S: Why is it your favorite?
U: Spring is my favorite season because it’s a not too cold or too hot.
Q: What is your favorite season?
U: My favorite season is spring.
UP: I like spring.
S: Why is it your favorite?
U: Spring is my favorite season because it's too cold or too hot.

상기 표 3의 대화 시나리오에서 두 번째 칼럼인 “기본명사구 청킹”은 “명사”, “관사 명사”, “관사 형용사 명사”와 같은 구조를 기본 명사구인 NP로 청킹 및 치환한 결과이다. "//" 뒤에 NP에 대한 발화 표현을 제시한다.In the dialogue scenario of Table 3 above, the second column, "Basic Noun phrase chunking", is the result of chunking and replacing the structures such as "noun", "article noun", and "article noun" with the basic noun phrase NP. "//" is followed by a speech expression for NP.

이때, 대화 시나리오에 대한 기본명사구 청킹 예는 아래 표 5과 같다. At this time, examples of the basic noun phrase for the dialog scenario are shown in Table 5 below.

S: What is NP1 ? //NP1=“your favorite season”
U: NP2 is NP3. //NP2=“my favorite season”, NP3=“spring”
UP: I like NP3. //NP3=“spring”
S: Why is it NP4 ? //NP4=“your favorite”
U: NP5 is NP6 because S. //NP5=“spring”, NP6=“my favorite season”, S=“it’s a not too cold or too hot”
Q: What is NP1? // NP1 = "your favorite season"
U: NP2 is NP3. // NP2 = "my favorite season", NP3 = "spring"
UP: I like NP3. // NP3 = "spring"
S: Why is it NP4? // NP4 = "your favorite"
U: NP5 is NP6 because S. // NP5 = "spring", NP6 = "my favorite season", S = "it's not too cold or too hot"

상기의 대화 시나리오에서 세 번째 칼럼인 “핵심어 추출 및 의미부착”에서는 첫 번째 발화부터 NP에 일련번호를 붙이게 되며, "//" 뒤에 NP로 청킹된 원래의 어휘들을 기재한다. In the third column, "Keyword Extraction and Meaning Attachment" in the dialogue scenario above, the NP is serialized from the first utterance, and the original vocabularies chunked to NP after "//" are described.

그 후, 기본 명사구인 NP에 대해 NP의 마지막 어휘를 핵심어(Head Word)로 추출하고 추출된 핵심어에 의미코드를 의미코드 저장부(223)로부터 부착한 결과는 아래 표 6과 같다.Thereafter, the last word of the NP is extracted as a keyword in the basic noun phrase NP, and the meaning code is attached to the extracted keyword from the meaning code storage unit 223 as shown in Table 6 below.

S: What is NP1 ? //NP1=season@시간@“your favorite season”
U: NP2 is NP3. //NP2=season@시간@“my favorite season”, NP3=spring@시간@“spring”
UP: I like NP3. // NP3=spring@시간@“spring”
S: Why is it NP4 ? //NP4=season@시간@“your favorite”
U: NP5 is NP6 because S. //NP5=spring@시간@“spring”, NP6=season@시간@“my favorite season”, S=“it’s a not too cold or too hot"
Q: What is NP1? // NP1 = season @ time @ "your favorite season"
U: NP2 is NP3. // NP2 = season @ time @ "my favorite season", NP3 = spring @ time @ "spring"
UP: I like NP3. // NP3 = spring @ time @ "spring"
S: Why is it NP4? // NP4 = season @ time @ "your favorite"
U: NP5 is NP6 because S. // NP5 = spring @ time @ "spring", NP6 = season @ time @ "my favorite season", S = "it's not too cold or too hot"

상기 표 6에서 “핵심어 추출 및 의미부착”의 첫 번째 발화의 //NP1=season@시간@“your favorite season”은 NP1의 원래 발화는 “your favorite season”이었으며 그것의 핵심어는 season이며 season의 의미가 “@시간@”이라는 것을 의미한다. NP1 = "your favorite season" of the first utterance of "Keyword Extraction and Meaning Attachment" in Table 6 above was that NP1's original utterance was "your favorite season" and its key word was season and meaning of season Means "@ time @".

이렇게 각 문장 별로 기본 명사구 청킹 및 핵심어 추출과 의미 부착된 결과를 대상으로 이전 발화와 현재 발화의 기본 명사구들에 대해 NP번호를 긴밀(coherent)하게 연결시키는 토픽 추적과 기본 명사구 번호 일치 작업을 하면 “대화 패턴”이 하기 표 7과 같이 만들어진다.In this way, the basic noun phrase chunking, key word extraction, and semantic-attached result for each sentence are compared with the basic noun phrase number matching process, which coherently links the NP numbers to the basic noun phrases of the previous utterance and the current utterance. Quot; conversation pattern " is made as shown in Table 7 below.

S: What is NP0 ? //NP1=NP0, NP0=season@시간@“your favorite season”
U: NP0 is NP3. //NP2=NP0, NP0=season@시간@“my favorite season”, NP3=spring@시간@“spring”
UP: I like NP3. // NP3=spring@시간@“spring”
S: Why is it NP0 ? //NP4=NP0, NP0=season@시간@“your favorite”
U: NP3 is NP0 because S. //NP5=NP3, NP6=NP0,//NP3=spring@시간@“spring”, NP0=season@시간@“my favorite season”, S=“it’s a not too cold or too hot”
Q: What is NP0? // NP1 = NP0, NP0 = season @ time @ "your favorite season"
U: NP0 is NP3. // NP2 = NP0, NP0 = season @ time @ "my favorite season", NP3 = spring @ time @ "spring"
UP: I like NP3. // NP3 = spring @ time @ "spring"
S: Why is it NP0? // NP4 = NP0, NP0 = season @ time @ "your favorite"
U: NP3 is NP0 because S. // NP5 = NP3, NP6 = NP0, // NP3 = spring @ time "spring", NP0 = season @ time @ "my favorite season", S = or too hot "

상기 표 7에서 대화 패턴”의 첫 번째 발화 S: What is NP0? //NP1=NP0, NP0=season@시간@“your favorite season”에서 NP1=NP0는 NP1이 토픽이 된다는 것을 의미한다. 따라서 이후의 발화에서 NP1=season@시간@“your favorite season”을 가지는 NP는 모두 NP0가 된다. 마지막 사용자 발화인 U: NP3 is NP0 because S. //NP5=NP3, NP6=NP0,//NP3=spring@시간@“spring”, NP0=season@시간@“my favorite season”, S=“it’s a not too cold or too hot”에서는 현재 발화 NP5는 이전 발화의 NP3와 동일한 핵심어와 의미를 가지기 때문에 NP3로 변경이 되며, NP6는 NP0와 동일한 핵심어와 의미를 가지기 때문에 토픽으로 간주된 것이다.In Table 7, the first speech S: What is NP0? // NP1 = NP0, NP0 = season @ Time In "your favorite season" NP1 = NP0 means that NP1 is the topic. Therefore, NPs with NP1 = season @ time @ "your favorite season" in subsequent utterances are all NP0. The last user call U: NP3 is NP0 because S. // NP5 = NP3, NP6 = NP0, // NP3 = spring @ time @ spring, NP0 = season @ NP5 is regarded as a topic because it has the same key word and meaning as NP3 of the previous utterance, so it is changed to NP3, and NP6 is the same key word and meaning as NP0.

<실시예><Examples>

이하, 상기에서 구축되어 있다고 가정한 대화 시나리오 저장부(214), 대화 패턴 저장부(228)의 각 각 예들을 사용하여 실제로 대화 시스템과 사용자가 대화를 나누는 과정을 예를 들어 설명하기로 한다. Hereinafter, a process of actually talking with a conversation system and a user using each example of the conversation scenario storage unit 214 and the conversation pattern storage unit 228, which are assumed to be constructed above, will be described as an example.

먼저, 대화 시스템이 하기와 같이 사용자에게 질문을 하였다고 가정해보자.First, let's assume that the conversation system asks the user the following questions.

[대화 시스템의 질문][Interactive system question]

S: What is your favorite season?Q: What is your favorite season?

그리고 사용자는 다음과 같이 대답을 하였다고 가정해 보자.
Suppose that the user replies as follows.

[사용자의 대답][Your answer]

U: I like summer.U: I like summer.

대화 시스템(10)은 사용자의 대답인 “U: I like summer.”를 대화 시나리오 저장부(214), 대화 패턴 저장부(228)에서 차례로 탐색한다. “U: I like summer.”가 대화 시나리오 저장부(214)에 존재하지 않고 대화 패턴 저장부(228)에서 검색되었기 때문에 대화 시스템(10)은 그에 대한 응답을 다음과 같이 생성할 수 있다.The dialog system 10 sequentially searches for the user's answer "U: I like summer." In the dialogue scenario storage unit 214 and the dialog pattern storage unit 228. Since the &quot; U: I like summer. &Quot; is not present in the dialogue scenario storage unit 214 but has been searched in the dialogue pattern storage unit 228, the dialogue system 10 can generate a response thereto as follows.

[검색된 대화 패턴 DB][Search pattern DB]

{UP: I like NP3 //NP3=spring@시간@“spring”} -> {S: Why is it NP0 ? //NP4=NP0, NP0=season@시간@“your favorite”}
{UP: I like NP3 // NP3 = spring @ time @ "spring"} -> {S: Why is it NP0? // NP4 = NP0, NP0 = season @ time @ "your favorite"}

[대화 시스템의 대답][Conversation system answer]

S: Why is it your favorite?S: Why is it your favorite?

상기의 대화 시스템의 대답에 사용자가 아래와 같이 대답을 했다고 가정하자. Suppose that the user replies to the above dialog system's answer as follows.

[사용자의 대답][Your answer]

U: I like summer because I can get a tan in the hot sun.
U: I like summer because I can get a tan in the hot sun.

대화 시스템(10)은 사용자의 대답인 “U: I like summer because I can get a tan in the hot sun.”를 대화 시나리오 저장부(214)), 대화 패턴 저장부(228) 에서 차례로 탐색한다. “U:I like summer because I can get a tan in the hot sun.”가 대화 시나리오 저장부(214))와 대화 패턴 저장부(228)에 존재하지 않는 경우 대화 시스템(10)은 사용자에게 다른 표현으로 다시 말하기를 유도하거나 해당 사용자 발화 문장에 대한 발화 패턴을 생성하여 대화 패턴 저장부(228)에 업데이트시킬 수 있다.The conversation system 10 sequentially searches the conversation pattern storage unit 228 for the user's answer &quot; U: I like summer because I can get a tan in the hot sun. &Quot; If the dialogue system 10 does not exist in the dialogue scenario storage unit 214 and the dialogue scenario storage unit 228 does not exist, Or may generate an utterance pattern for the corresponding user utterance sentence and update it in the conversation pattern storage unit 228. [

이와 같이 본 발명의 구성에 따르면, 대화 패턴 표현 방식이 간단하여 자동 구축이 용이하고 예외 사항에 대처할 수 있는 유연성이 높아 대화 시스템의 성능을 단기간에 향상시킬 수 있으며, 다양한 도메인에 대한 연쇄 대화 패턴 구축이 가능하기 때문에 실제 환경에 효용성이 높은 대화 시스템을 구축할 수 있다.As described above, according to the configuration of the present invention, it is possible to improve the performance of the conversation system in a short period of time by providing a simple method of expressing a conversation pattern and facilitating automatic construction and flexibility of coping with an exception, It is possible to construct an interactive system that is highly useful in a real environment.

이에, 본 발명은 대화 시스템뿐만 아니라 대화체 자동통역 시스템, 채팅 번역 시스템, 대화형 로봇(Chat-Bot)에도 적용할 수 있다.
Accordingly, the present invention can be applied not only to the dialog system, but also to the dialogue automatic interpretation system, the chat translation system, and the interactive robot (Chat-Bot).

상술한 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It should be regarded as belonging to the claims.

10 : 대화 시스템 20 : 사용자
100 : 대화 음성 인식부 200 : 대화 패턴 기반 대화 처리부
300 : 대화 음성 생성부 210 : 대화 시나리오 처리부
220 : 대화 패턴 처리부 230 : 대화 규칙 처리부
211 : 형태소 분석부 212 : 사용자 발화 문장 매칭부
213 : 시스템 발화 문장 추출부 214 : 대화 시나리오 저장부
229 : 대화 패턴 생성부 221 : 기본 명사구 청킹부
222 : 기본 명사구 의미 부착부 223 : 의미코드 저장부
224 : 문장 구조 분석부 225 : 기본 명사구 번호 일치부
226 : 사용자 발화 패턴 매칭부 227 : 시스템 발화 패턴 추출부
228 : 대화 패턴 저장부 230 : 기본 명사구 생성부
240 : 형태소 생성부
10: Conversation system 20: User
100: conversation voice recognition unit 200: conversation pattern-based conversation processing unit
300: Conversation speech generation unit 210: Conversation scenario processing unit
220: Conversation pattern processing unit 230: Conversation rule processing unit
211: morpheme analysis unit 212: user utterance sentence matching unit
213: system utterance sentence extracting unit 214: dialogue scenario storage unit
229: Dialogue pattern generation unit 221: Basic noun phrase area
222: basic noun phrase semantic attaching unit 223: semantic code storage unit
224: sentence structure analysis unit 225: basic noun phrase numeral unit
226: user utterance pattern matching unit 227: system utterance pattern extracting unit
228: Conversation pattern storage unit 230: Basic noun phrase generation unit
240: morpheme generator

Claims (1)

사용자로부터의 발화 문장을 인식하는 음성 인식부; 및
상기 음성 인식부를 통해 인식된 상기 사용자 발화 문장의 대화 패턴을 생성하고 상기 사용자 발화의 대화 패턴에 따라 시스템 발화 패턴을 추출하여 사용자에게 제공하는 대화 패턴 기반 대화 처리부
를 포함하는 연쇄 대화 패턴 기반 대화 시스템.
A speech recognition unit for recognizing an utterance sentence from a user; And
A dialog pattern-based dialog processing unit for generating a dialog pattern of the user spoken sentence recognized through the speech recognition unit, extracting a system spoken pattern according to the dialog pattern of the user spoken word,
Wherein the interactive dialog pattern-based dialog system comprises:
KR1020130135579A 2013-11-08 2013-11-08 Chain Dialog Pattern-based Dialog System and Method KR102069701B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130135579A KR102069701B1 (en) 2013-11-08 2013-11-08 Chain Dialog Pattern-based Dialog System and Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130135579A KR102069701B1 (en) 2013-11-08 2013-11-08 Chain Dialog Pattern-based Dialog System and Method

Publications (2)

Publication Number Publication Date
KR20150054045A true KR20150054045A (en) 2015-05-20
KR102069701B1 KR102069701B1 (en) 2020-01-28

Family

ID=53390300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130135579A KR102069701B1 (en) 2013-11-08 2013-11-08 Chain Dialog Pattern-based Dialog System and Method

Country Status (1)

Country Link
KR (1) KR102069701B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220089972A (en) * 2020-12-22 2022-06-29 한국전자인증 주식회사 Conversational agent system and method using predict conversation prediction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070090642A (en) * 2006-03-03 2007-09-06 삼성전자주식회사 Apparatus for providing voice dialogue service and method for operating the apparatus
KR20090028908A (en) * 2007-09-17 2009-03-20 한국전자통신연구원 System for voice communication analysis and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070090642A (en) * 2006-03-03 2007-09-06 삼성전자주식회사 Apparatus for providing voice dialogue service and method for operating the apparatus
KR20090028908A (en) * 2007-09-17 2009-03-20 한국전자통신연구원 System for voice communication analysis and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220089972A (en) * 2020-12-22 2022-06-29 한국전자인증 주식회사 Conversational agent system and method using predict conversation prediction

Also Published As

Publication number Publication date
KR102069701B1 (en) 2020-01-28

Similar Documents

Publication Publication Date Title
US10672391B2 (en) Improving automatic speech recognition of multilingual named entities
KR102386854B1 (en) Apparatus and method for speech recognition based on unified model
US9070363B2 (en) Speech translation with back-channeling cues
US9697201B2 (en) Adapting machine translation data using damaging channel model
KR101762866B1 (en) Statistical translation apparatus by separating syntactic translation model from lexical translation model and statistical translation method
US20130073276A1 (en) MT Based Spoken Dialog Systems Customer/Machine Dialog
US20080071533A1 (en) Automatic generation of statistical language models for interactive voice response applications
Chen et al. Characterizing phonetic transformations and acoustic differences across English dialects
US11907665B2 (en) Method and system for processing user inputs using natural language processing
KR20160008949A (en) Apparatus and method for foreign language learning based on spoken dialogue
US20150254238A1 (en) System and Methods for Maintaining Speech-To-Speech Translation in the Field
Seljan et al. Combined automatic speech recognition and machine translation in business correspondence domain for english-croatian
JP2012037790A (en) Voice interaction device
Cardenas et al. Siminchik: A speech corpus for preservation of southern quechua
KR102564008B1 (en) Device and Method of real-time Speech Translation based on the extraction of translation unit
KR102069701B1 (en) Chain Dialog Pattern-based Dialog System and Method
Misu et al. Dialogue strategy to clarify user’s queries for document retrieval system with speech interface
Li et al. Language modeling for voice search: a machine translation approach
Nahid et al. Comprehending real numbers: Development of bengali real number speech corpus
Barroso et al. GorUp: an ontology-driven audio information retrieval system that suits the requirements of under-resourced languages
Win et al. Review and perspectives of natural language processing for speech recognition
KR20140121169A (en) Apparatus and method for situation adaptive speech recognition for hearing impaired
TWI760856B (en) Habitual wrong language grammar learning correcting system and method
KR101983031B1 (en) Language teaching method and language teaching system
Mandita et al. Comparison binary search and linear algorithm for German-Indonesian sign language using Markov model

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