KR20150111678A - 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법 - Google Patents

자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법 Download PDF

Info

Publication number
KR20150111678A
KR20150111678A KR1020140035327A KR20140035327A KR20150111678A KR 20150111678 A KR20150111678 A KR 20150111678A KR 1020140035327 A KR1020140035327 A KR 1020140035327A KR 20140035327 A KR20140035327 A KR 20140035327A KR 20150111678 A KR20150111678 A KR 20150111678A
Authority
KR
South Korea
Prior art keywords
morpheme
unit
speech
character
information
Prior art date
Application number
KR1020140035327A
Other languages
English (en)
Other versions
KR101627402B1 (ko
Inventor
이근배
류성한
송재윤
이동현
구상준
권순철
최준휘
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020140035327A priority Critical patent/KR101627402B1/ko
Publication of KR20150111678A publication Critical patent/KR20150111678A/ko
Application granted granted Critical
Publication of KR101627402B1 publication Critical patent/KR101627402B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

점진적 언어 분석 장치와 이를 이용한 점진적 자연어 대화 장치 및 방법이 개시된다. 점진적 언어 분석 장치는, 입력받은 문자 점진단위를 형태소 단위로 분해하고, 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하는 형태소 제1분석부와, 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석부와, 품사 정보에 기반하여 형태소들 간의 관계 정보를 생성하는 구문 분석부를 포함한다. 점진적 자연어 대화 장치는, 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식부와, 문자 점진단위를 형태소 단위로 분해한 후 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하고, 품사 정보와 관계 정보를 생성하는 점진적 언어 분석부와, 문자 점진단위를 해석하고, 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리부를 포함한다.

Description

자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법{DEVICE FOR ANALYZING NATURAL LANGUAGE INCREMENTALLY, ADAPTIVE ANSWERING MACHINE AND METHOD USING THE DEVICE}
본 발명은 자연어 대화 시스템에서 자연어 발화를 분석하는 언어 이해 기술에 관한 것으로, 더욱 자세하게는 언어 이해 모듈을 구성하는 형태소 분석기와 구문 분석기가 자연어 발화가 끝나기 전에 불완전한 발화로도 전체 발화를 예측하여 이해하고 응답하기 위한 기술에 관한 것이다.
이를 위하여 불완전한 발화 형태인 문자 점진단위(IU, Incremental Unit)를 분석함과 아울러 기존의 일반적인 말뭉치(corpus) 데이터베이스를 참조하여 상기 분석을 위한 말뭉치 학습을 수행하는 기술에 관한 것이다.
자연언어는 인공언어와 대치되는 개념이다. 한국어, 프랑스어, 영어, 러시아어 등의 자연언어는 인류라고 하는 종 전체에 나타나는 특유한 것이다. 커뮤니케이션과 표현의 도구인 자연언어는, 모든 인간의 언어 활동에 보편적인 특징에 의거하고 있다. 반면, 인공언어는 언어 특성의 몇 가지를 이용해 인간이 만든 독자적인 구축물이다. 모스 부호와 같이 코드인 것도 있고, 말(수학 용어, 컴퓨터 용어)인 것도 있다.
자연어 처리란 NLP(Natural Language Processing)로 불린다. 인간이 하고 있는 언어, 대화 등을 컴퓨터가 이해하고, 그에 대한 대응을 할 수 있는 알고리즘을 수행하도록 하는 것이다. 즉, 자연어 처리 알고리즘은 자연어 처리를 통해서 문장을 어떻게 받아들여야하는지에 대한 방법을 가지고 있다. 이러한 자연어 처리 알고리즘은 자연어 대화 시스템, 음성 인식 시스템, 검색 엔진 등에 활용되고 있다.
이 중 자연어 발화에 대하여 적절한 응답을 선택하여 대응해 주는 자연어 대화 시스템은 사용자가 음성으로 한 발화가 문자로 바뀌는 음성 인식기, 문자에서 사용자의 의도를 파악하는 언어 이해 모듈, 대화의 흐름을 결정하는 대화 관리자, 대화 시스템이 할 응답을 결정하는 응답 생성부, 그 응답을 음성으로 만들어 출력하는 음성 합성기로 이루어질 수 있다. 도 1은 일반적인 자연어 대화 시스템과 세부 구성요소를 설명하기 위한 블록도이다.
이러한 일반적인 기존의 자연어 대화 시스템에서 음성 인식기는 항시 음성을 녹음한다. 음성 인식기가 녹음된 음성의 변화를 통해 사용자가 발화를 했다고 감지하면 음성 인식기는 녹음된 음성 정보에서 발화 부분을 탐지하고 그 부분을 발화로 본다. 이렇게 녹음된 발화의 음성 정보에서 사용자가 의도한 발화를 문자로 변환한다. 문자로 변환된 사용자의 발화는 언어 이해 모듈을 통해 처리된다.
언어 이해 모듈은 음성 인식기의 결과인 문자 형태의 발화에서 사용자의 의도를 파악한다. 사용자의 발화는 형태소 분석기에 의해 형태소별로 분리되고 각 형태소의 종류가 파악된다. 구문 분석기는 발화에 포함된 형태소의 품사 정보를 이용해 형태소 사이의 관계와 문장 구조를 분석한다. 이 분석된 결과를 활용해 사용자의 의도를 파악하고 응답 생성부가 의도에 맞는 응답을 결정한다.
형태소 분석기와 구문 분석기는 미리 수집된 말뭉치를 이용해 훈련된다. 이 말뭉치에는 일반적인 사용자의 발화 내용과 그 발화 내용의 형태소를 분석한 것, 형태소와 형태소 사이의 관계와 문장 구조 정보가 포함되어 있다.
기존의 일반적인 자연어 대화 시스템은 사용자의 발화가 끝난 뒤에 각 기능이 순차적으로 실행된다. 즉, 사용자의 발화 뒤의 일정 시간의 공백을 인식해야 음성 인식기가 음성을 문자로 바꾸고, 그 다음에 언어 이해 모듈이 문자에서 사용자의 의도를 추출하고, 그 다음에 대화 관리자가 응답을 결정해서 응답 생성부와 음성 합성기가 사용자에게 대답한다. 따라서 대화를 이렇게 처리하고 응답하는 데에는 발화 뒤의 공백 + 음성 인식기 + 언어 이해 모듈 + 대화 관리자 + 응답 생성부 + 음성 합성기의 반응 시간만큼 긴 시간이 걸린다. 실시간 응답이 중요한 대화 시스템에서 긴 응답시간은 사용자에게 불편함, 사람과 대화하지 않는 것으로 느껴지는 부자연스러움을 부르는 단점이 있다.
또한 기존의 일반적인 자연어 대화 시스템은 일정 길이 이상의 사용자의 침묵을 발화의 끝으로 인식한다. 그러나 사용자의 침묵은 발화 중 사용자가 생각할 것이 있을 때도 나타날 수 있다. 예를 들어 오늘은 두시에 음.. 짜장면을 먹으러 갈까?라는 발화 중에 나타나는 침묵을 발화의 끝이라 인식하고 오늘은 두시에 부분에 해당하는 음성 정보로 발화를 처리하려 할 수 있다. 이 경우 사용자는 대화 시스템이 의미 없는 분석을 완료한 후에 발화 전체를 다시 해야 하는 불편함을 겪는다.
또한 발화 도중에는 발화에 대한 대화 시스템의 반응이 불가능하다. 사용자는 대화 시스템에게서 어떠한 피드백도 받을 수 없으므로 자신이 자연스러운 대화를 하고 있다는 느낌을 받을 수 없다.
한편 자연어 대화 시스템은 학습을 통해 말뭉치 데이터베이스를 저장하고 저장되어 있는 말뭉치 데이터베이스의 형태소 및 구문 분석 결과를 활용한다. 일반적으로 현재 사용되고 있는 말뭉치는 문장 전체에 대한 분석 결과로 이루어져 있다. 따라서 기존 말뭉치를 이용해 훈련한 분석기는 이미 발화가 종결된 형태소에 대한 분석은 할 수 있지만 다음에 올 형태소의 종류와 문장의 종결을 예상하는 것은 불가능하다. 따라서 아직 발화되지 않은 형태소가 포함된 불완전한 발화에 대한 말뭉치가 필요하다. 새로운 말뭉치를 수동으로 만드는 것은 많은 인력과 시간이 소모되므로 기존 말뭉치를 이용해 점진적 구문 분석기를 위한 말뭉치를 자동으로 생성할 필요가 있다고 할 것이다.
이러한 종래의 문제점을 해결하기 위한 본 발명의 목적은 기존의 형태소 분석기와 구문 분석기가 비점진적 문장(즉, 완결된 문장)만 처리할 수 있도록 되어있는 한계를 극복하여 발화를 순차적으로 처리할 수 있는 점진적 언어 분석 장치를 제공하는 데 있다. 점진적 대화 시스템에 사용하기 위한 점진적 형태소 분석기와 점진적 구문 분석기는 발화 전체가 아니라 전체 발화의 앞부분인 불완전한 발화만 있어도 발화를 처리할 수 있다.
점진적 구문 분석기는 불완전한 발화에 포함된 형태소를 처리하는 것 뿐 아니라 문장의 구조를 분석해 다음에 올 형태소의 종류를 예상하고, 문장에 필요한 성분의 유무를 통해 사용자의 침묵이 발화의 종료인지 그렇지 않은지를 판별할 수 있어야 한다.
또한 이러한 종래의 문제점을 해결하기 위한 본 발명의 다른 목적은 점진적 언어 분석 장치를 이용한 점진적 자연어 대화 장치와 방법을 제공하는 데 있다.
상술한 본 발명의 목적을 달성하기 위한 일 측면에 따른 점진적 언어 분석 장치는, 자연어 대화 시스템에서 점진적(incremental) 언어를 분석하는 장치에 있어서, 입력받은 문자 점진단위(IU, Incremental Unit)를 형태소(morpheme) 단위로 분해하고, 문자 점진단위의 마지막 형태소 뒤에 더미(dummy) 형태소를 추가하는 형태소 제1분석부와, 분해한 각 형태소 및 더미 형태소의 품사(part of speech)를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석부와, 품사 정보에 기반하여 형태소들 간의 관계 정보를 생성하는 구문 분석부를 포함하여 구성될 수 있다.
여기에서, 점진적 언어 분석 장치는, 미리 저장되어 있는 말뭉치(corpus)를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습부를 더 포함하고, 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 형태소 제2분석부는 형태소들에 대한 품사 정보를 생성하고, 구문 분석부는 형태소들 간의 관계 정보를 생성할 수 있다.
나아가, 점진적 말뭉치 학습부는, 점진적 말뭉치의 마지막 형태소 뒤에 말뭉치 더미 형태소를 추가하고, 미리 저장되어 있는 말뭉치에 포함된 형태소의 품사에 상응하여 말뭉치 더미 형태소의 품사를 결정할 수 있다.
여기에서, 형태소 제2분석부는, 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 구비하고 있다고 판단하는 경우에는 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고, 그렇지 않은 경우에는 더미 형태소에 대하여 필수 형태소를 나타내는 품사로 결정할 수 있다.
여기에서, 형태소 제2분석부는, 분해한 각 형태소의 품사 정보에 기반하여 더미 형태소의 품사를 결정할 수 있다.
여기에서, 형태소 제2분석부는, 문자 점진단위에 기반하여 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 후행하는 형태소들에 대한 품사 교정 정보를 생성할 수 있다.
나아가, 구문 분석부는, 품사 교정 정보에 기반하여 형태소들 간의 관계 정보를 수정하는 방법으로 후행하는 형태소들 간의 관계 정보를 생성할 수 있다.
여기에서, 구문 분석부는, 더미 형태소의 품사에 기반하여 문자 점진단위의 문장 종결 여부를 판단하거나, 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 문자 점진단위의 문장 종결 여부를 판단할 수 있다.
나아가, 소정의 조건은, 분해한 각 형태소 중 적어도 하나 이상의 형태소가 더미 형태소에 대하여 관계 정보를 가지는 경우에는 문자 점진단위가 미종결된 문장인 것으로 추정하고, 분해한 각 형태소 중 어느 것도 더미 형태소에 대하여 관계 정보를 가지지 않는 경우에는 문자 점진단위가 종결된 문장인 것으로 추정할 수 있다.
또 나아가, 구문 분석부는, 문자 점진단위가 종결되지 않은 문장이라고 판단하는 경우에, 문자 점진단위의 입력 이후에 소정의 시간 이상 문자 점진단위에 후행하는 문자 점진단위가 입력되지 않으면 문자 점진단위에 상응하는 피드백(feedback) 구문을 결정하고 피드백 구문을 음성 신호로 출력하도록 음성 합성 장치를 제어할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 다른 측면에 따른 점진적 자연어 대화 장치는, 자연어 발화(發話)에 대하여 적응적으로(adaptively) 응답하는 대화 장치에 있어서, 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식부와, 음성 인식부로부터 수신한 문자 점진단위를 형태소 단위로 분해한 후 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하고, 형태소들의 품사 정보와 형태소들 간 관계 정보를 생성하는 점진적 언어 분석부와, 품사 정보와 관계 정보에 기반하여 문자 점진단위를 해석하고, 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리부를 포함하여 구성될 수 있다.
여기에서, 문자 점진단위는,
문장의 완성에 필요한 필수 형태소를 포함하고 있지 않거나, 적어도 하나 이상 포함하고 있는 것을 특징으로 하는 점진적 자연어 대화 장치.
여기에서, 점진적 대화 관리부는, 관계 정보를 계층적(hierarchical)으로 나타낸 형태소 서브 트리(sub tree) 중 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행(後遂行)할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 또 다른 측면에 따른 점진적 자연어 대화 방법은, 자연어 발화에 대하여 적응적으로 응답하는 대화 장치가 수행하는 방법에 있어서, 입력받은 문자 점진단위를 형태소 단위로 분해하고, 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하는 형태소 제1분석 단계와, 분해한 각 형태소 및 더미 형태소의 품사를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석 단계와, 품사 정보에 기반하여 형태소들 간의 관계 정보를 생성하는 구문 분석 단계를 포함하여 구성될 수 있다.
여기에서, 점진적 자연어 대화 방법은, 형태소 제1분석 단계 이전에, 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식 단계를 더 포함하여 구성될 수 있다.
여기에서, 진적 자연어 대화 방법은, 상기 구문 분석 단계 이후에, 품사 정보와 관계 정보에 기반하여 문자 점진단위를 해석하고, 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리 단계를 포함하되, 점진적 대화 관리 단계는 관계 정보를 계층적으로 나타낸 형태소 서브 트리 중 상기 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행할 수 있다.
여기에서, 미리 저장되어 있는 말뭉치를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습 단계를 더 포함하되, 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 형태소 제2분석 단계는 형태소들에 대한 품사 정보를 생성하고, 구문 분석 단계는 형태소들 간의 관계 정보를 생성할 수 있다.
여기에서, 형태소 제2분석 단계는, 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 포함하고 있는 경우에는 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고, 그렇지 않은 경우에는 더미 형태소에 대하여 필수 형태소를 나타내는 품사로 결정할 수 있다.
여기에서, 형태소 제2분석 단계는, 문자 점진단위에 기반하여 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 후행하는 형태소들에 대한 품사 교정 정보를 생성할 수 있다.
여기에서, 구문 분석 단계는, 더미 형태소의 품사에 기반하여 문자 점진단위의 문장 종결 여부를 판단하거나, 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 문자 점진단위의 문장 종결 여부를 판단할 수 있다.
상기와 같은 본 발명에 따른 점진적 언어 분석 장치와 이를 구비한 점진적 자연어 대화 장치 및 방법을 사용하면, 기존 대화 시스템의 불편을 극복할 수 있다. 즉, 발화가 모두 끝난 뒤 처리되어 응답시간이 길어지게 되는 단점을 극복하여 상황에 따른 적응적이고 빠른 응답을 할 수 있다는 장점이 있다.
점진적 형태소 분석기와 점진적 구문 분석기를 이용한 점진적 자연어 대화 장치 및 방법은 발화 도중에도 발화 앞부분에 해당하는 정보를 이용해 발화 전체의 의도와 구조를 예측할 수 있으므로 짧은 응답시간과 정확하고 빠른 피드백을 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 일반적인 자연어 대화 시스템과 세부 구성요소를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 점진적 언어 분석 장치와 세부 구성요소를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 형태소 분석부의 작동 과정을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 구문 분석부의 작동 과정을 설명하기 위한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 점진적 형태소 분석을 위한 점진적 말뭉치 학습부의 작동 과정을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 점진적 구문 분석을 위한 점진적 말뭉치 학습부의 작동 과정을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 점진적 자연어 대화 장치와 세부 구성요소를 설명하기 위한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 점진적 자연어 대화 방법과 세부 단계를 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
먼저, 본 출원에서 사용되는 용어를 간략히 설명하면 다음과 같다.
자연어(自然語) 혹은 자연 언어는 사람들이 일상적으로 쓰는 언어를 인공적으로 만들어진 언어인 인공어와 구분하여 부르는 개념이다. 모든 인간의 언어 활동에 보편적인 특징으로 의거하고 있다. 러시아어, 한국어처럼 국가나 민족별로 쓰이는 언어를 비롯하여 다양한 자연어가 있다.
형태소(morpheme)가 다른 형태소와의 구체적인 결합으로 실현되었을 때 이형태(allomorph)라고 한다. 대부분의 형태소는 몇 가지 형태로 실현되기 때문에 형태소를 흔히 이형태의 부류로도 정의한다. 형태소를 고유한 의미를 부여하는 음소의 결합으로 보는 정의는 적합하지 않다. 형태소라는 술어는 때때로 통사론(syntax)의 관계를 나타내는 수단의 의미로 쓰이는데, 이 경우에는 문법적인 접사 외에 어순 등도 거기에 포함된다.
다만, 본 발명에서 형태소는 형태론(품사론) 상 품사 이외에 형태소 분석을 위해 도입된 자의적인 형태소를 포함할 수 있다. 예를 들어 영문법이나 국문법 상에는 없는 형태소라 하더라도 형태소 분석을 위해 필요하다면 종결 형태소, 더미 형태소 등을 만들어 사용할 수 있다. 다음의 표는 형태소들에 대한 대략적인 분류 체계의 예시를 나타낸다.
대분류 소분류 세분류
(1) 체언 명사NN 일반명사NNG, 고유명사NNP, 의존명사NNB
대명사NP
수사NR
(2) 용언 동사VV
형용사VA
보조용언VX
지정사VC 긍정지정사VCP, 부정지정사VCN
(3) 수식언 관형사MM
부사MA 일반부사MAG
접속부사MAJ
(4) 독립언 감탄사IC
(5) 관계언 격조사JK 주격조사JKS
보격조사JKC
관형격조사JKG
목적격조사JKO
부사격조사JKB
호격조사JKV
인용격조사JKQ
보조사JX
접속조사JC
(6) 의존형태 어미E 선어말어미EP
종결어미EF
연결어미EC
명사형전성어미ETN
관형형전성어미ETM
접두사XP 체언접두사XPN
접미사 XS 명사파생접미사XSN
동사파생접미사XSV
형용사파생접미사XSA
부사파생접미사XSB
어기XR
(7) 기호 마침표, 물음표, 느낌표 SF
쉼표, 가운뎃점, 콜론, 빗금 SP
따옴표, 괄호표, 줄표 SS
줄임표 SE
붙임표(물결, 숨김, 빠짐) SO
외국어 SL
한자 SH
기타 기호(논리 수학기호, 화폐 기호 등) SW
명사추정범주 NF
용언추정범주 NV
숫자 SN
분석불능범주 NA
본 발명에서 사용하는 관계 정보란 형태소 간의 결합의 성격을 구문론적으로 표현한 정보를 말한다. 즉 관계 정보는 구문 분석을 통하여 형태소들 간의 관계를 밝힐 수 있는 정보이다. 따라서 위 형태소 분석이 형태론(품사론)의 분야에 속하는 활동이라면, 구문 분석은 구문론(의미론)의 분야에 속하는 활동이라 할 것이다. 다음의 표는 형태소들 간의 관계 정보에 대한 대략적인 분류 체계의 예시를 나타낸다.
범주 사례
SBJ 주어 주격 체언구(NP_SBJ), 명사 전성 용언구(VP_SBJ), 명사절(S_SBJ)
OBJ 목적어 목적격 체언구(NP_OBJ), 명사 전성 용언구(VP_OBJ), 명사절(S_OBJ)
CMP 보어 보격 체언구(NP_CMP), 명사 전성 용언구(VP_CMP), 인용절(S_CMP)
MOD 체언수식어 관형격 체언구(NP_MOD), 관형형 용언구(VP_MOD), 관형절(S_MOD)
AJT 용언수식어 부사격 체언구(NP_AJT), 문말어미+부사격조사(VP_AJT, S_AJT)
CNJ 접속어 접속격 체언(NP_CNJ)
INT 독립어 체언(NP_INT)
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 7은 본 발명의 일 실시예에 따른 점진적 자연어 대화 장치(200)와 세부 구성요소를 설명하기 위한 블록도이다. 우선, 점진적 자연어 대화 장치(200)의 전체적인 동작 과정을 간략하게 살펴보기 위해 도 7을 참조하여 설명하기로 한다.
점진적 자연어 대화 장치(200)는, 자연어 발화(發話)에 대하여 적응적으로(adaptively) 응답하는 대화 장치에 있어서, 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식부(210)와, 음성 인식부(210)로부터 수신한 문자 점진단위를 형태소 단위로 분해한 후 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하고, 형태소들의 품사 정보와 형태소들 간 관계 정보를 생성하는 점진적 언어 분석부(220)와, 품사 정보와 관계 정보에 기반하여 문자 점진단위를 해석하고, 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리부(230)를 포함하여 구성될 수 있다.
문자 점진단위는, 문장의 완성에 필요한 필수 형태소를 포함하고 있지 않거나, 적어도 하나 이상 포함하고 있을 수 있다.
점진적 대화 관리부(230)는, 관계 정보를 계층적(hierarchical)으로 나타낸 형태소 서브 트리(sub tree) 중 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행(後遂行)할 수 있다.
기존 대화 시스템의 문제를 해결하기 위해 점진적 응답을 가능하게 하는 자연어 분석 장치, 즉 점진적 언어 분석부(220)를 사용한다. 점진적 응답이란 사용자의 발화가 끝나서 발화 전체를 사용하는 것 뿐 아니라, 사용자의 발화 도중에도 그 때까지 입력된 발화, 즉 전체 발화의 앞부분을 이용해 점진적으로 사용자의 발화를 이해하고 예측하는 것이다. 도 7은 점진적 언어 분석부(220)를 이용한 점진적 자연어 대화 장치(200)를 나타낸 것이다. 점진적 언어 분석부(220)의 효율을 위해서는 점진적 음성 인식부(210)가 필수적이다. 점진적 언어 분석부(220)의 결과를 이용하는 점진적 대화 관리부(230) 등은 필요에 따라 점진적이게, 또는 그렇지 않게 설계된다. 대화 장치의 다른 부분도 점진적으로 설계됐을 때 점진적 언어 분석부(220)의 장점을 잘 살릴 수 있다.
점진적 자연어 대화 장치(200)는 계속 덧붙여지는 발화 정보인 문자 점진단위(IU, Incremental Unit)의 추가에 따라 형태소 분석부(221, 도 7에는 미도시, 도 2에 도시)와 구문 분석부(224, 도 7에는 미도시, 도 2에 도시)가 업데이트된다. 형태소 분석부(221), 구문 분석부(224)는 설계에 따라 문자 점진단위가 들어올 때마다 전부 새로 분석하거나, 다른 부분은 그대로 두고 일부분만 갱신할 수 있다.
점진적 자연어 대화 장치(200)의 점진적 음성 인식부(210)는 발화가 끝까지 완료되기 전에도 그 순간까지 주어진 음성을 문자로 변환한다. 이러한 음성 인식은 짧은 주기로 반복 실행되어 이전 음성 인식이 실행된 이후의 음성을 문자 점진단위로 바꾸어 이전 음성 인식의 결과를 수정하고 새로 추가된 문자 점진단위를 그 뒤에 덧붙일 수 있다.
점진적 언어 분석부(220)의 형태소 분석은 점진적 음성 인식부(210)가 변환한 결과를 발화가 끝나지 않았음을 감안해 형태소별로 나누고 각 형태소의 종류를 파악할 수 있다.
점진적 언어 분석부(220)의 구문 분석은 형태소 분석의 결과를 발화가 끝나지 않았음을 감안해 형태소 사이의 관계를 분석할 수 있다. 동시에 문장이 종결되었는지, 그렇지 않다면 다음에 나올 형태소의 품사가 무엇인지 예측할 수 있다.
점진적 언어 분석부(220)가 발화 중간까지 얻은 정보를 토대로 발화 전체의 의도를 예측할 수 있다. 사용자가 침묵하더라도 구문 해석기가 문장 구조를 통해 사용자의 발화가 끝나지 않았다고 판단하면 사용자의 침묵을 발화의 끝으로 보지 않고 문장 구조상 문장이 끝날 때까지 분석을 계속한다.
점진적 언어 분석부(220)는 사용자의 침묵에 대해 피드백을 주어 사용자에게 자연스럽게 대화하는 느낌을 주고 언어 이해 모듈(120) 수준에서 정확한 종류의 피드백을 통해 사용자의 나머지 발화를 이끌어낼 수 있다.
점진적 대화 관리부(230)도 점진적으로 설계되었을 경우, 전체적인 처리 속도를 높일 수 있다. 이에 대한 구체적인 설명은 도 2 내지 도 6을 참조하여 후술하기로 한다.
구문 분석부(224)의 훈련을 위한 말뭉치는 기존 말뭉치를 바탕으로 자동으로 만들어질 수 있다(도 7에는 미도시, 도 2에 도시). 이 말뭉치에는 문장의 성립에 필요하지만 아직 입력되지 않은 형태소에 대한 정보가 추가될 수 있다. 이 말뭉치로 훈련된 구문 분석부(224)는 아직 입력되지 않은 형태소의 종류와 문장의 종결을 예측할 수 있다.
도 2는 본 발명의 일 실시예에 따른 점진적 언어 분석 장치와 세부 구성요소를 설명하기 위한 블록도이다. 도 3은 형태소 분석부(221), 도 4는 구문 분석부(224)의 작동 과정을 설명하기 위한 예시도이다. 도 5는 점진적 형태소 분석, 도 6은 점진적 구문 분석을 위한 점진적 말뭉치 학습부(225)의 작동 과정을 설명하기 위한 예시도이다. 도 2 내지 도 6을 참조하여 점진적 언어 분석 장치와 세부 구성요소의 동작을 설명하면 다음과 같다.
점진적 언어 분석 장치는, 자연어 대화 시스템(100)에서 점진적(incremental) 언어를 분석하는 장치에 있어서, 입력받은 문자 점진단위(IU, Incremental Unit)를 형태소(morpheme) 단위로 분해하고, 문자 점진단위의 마지막 형태소 뒤에 더미(dummy) 형태소를 추가하는 형태소 제1분석부(222)와, 분해한 각 형태소 및 더미 형태소의 품사(part of speech)를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석부(223)와, 품사 정보에 기반하여 형태소들 간의 관계 정보를 생성하는 구문 분석부(224)를 포함하여 구성될 수 있다.
점진적 언어 분석 장치는, 미리 저장되어 있는 말뭉치(corpus)를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습부(225)를 더 포함하고, 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 형태소 제2분석부(223)는 형태소들에 대한 품사 정보를 생성하고, 구문 분석부(224)는 형태소들 간의 관계 정보를 생성할 수 있다. 나아가 점진적 말뭉치 학습부(225)는, 점진적 말뭉치의 마지막 형태소 뒤에 말뭉치 더미 형태소를 추가하고, 미리 저장되어 있는 말뭉치에 포함된 형태소의 품사에 상응하여 말뭉치 더미 형태소의 품사를 결정할 수 있다.
형태소 제2분석부(223)는, 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 구비하고 있다고 판단하는 경우에는 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고, 그렇지 않은 경우에는 더미 형태소에 대하여 상기 필수 형태소를 나타내는 품사로 결정할 수 있다.
형태소 제2분석부(223)는, 분해한 각 형태소의 품사 정보에 기반하여 더미 형태소의 품사를 결정할 수 있다.
형태소 제2분석부(223)는, 문자 점진단위에 기반하여 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 후행하는 형태소들에 대한 품사 교정 정보를 생성할 수 있다. 나아가 구문 분석부(224)는, 품사 교정 정보에 기반하여 형태소들 간의 관계 정보를 수정하는 방법으로 후행하는 형태소들 간의 관계 정보를 생성할 수 있다.
구문 분석부(224)는, 더미 형태소의 품사에 기반하여 문자 점진단위의 문장 종결 여부를 판단하거나, 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 문자 점진단위의 문장 종결 여부를 판단할 수 있다. 나아가 소정의 조건은, 분해한 각 형태소 중 적어도 하나 이상의 형태소가 더미 형태소에 대하여 관계 정보를 가지는 경우에는 문자 점진단위가 미종결된 문장인 것으로 추정하고, 분해한 각 형태소 중 어느 것도 더미 형태소에 대하여 관계 정보를 가지지 않는 경우에는 문자 점진단위가 종결된 문장인 것으로 추정할 수 있다. 또 나아가 구문 분석부(224)는, 문자 점진단위가 종결되지 않은 문장이라고 판단하는 경우에, 문자 점진단위의 입력 이후에 소정의 시간 이상 문자 점진단위에 후행하는 문자 점진단위가 입력되지 않으면 문자 점진단위에 상응하는 피드백(feedback) 구문을 결정하고 피드백 구문을 음성 신호로 출력하도록 음성 합성 장치를 제어할 수 있다.
점진적 언어 분석부(220)에서 형태소 분석부(221)에 들어오는 입력은 종결된 문장이 아닐 수 있다. 문장이 종결된 것인지 아닌지와 종결되지 않아서 다음 형태소가 온다면 어떤 형태소가 올 것인지를 파악하는 것이 점진적 언어 분석부(220)의 핵심 기술이다.
기존의 일반적인 형태소 분석기(121)와 구문 분석기(122)는 온전한 문장을 분석하는 데 그 목적이 있다. 따라서 점진적으로 입력되는 발화를 분석하는 데 기존 분석기를 사용했을 때 발화가 종결된 형태소의 분석은 가능하지만 아직 발화가 되지 않은 형태소에 대한 예측과 문장의 종결 여부의 예측은 불가능하다. 따라서 본 발명의 점진적 언어 분석 장치는 기존의 분석기와는 구조와 훈련 방법, 훈련에 사용할 말뭉치 등의 점에서 개선이 있어야 한다.
점진적인 형태소 분석
본 발명의 형태소 분석부(221)(형태소 제1분석부(222)와 형태소 제2분석부(223)로 구성)는 사용자의 발화가 입력되는 중에도 점진적 음성 인식부(210)의 결과로 문자 점진단위가 입력될 때마다 그 순간까지 입력된 문자 점진단위를 이용해 발화에 포함된 형태소를 파악할 수 있다. 입력은 점진적 음성 인식부(210)의 결과인 문자 점진단위, 출력은 이 문자열을 형태소 단위로 분류하고 각 형태소마다 명사, 조사 등 형태소의 품사를 나타낸 품사 정보이다.
점진적 언어 분석부(220)에서 형태소 분석부(221)에 들어오는 입력은 종결된 문장이 아닐 수 있으며, 그 경우 입력된 발화 뒤에 형태소가 더 올 것임을 의미할 수 있다. 따라서 형태소 분석부(221)는 분석하기 전 입력되는 문자열 뒤에 특별한 기호, 예를 들어 ""을 추가한다. 예를 들어 "지금 7번에서 하는 드라마"라는 입력이 들어왔을 때 형태소 분석부(221)는 "지금 7번에서 하는 드라마 "라는 문장을 분석한다. ""은 하나의 형태소로 간주할 수 있다. 즉, ""은 실제 발화에는 포함되어 있지 않지만 형태소 분석을 위하여 추가하는 더미 형태소이다.
형태소 분석부(221)는 훈련된 방법대로 각 형태소를 분석할 수 있다. 그 결과 발화가 종결된 형태소의 정보에 의해 ""의 형태소, 즉 이후에 발화될 형태소의 품사가 자동으로 예측될 수 있다. ""이 온전한 문장 뒤에 올 경우, 즉 ""이 실제 발화에는 없는 형태소인 경우 문장의 끝을 의미하는 종류의 품사가 태깅되도록 한다(영문법이나 국문법 상에는 없지만 이를 문장 종결사로 지칭할 수 있다). 또 ""이 문장의 끝이라는 것은 입력된 발화가 온전한 문장이며, 발화가 끝났음을 의미한다.
도 3은 형태소 제2분석부(223)의 동작을 나타낸 것이다. 점진적인 형태소 분석은 문장이 끝나는 것을 기다리지 않고 분석을 시작할 수 있다. 입력된 문자는 형태소 단위로 분리되고 각 형태소는 형태소의 품사에 따라 태그를 부여받는다.
점진적으로 해석하는 과정에선 시간에 따라 입력된 정보가 늘어나므로 이미 분석한 품사 정보가 잘못되었음을 파악할 수도 있다. 이 경우 앞의 정보를 수정할 수 있어야 한다. 이를 해결하기 위해 형태소 제2분석부(223)는 문자 점진단위가 들어올 때마다 전체를 다시 분석하거나 또는 일부만 분석해 갱신하는 방법을 선택할 수 있다. 전체를 다시 분석하는 경우 이 문제가 자연스럽게 해결된다. 일부만 분석해 갱신하는 경우 앞의 내용을 수정하고 품사를 다시 분석하는 추가적인 기능이 필요하다.
형태소 분석부(221)의 입력은 점진적 음성 인식부(210)의 출력이므로 그 출력의 종류에 따라 형태소 분석부(221)의 구조가 변할 필요가 있다. 점진적 음성 인식부(210)는 단어 단위, 또는 시간 단위로 문자 점진단위를 끊어서 출력하는 구조를 선택할 수 있다. 형태소 분석부(221)는 어떤 기준으로 문자 점진단위가 만들어졌는지 알고 해당 방법에 맞는 방법으로 설계될 수 있다. 점진적 음성 인식부(210)가 시간 단위로 문자 점진단위를 출력할 경우 그 출력이 온전한 단어라고 보장할 수 없다. 예를 들어 문자 점진단위의 간격이 짧을 때 점진적 음성 인식부(210)는 "보람찬"의 "보라"를 한 문자 점진단위로 출력할 수도 있다. 따라서 형태소 분석부(221)는 이미 들어온 형태소의 품사 정보는 물론이고 형태소 자체도 수정할 수 있어야 한다.
점진적인 구문 분석
본 발명의 구문 분석부(224)는 형태소 분석부(221)가 분석한 형태소의 품사 정보를 이용해 형태소 사이의 관계를 밝혀 관계 정보를 생성할 수 있다. 구문 분석부(224)가 기존의 구문 분석기(121)와 다른 점은 정보가 점진적으로 들어오므로 자료구조가 계속 수정될 수 있으며 문장이 완료되기 전에도 문장의 구조를 최대한 파악할 수 있어야 한다는 점이다.
구문 분석부(224)는 기존 구문 분석기(121)와 달리 형태소 사이의 관계를 나타내는 데 반드시 필요한 형태소가 아직 입력되지 않았을 수 있다. 예를 들어, "나는 재미있는 영화를 보고 싶어"라는 문장에서 "재미있는"의 대상은 "영화"이다. 그러나 점진적 자연어 대화 장치(200)에서 "나는 재미있는"이라는 입력이 들어왔을 때 구문 분석부(224)는 "재미있는"의 대상이 되는 형태소를 아직 찾을 수 없다.
이런 점에서 구문 분석부(224)는 뒤에 나올 형태소의 종류와 문법적인 역할을 예측할 수 있어야 한다. 위의 예에서 "재미있는" 다음에 오는 형태소는 명사일 것이며, "재미있는"의 대상이 될 것이라는 예측이 이에 해당한다.
이를 위해 형태소 분석부(221)에서 추가된 ""를 함께 분석할 수 있다. ""의 분석을 통해 지금까지 입력된 형태소들과 ""의 관계를 예측할 수 있다. 또 ""을 머리로 갖는 서브트리는 ""에 의존하고 있다고 추측할 수 있다.
점진적 대화 관리부(230)도 점진적으로 설계되었을 경우 이미 완성된 서브트리에 대한 해석을 먼저 진행하고 ""이 포함된 서브트리에 대한 해석은 미루는 것으로 가능한 처리를 먼저 실행해 전체적인 처리 속도를 높일 수 있다. 더미 형태소인 ""이 포함된 서브트리는 더미 형태소와 관계 정보를 가지는 형태소가 존재한다는 의미이며, 이는 곧 문장의 완성에 필요한 형태소가 덜 입력되었다는 것을 의미하기 때문이다.
도 4는 구문 분석부(224)의 동작 과정을 나타내는데, 구문 분석부(224)는 형태소 분석부(221)에서 추가된 ""을 포함한 형태소에서 각 형태소 간의 관계를 설명할 수 있다.
구문 분석부(224)도 형태소 분석부(221)와 마찬가지로 새로운 음성인식 결과가 들어왔을 때 이전 음성인식 결과를 통한 구문분석 결과의 오류가 발견될 수 있다. 이 경우에도 점진적 형태소 분석기(121)와 같은 방법으로 문제를 해결한다. 형태소 분석부(221)와는 달리 구문 분석부(224)는 각 형태소의 태그 뿐 아니라 형태소와 형태소의 관계도 수정해야 한다.
구문 분석부(224)는 문장의 구조를 예측할 수 있다. 따라서 현재 발화가 종결된 문장인지 그렇지 않은 지 예측할 수 있다. 문법적으로 제대로 종결된 문장이 아닐 때 구문 분석부(224)는 사용자가 침묵하더라도 침묵 뒤에 나머지 발화가 이어질 것이라고 가정하고 분석을 종료하지 않을 수 있다.
문장 종결을 예측하기 위해서도 발화되지 않은 형태소를 의미하는 ""을 활용할 수 있다. 형태소 분석부(221)에서 ""에 달린 태그가 문장의 밖을 의미하는 태그일 때, 예를 들어 문장 종결사일 때 문장이 종결되었다고 볼 수 있다. 다른 방법으로는 ""을 머리로 갖는 구가 있다는 것이 반드시 필요한 내용이 아직 발화되지 않았으며 문장이 종결되지 않았다고 볼 수 있다.
발화의 종료가 아닌 침묵에 대해 구문 분석부(224)는 사용자에 대한 피드백을 결정할 수 있다. 피드백은 "네," "으흠?" 과 같이 범용적이고 짧은 것이나 "어디로요?", "그걸 어떻게 할까요?" 등 정확한 종류의 피드백으로 나머지 발화를 이끌어내는 종류의 것이 모두 가능하다. 피드백의 종류는 사용자의 침묵의 길이, 문장구조 상 다음에 올 것이라고 예측되는 형태소의 종류에 따라 결정할 수 있다.
예를 들어, "내가 오늘 TV를 봤는데 말야"라는 발화에 대해 점진적 자연어 대화 장치(200)가 빠른 응답속도로 "네" 정도의 짧은 피드백을 주는 것만으로도 사용자는 사람과 대화하는 듯 한 자연스러움을 느낄 수 있다. 또한 "오늘 두시에 영화를~~"이라는, 충분히 긴 침묵이 있는 발화에 대해 뒤에 동사가 올 것이라고 예측하고 "그걸 어떻게 할까요?"라는 피드백을 주었을 때 사용자는 자신이 추가로 어떤 종류의 정보를 말해야 하는지, 즉 위 예제에서는 동사를 포함하는 말을 해야 한다는 사실을 다시 인식할 수 있다. 이러한 피드백은 점진적 언어 분석 장치에서 문장 구조에 대한 분석 만으로도 가능하다.
점진적인 형태소 분석과 구문 분석의 훈련을 위한 말뭉치
기존 분석기를 위한 말뭉치는 문장 전체를 이용해 분석한 것이다. 이 말뭉치를 이용해 훈련했을 때 종결된 발화의 형태소의 분석은 가능하지만 아직 발화가 되지 않은 형태소의 품사에 대한 예측과 문장의 종결 여부의 예측이 불가능하다. 따라서 점진적 언어 분석부(220)의 훈련에 사용할 말뭉치는 기존 말뭉치와는 달라야 한다. 그러나 새로운 말뭉치를 만드는 작업은 시간과 비용이 많이 소모되는 작업이므로 기존의 말뭉치를 바탕으로 필요한 말뭉치를 자동으로 만들 수 있다.
점진적인 형태소 분석을 위한 말뭉치는 기존 말뭉치에 포함된 문장 하나를 점진적 음성 인식부(210)의 결과와 동일한 형태로 만들고 각 부분 문장 뒤에 ""을 붙여 만들 수 있다. 도 5는 점진적인 형태소 분석을 위한 새로운 말뭉치를 만드는 예이다. ""의 형태소 종류는 원래 말뭉치에서 다음에 올 형태소의 종류를 따른다.
점진적 구문 분석을 위한 말뭉치 역시 동일한 접근 방법에 따라 생성할 수 있다. 도 6은 점진적 구문 분석을 위한 새로운 말뭉치를 만드는 예이다. 만약 어떤 형태소의 머리가 ""도 아니고 아직 들어오지 않은 형태소일 경우 가상의 루트 노드인 "0"에 연결할 수 있다. 문장의 종결 후에 오는 "" 역시 "0"에 연결할 수 있다.
도 8은 본 발명의 일 실시예에 따른 점진적 자연어 대화 방법과 세부 단계를 설명하기 위한 흐름도이다. 도 8을 참조하여 점진적 자연어 대화 방법과 세부 단계를 설명하면 다음과 같다.
점진적 자연어 대화 방법은, 자연어 발화에 대하여 적응적으로 응답하는 대화 장치가 수행하는 방법에 있어서, 입력받은 문자 점진단위를 형태소 단위로 분해하고(S820), 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하는 형태소 제1분석 단계(S830)와, 분해한 각 형태소 및 더미 형태소의 품사를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석 단계(S850)와, 품사 정보에 기반하여 형태소들 간의 관계 정보를 생성하는 구문 분석 단계(S860)를 포함하여 구성될 수 있다.
점진적 자연어 대화 방법은, 상기 형태소 제1분석 단계(S830) 이전에, 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식 단계(S810)를 더 포함하여 구성될 수 있다.
점진적 자연어 대화 방법은, 구문 분석 단계(S860) 이후에, 품사 정보와 관계 정보에 기반하여 문자 점진단위를 해석하고(S870), 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리 단계(S880)를 포함하되, 점진적 대화 관리 단계(S880)는 관계 정보를 계층적으로 나타낸 형태소 서브 트리 중 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행할 수 있다.
점진적 자연어 대화 방법은, 미리 저장되어 있는 말뭉치를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습 단계(S840)를 더 포함하되, 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 형태소 제2분석 단계는 형태소들에 대한 품사 정보를 생성하고, 구문 분석 단계는 형태소들 간의 관계 정보를 생성할 수 있다.
형태소 제2분석 단계(S850)는, 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 포함하고 있는 경우에는 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고, 그렇지 않은 경우에는 더미 형태소에 대하여 필수 형태소를 나타내는 품사로 결정할 수 있다.
형태소 제2분석 단계(S850)는, 문자 점진단위에 기반하여 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 후행하는 형태소들에 대한 품사 교정 정보를 생성할 수 있다.
구문 분석 단계(S860)는, 더미 형태소의 품사에 기반하여 문자 점진단위의 문장 종결 여부를 판단하거나, 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 문자 점진단위의 문장 종결 여부를 판단할 수 있다.
점진적 자연어 대화 방법에 대한 구체적인 설명은 앞서 설명한 점진적 언어 분석 장치와 점진적 자연어 대화 장치(200)에 대한 설명과 중복되므로 더 이상 기재하지는 않는다.
비록 몇몇의 측면들은 장치의 관점에서 설명되었지만, 이러한 측면들은 상응하는 방법의 설명을 나타내는 것이 명확하며, 여기서 방법의 단계는 장치에 대응한다. 특정 구현 요구들에 따르면, 발명의 실시예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 본 발명의 실시예들은 프로그램 코드, 방법들 중 하나의 수행을 위해 동작하는 프로그램 코드를 가지는 컴퓨터 프로그램 제품으로서 수행될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 자연어 대화 시스템 110: 음성 인식기
120: 언어 이해 모듈 121: 형태소 분석기
122: 구문 분석기 130: 대화 관리자
140: 응답 생성부 150: 음성 합성기
200: 점진적 자연어 대화 장치 210: 점진적 음성 인식부
220: 점진적 언어 분석부 221: 형태소 분석부
222: 형태소 제1분석부 223: 형태소 제2분석부
224: 구문 분석부 225: 점진적 말뭉치 학습부
230: 점진적 대화 관리부 240: 점진적 응답 생성부
250: 점진적 음성 합성부

Claims (20)

  1. 자연어 대화 시스템에서 점진적(incremental) 언어를 분석하는 장치에 있어서,
    입력받은 문자 점진단위(IU, Incremental Unit)를 형태소(morpheme) 단위로 분해하고, 상기 문자 점진단위의 마지막 형태소 뒤에 더미(dummy) 형태소를 추가하는 형태소 제1분석부;
    상기 분해한 각 형태소 및 상기 더미 형태소의 품사(part of speech)를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석부; 및
    상기 품사 정보에 기반하여 상기 형태소들 간의 관계 정보를 생성하는 구문 분석부를 포함하는 점진적 언어 분석 장치.
  2. 청구항 1에 있어서,
    미리 저장되어 있는 말뭉치(corpus)를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습부를 더 포함하고,
    상기 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 상기 형태소 제2분석부는 상기 형태소들에 대한 품사 정보를 생성하고, 구문 분석부는 상기 형태소들 간의 관계 정보를 생성하는 것을 특징으로 하는 점진적 언어 분석 장치.
  3. 청구항 2에 있어서,
    상기 점진적 말뭉치 학습부는,
    상기 점진적 말뭉치의 마지막 형태소 뒤에 말뭉치 더미 형태소를 추가하고, 상기 미리 저장되어 있는 말뭉치에 포함된 형태소의 품사에 상응하여 상기 말뭉치 더미 형태소의 품사를 결정하는 것을 특징으로 하는 점진적 언어 분석 장치.
  4. 청구항 1에 있어서,
    상기 형태소 제2분석부는,
    상기 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 구비하고 있다고 판단하는 경우에는 상기 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고,
    그렇지 않은 경우에는 상기 더미 형태소에 대하여 상기 필수 형태소를 나타내는 품사로 결정하는 것을 특징으로 하는 점진적 언어 분석 장치.
  5. 청구항 1에 있어서,
    상기 형태소 제2분석부는,
    상기 분해한 각 형태소의 품사 정보에 기반하여 상기 더미 형태소의 품사를 결정하는 것을 특징으로 하는 점진적 언어 분석 장치.
  6. 청구항 1에 있어서,
    상기 형태소 제2분석부는,
    상기 문자 점진단위에 기반하여 상기 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 상기 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 상기 후행하는 형태소들에 대한 품사 교정 정보를 생성하는 것을 특징으로 하는 점진적 언어 분석 장치.
  7. 청구항 6에 있어서,
    상기 구문 분석부는,
    상기 품사 교정 정보에 기반하여 상기 형태소들 간의 관계 정보를 수정하는 방법으로 상기 후행하는 형태소들 간의 관계 정보를 생성하는 것을 특징으로 하는 점진적 언어 분석 장치.
  8. 청구항 1에 있어서,
    상기 구문 분석부는,
    상기 더미 형태소의 품사에 기반하여 상기 문자 점진단위의 문장 종결 여부를 판단하거나,
    상기 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 상기 문자 점진단위의 문장 종결 여부를 판단하는 것을 특징으로 하는 점진적 언어 분석 장치.
  9. 청구항 8에 있어서,
    상기 소정의 조건은,
    상기 분해한 각 형태소 중 적어도 하나 이상의 형태소가 상기 더미 형태소에 대하여 관계 정보를 가지는 경우에는 상기 문자 점진단위가 미종결된 문장인 것으로 추정하고,
    상기 분해한 각 형태소 중 어느 것도 상기 더미 형태소에 대하여 관계 정보를 가지지 않는 경우에는 상기 문자 점진단위가 종결된 문장인 것으로 추정하는 것임을 특징으로 하는 점진적 언어 분석 장치.
  10. 청구항 8에 있어서,
    상기 구문 분석부는,
    상기 문자 점진단위가 종결되지 않은 문장이라고 판단하는 경우에, 상기 문자 점진단위의 입력 이후에 소정의 시간 이상 상기 문자 점진단위에 후행하는 문자 점진단위가 입력되지 않으면 상기 문자 점진단위에 상응하는 피드백(feedback) 구문을 결정하고 상기 피드백 구문을 음성 신호로 출력하도록 음성 합성 장치를 제어하는 것을 특징으로 하는 점진적 언어 분석 장치.
  11. 자연어 발화(發話)에 대하여 적응적으로(adaptively) 응답하는 대화 장치에 있어서,
    상기 자연어 발화를 감지하여 문자로 변환하는 방법으로 문자 점진단위를 생성하는 점진적 음성 인식부;
    상기 음성 인식부로부터 수신한 문자 점진단위를 형태소 단위로 분해한 후 상기 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하고, 상기 형태소들의 품사 정보와 상기 형태소들 간 관계 정보를 생성하는 점진적 언어 분석부; 및
    상기 품사 정보와 상기 관계 정보에 기반하여 상기 문자 점진단위를 해석하고, 상기 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리부를 포함하는 점진적 자연어 대화 장치.
  12. 청구항 11에 있어서,
    상기 문자 점진단위는,
    문장의 완성에 필요한 필수 형태소를 포함하고 있지 않거나, 적어도 하나 이상 포함하고 있는 것을 특징으로 하는 점진적 자연어 대화 장치.
  13. 청구항 11에 있어서,
    상기 점진적 대화 관리부는,
    상기 관계 정보를 계층적(hierarchical)으로 나타낸 형태소 서브 트리(sub tree) 중 상기 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행(後遂行)하는 것을 특징으로 하는 점진적 자연어 대화 장치.
  14. 자연어 발화에 대하여 적응적으로 응답하는 대화 장치가 수행하는 방법에 있어서,
    입력받은 문자 점진단위를 형태소 단위로 분해하고, 상기 문자 점진단위의 마지막 형태소 뒤에 더미 형태소를 추가하는 형태소 제1분석 단계;
    상기 분해한 각 형태소 및 상기 더미 형태소의 품사를 결정하여 형태소들에 대한 품사 정보를 생성하는 형태소 제2분석 단계; 및
    상기 품사 정보에 기반하여 상기 형태소들 간의 관계 정보를 생성하는 구문 분석 단계를 포함하는 점진적 자연어 대화 방법.
  15. 청구항 14에 있어서,
    상기 형태소 제1분석 단계 이전에,
    상기 자연어 발화를 감지하여 문자로 변환하는 방법으로 상기 문자 점진단위를 생성하는 점진적 음성 인식 단계를 더 포함하는 것을 특징으로 하는 점진적 자연어 대화 방법.
  16. 청구항 14에 있어서,
    상기 구문 분석 단계 이후에,
    상기 품사 정보와 상기 관계 정보에 기반하여 상기 문자 점진단위를 해석하고, 상기 문자 점진단위에 상응하는 응답을 결정하는 점진적 대화 관리 단계를 포함하되,
    상기 점진적 대화 관리 단계는 상기 관계 정보를 계층적으로 나타낸 형태소 서브 트리 중 상기 더미 형태소를 포함한 서브 트리에 대한 해석을 나머지 서브 트리에 대한 해석보다 후수행하는 것을 특징으로 하는 점진적 자연어 대화 방법.
  17. 청구항 14에 있어서,
    미리 저장되어 있는 말뭉치를 형태소 단위로 분해한 점진적 말뭉치로부터 말뭉치 형태소들에 대한 품사 정보와 관계 정보를 저장하는 점진적 말뭉치 학습 단계를 더 포함하되,
    상기 말뭉치 형태소들에 대한 품사 정보와 관계 정보에 기반하여, 상기 형태소 제2분석 단계는 상기 형태소들에 대한 품사 정보를 생성하고, 구문 분석 단계는 상기 형태소들 간의 관계 정보를 생성하는 것을 특징으로 하는 점진적 자연어 대화 방법.
  18. 청구항 14에 있어서,
    상기 형태소 제2분석 단계는,
    상기 문자 점진단위가 문장의 완성에 필요한 필수 형태소를 모두 포함하고 있는 경우에는 상기 더미 형태소에 대하여 문장 종결을 나타내는 품사로 결정하고,
    그렇지 않은 경우에는 상기 더미 형태소에 대하여 상기 필수 형태소를 나타내는 품사로 결정하는 것을 특징으로 하는 점진적 자연어 대화 방법.
  19. 청구항 14에 있어서,
    상기 형태소 제2분석 단계는,
    상기 문자 점진단위에 기반하여 상기 형태소들에 대한 품사 정보의 일부 또는 전체를 수정하는 방법으로, 상기 문자 점진단위에 후행하는 문자 점진단위의 형태소와 더미 형태소의 품사를 결정하여, 상기 후행하는 형태소들에 대한 품사 교정 정보를 생성하는 것을 특징으로 하는 점진적 자연어 대화 방법.
  20. 청구항 14에 있어서,
    상기 구문 분석 단계는,
    상기 더미 형태소의 품사에 기반하여 상기 문자 점진단위의 문장 종결 여부를 판단하거나,
    상기 형태소들 간의 관계 정보에 관한 소정의 조건이 충족되는지 여부에 따라 상기 문자 점진단위의 문장 종결 여부를 판단하는 것을 특징으로 하는 점진적 자연어 대화 방법.
KR1020140035327A 2014-03-26 2014-03-26 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법 KR101627402B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140035327A KR101627402B1 (ko) 2014-03-26 2014-03-26 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140035327A KR101627402B1 (ko) 2014-03-26 2014-03-26 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150111678A true KR20150111678A (ko) 2015-10-06
KR101627402B1 KR101627402B1 (ko) 2016-06-03

Family

ID=54345041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140035327A KR101627402B1 (ko) 2014-03-26 2014-03-26 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101627402B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309252A (zh) * 2018-02-28 2019-10-08 阿里巴巴集团控股有限公司 一种自然语言处理方法及装置
KR102170088B1 (ko) * 2019-07-24 2020-10-26 네이버 주식회사 인공지능 기반 자동 응답 방법 및 시스템
KR20210036882A (ko) * 2020-05-15 2021-04-05 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 비디오 해설 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097535A (ja) * 1996-05-16 1998-04-14 Atr Onsei Honyaku Tsushin Kenkyusho:Kk 音声言語解析装置
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097535A (ja) * 1996-05-16 1998-04-14 Atr Onsei Honyaku Tsushin Kenkyusho:Kk 音声言語解析装置
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309252A (zh) * 2018-02-28 2019-10-08 阿里巴巴集团控股有限公司 一种自然语言处理方法及装置
CN110309252B (zh) * 2018-02-28 2023-11-24 阿里巴巴集团控股有限公司 一种自然语言处理方法及装置
KR102170088B1 (ko) * 2019-07-24 2020-10-26 네이버 주식회사 인공지능 기반 자동 응답 방법 및 시스템
KR20210036882A (ko) * 2020-05-15 2021-04-05 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 비디오 해설 방법 및 장치

Also Published As

Publication number Publication date
KR101627402B1 (ko) 2016-06-03

Similar Documents

Publication Publication Date Title
US6067520A (en) System and method of recognizing continuous mandarin speech utilizing chinese hidden markou models
US7412387B2 (en) Automatic improvement of spoken language
US6374224B1 (en) Method and apparatus for style control in natural language generation
US6223150B1 (en) Method and apparatus for parsing in a spoken language translation system
WO2016067418A1 (ja) 対話制御装置および対話制御方法
WO1999063456A1 (fr) Dispositif de preparation de regles de conversion du langage, dispositif de conversion du langage et support d'enregistrement de programme
WO2000045376A1 (en) A method and apparatus for interactive source language expression recognition and alternative hypothesis presentation and selection
WO2000045377A1 (en) A method and apparatus for performing spoken language translation
WO2000045374A9 (en) A method and portable apparatus for performing spoken language translation
WO2000045290A1 (en) A method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system
US11295730B1 (en) Using phonetic variants in a local context to improve natural language understanding
US11907665B2 (en) Method and system for processing user inputs using natural language processing
Seljan et al. Combined automatic speech recognition and machine translation in business correspondence domain for english-croatian
JP5073024B2 (ja) 音声対話装置
US8504359B2 (en) Method and apparatus for speech recognition using domain ontology
KR101627402B1 (ko) 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법
Salesky et al. Towards fluent translations from disfluent speech
JP3441400B2 (ja) 言語変換規則作成装置、及びプログラム記録媒体
JP4220151B2 (ja) 音声対話装置
Mekki et al. COTA 2.0: An automatic corrector of tunisian Arabic social media texts
US7548857B2 (en) Method for natural voice recognition based on a generative transformation/phrase structure grammar
KR20040051350A (ko) 다중 발음사전을 이용한 대화체 연속 음성인식 시스템 및방법
KR19980038185A (ko) 자연언어 인터페이스 에이전트 및 그의 의미 분석방법
KR20220063661A (ko) 자연어를 점진적으로 분석하는 장치 및 방법
KR102405547B1 (ko) 딥러닝 기반의 발음 평가 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee