상기 목적을 달성하기 위한 본 발명은, 인터넷 기반의 다국어 학습 서비스 시스템에 있어서, 해당 언어의 대화 주제별로 예제를 저장하고 있고, 각 대화 예제별로 대화의 주제, 화행(사용자의 의도), 언어 이해에 필요한 의미정보를 태깅하고, 사용자 입력과 이에 대응되는 시스템 응답 컨셉을 쌍(pair)으로 하여 저장ㆍ관리하고 있는 대화 예제 저장수단; 사용자의 입력 데이터를 인식하기 위한 입력처리수단; 문자열의 사용자 입력 데이터에 대해 언어 이해 및 화행 분석을 하고, 화행정보와 의미정보(언어 이해 태깅 정보)를 검색키로 하여 상기 대화 예제 저장수단에서 상기 문자열의 사용자 입력 데이터에 가장 확률적으로 근접한 대화 예제를 탐색하여, 탐색된 대화 예제의 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성하기 위한 대화관리수단; 및 상기 생성된 문자열의 시스템 발화를 음성 및/또는 문자의 시스템 응답으로서 사용자 단말로 전송하기 위한 출력처리수단을 포함하여 이루어진 것을 특징으로 한다.
한편, 본 발명은, 대화형 다국어 학습 서비스를 위한 데이터베이스 구축 방법에 있어서, 대화 예제와, 대화 주제와 관련 있는 대화에 대해 화행(사용자의 의도)정보 및 언어 이해에 필요한 의미정보를 태깅하여 훈련용 코퍼스를 만들고, 대화 예제 데이터베이스에 저장하는 단계; 상기 화행정보, 상기 의미정보를 특징값으로 분류기로 훈련을 하여 훈련용 코퍼스 - 여기서, 훈련용 코퍼스는, 언어 이해 및 화행 분석을 위한 태깅 정보를 제공함 - 를 구축하는 단계; 및 사용자 입력과 '사용자 입력에 대응되는 시스템 응답 컨셉'을 쌍(pair)으로 하여 상기 대화 예제 데이터베이스 - 여기서, 대화 예제 데이터베이스는, 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 대한 언어 이해 및 화행 분석 정보를 검색키로, 문자열의 사용자 입력 데이터에 가장 확률적으로 근접한 대화 예제를 탐색하여, 탐색된 대화 예제의 시스템 응답 컨셉을 제공함으로써, 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성할 수 있도록 함 - 를 구축하는 단계를 포함하여 이루어진 것을 특징으로 한다.
그리고, 본 발명은, 인터넷 기반의 다국어 학습 서비스 방법에 있어서, 해당 언어의 대화 주제별로 예제를 저장하되, 각 대화 예제별로 대화의 주제, 화행(사용자의 의도), 언어 이해에 필요한 의미정보를 태깅하고, 사용자 입력과 이에 대응되는 시스템 응답 컨셉을 쌍(pair)으로 하여 대화 예제 데이터베이스에 저장ㆍ관리하는 단계; 사용자로부터 대화 데이터를 입력받아, 입력된 문자열의 사용자 입력 데이터의 언어 의미 및 사용자 의도를 분석하는 단계; 상기 분석된 화행정보와 의미정보(언어 이해 태깅 정보)를 검색키로 하여 상기 대화 예제 데이터베이스에서 상기 문자열의 사용자 입력 데이터에 가장 확률적으로 근접한 대화 예제를 탐색하여, 탐색된 대화 예제의 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성하는 단계; 및 상기 생성된 문자열의 시스템 발화를 음성 및/또는 문자의 시스템 응답으로서 사용자 단말로 전송하는 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 상기 사용자 단말이 음성 및/또는 문자의 시스템 응답 데이터를 출력하는 단계를 더 포함하여 이루어진 것을 특징으로 한다.
다른 한편, 본 발명은, 대화형 다국어 학습 서비스를 위하여, 프로세서를 구비한 데이터베이스 구축 장치에, 대화 예제와, 대화 주제와 관련 있는 대화에 대해 화행(사용자의 의도)정보 및 언어 이해에 필요한 의미정보를 태깅하여 훈련용 코퍼스를 만들고, 대화 예제 데이터베이스에 저장하는 기능; 상기 화행정보, 상기 의미정보를 특징값으로 분류기로 훈련을 하여 훈련용 코퍼스 - 여기서, 훈련용 코퍼스는, 언어 이해 및 화행 분석을 위한 태깅 정보를 제공함 - 를 구축하는 기능; 및 사용자 입력과 '사용자 입력에 대응되는 시스템 응답 컨셉'을 쌍(pair)으로 하여 상기 대화 예제 데이터베이스 - 여기서, 대화 예제 데이터베이스는, 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 대한 언어 이해 및 화행 분석 정보를 검색키로, 문자열의 사용자 입력 데이터에 가장 확률적으로 근접한 대화 예제를 탐색하여, 탐색된 대화 예제의 시스템 응답 컨셉을 제공함으로써, 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성할 수 있도록 함 - 를 구축하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
그리고, 본 발명은, 인터넷 기반의 다국어 학습 서비스를 위하여, 프로세서를 구비한 대화형 다국어 학습 서비스 시스템에, 해당 언어의 대화 주제별로 예제를 저장하되, 각 대화 예제별로 대화의 주제, 화행(사용자의 의도), 언어 이해에 필요한 의미정보를 태깅하고, 사용자 입력과 이에 대응되는 시스템 응답 컨셉을 쌍(pair)으로 하여 대화 예제 데이터베이스에 저장ㆍ관리하는 기능; 사용자로부터 대화 데이터를 입력받아, 입력된 문자열의 사용자 입력 데이터의 언어 의미 및 사용자 의도를 분석하는 기능; 상기 분석된 화행정보와 의미정보(언어 이해 태깅 정보)를 검색키로 하여 상기 대화 예제 데이터베이스에서 상기 문자열의 사용자 입력 데이터에 가장 확률적으로 근접한 대화 예제를 탐색하여, 탐색된 대화 예제의 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성하는 기능; 및 상기 생성된 문자열의 시스템 발화를 음성 및/또는 문자의 시스템 응답으로서 사용자 단말로 전송하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은 단말기상의 대화형 회화 학습 프로그램(지능형 외국어 회화 학습 프로그램)을 통해 사용자의 음성, 문자 등을 입력받아, 인터넷을 거쳐 서버상의 대화형 다국어 학습 서비스 시스템에서 적절한 응답 메시지를 단말기상의 대화형 회화 학습 프로그램(지능형 외국어 회화 학습 프로그램)의 에이전트(지능형 에이전트)를 통해 출력하고, 이에 대해 사용자가 다시 응답하는 대화 진행 방식을 통해 자연스럽게 외국어 회화 학습 기회를 제공하고자 한다.
이를 위해, 본 발명은 사용자가 단말기상의 대화형 회화 학습 프로그램(지능형 외국어 회화 학습 프로그램)을 통해 외국어를 음성 및/또는 문자로 입력하면, 입력된 데이터가 인터넷을 통해 서버(대화형 다국어 학습 서비스 시스템)로 전달되어, 서버상에서 사용자 입력에 대한 처리, 의미 분석을 거쳐 사용자가 선택한 주제의 상황에 맞는 적절한 응답 메시지를 추출한다. 이때, 추출된 응답 메시지는 인터넷을 통해 음성 및/또는 문자 형식으로 사용자 단말기로 전달되어 출력된다. 이러한 과정을 거쳐 사용자가 선택한 주제에 기반한 상황하에 학습하고자 하는 외국어 음성 및/또는 문자로 자유롭게 대화함으로써, 자연스럽게 외국어 회화 학습 기회를 제공할 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1 은 본 발명에 따른 대화형 다국어 학습 서비스 시스템의 일실시예 구성도이다.
서비스 제공자는 유/무선 인터넷에 접속된 웹(WEB)/왑(WAP) 서버(20)와, 음성인식을 위해 사용되는 음성 데이터베이스(30) 및 사용자의 입력(문자 또는 음성발화)과 그 입력에 적절한 응답 메시지(대화 예제)를 저장하고 있는 대화 예제 데이터베이스(40), 서비스 가입자 정보를 저장하고 있는 사용자 데이터베이스(50) 등을 운영ㆍ관리한다.
여기서, 웹(WEB)/왑(WAP) 서버(20)에는 다수의 응용 프로그램(특히, 대화형 회화 학습 프로그램(지능형 외국어 회화 학습 프로그램) 등)이 저장되어 있으며, 대화형 다국어 학습 서비스를 제공할 수 있는 홈페이지가 운영된다. 또한, 음성 데이터베이스(30)에는 사용자의 음성발화 데이터에 대한 문자(열)의 특징값과 해당 특징값에 대응하는 문자(열)이 저장 및 관리된다. 또한, 대화 예제 데이터베이스(40)는 각 주제에 맞는 대화의 예제를 저장 및 관리하며, 사용자 데이터베이 스(50)에는 서비스를 이용하는 사용자 개인 정보(서비스 가입자 정보)가 관리된다.
따라서, 영어 및 기타 외국어 학습을 원하는 사용자는 단말기(10)로 유/무선 인터넷을 통해 웹(WEB)/왑(WAP) 서버(20)에 접속하여, 지능형 외국어 회화 학습 프로그램(대화형 회화 학습 프로그램)을 통해 외국어 회화를 대화형(지능형)으로 진행할 수 있다. 이때, 사용자 단말기(10)는 가정이나 사무실 등에 구비되며, 사용자 단말기(10)에는 음성 입력 및 출력을 위한 사운드카드, 마이크 그리고 스피커 등이 구비될 수 있다.
서비스 제공자는 인터넷상의 홈페이지를 통해 회원가입을 거쳐 인증받은 사용자에게 웹브라우저를 통해 대화형 학습 프로그램(외국어 학습 프로그램)을 제공한다.
이후, 사용자는 대화형 학습 프로그램(외국어 학습 프로그램)을 통해 회화(대화)를 진행하고 싶은 주제(대화 시나리오)와 외국어(예를 들면, 영어 등)를 선택하면, 대화형 다국어 학습 서비스 시스템은 주제별 상황에 따른 지능형 에이전트 및 적절한 화면 구성을 프로그램을 통해 출력한다.
다음으로, 사용자가 단말기(10)상의 입력장치(예를 들면, 키보드, 마이크 등)를 통해 문자 혹은 음성발화를 입력하게 되면, 대화형 다국어 학습 서비스 시스템은 웹(WEB)/왑(WAP) 서버(20)상의 음성인식 기능(음성인식 처리부(24))을 포함한 사용자 입력 처리부(21)와 의미 분석 및 적절한 응답 메시지를 출력할 수 있는 지능형 대화 관리부(22), 그리고 해당 응답 메시지를 음성 및/또는 문자 형식으로 출력해주는 출력 처리부(23)를 통해 외국어 회화를 대화형(지능형)으로 진행할 수 있 다.
상기에서, 서비스 제공자와 사용자 간에는 유무선 인터넷(WEB, WAP/ME), 인트라넷, 랜(LAN), 무선랜(Wireless LAN), 전화망(PSTN), 동기/비동기 이동통신망, 휴대 인터넷(WiBro), 지상파 방송망, DMB(Digital Multimedia Broadcasting) 방송망 등을 통해 통신회선을 연결하여 상호간에 언어 교육정보와 관련된 데이터 통신이 이루어지도록 연결 설정된다.
따라서, 다수의 사용자 단말기(10)로는 통신중재장치(예를 들면, 모뎀 등), 모니터, 키보드(혹은 키패드), 마우스, 부가적으로 음성을 인식할 수 있는 장치 등이 포함되어진 개인용컴퓨터(PC), 노트북 등인 것이 바람직하나, 셀룰러폰 혹은 PCS폰 등의 이동통신 단말기, IMT(International Mobile Telecommunication)-2000, UMTS(Universal Mobile Telecommunication Service) 등과 같은 차세대 이동통신 단말기, 개인휴대단말기(PDA), DMB(Digital Multimedia Broadcasting)폰 등 통신망 기반의 언어 교육정보의 제공이 가능한 '유/무선 인터넷 접속 가능한 단말기'면 족하다.
유/무선 인터넷이 가능한 사용자 단말기(10)는 웹브라우저, 음성 입출력이 가능한 마이크와 스피커 및 사운드카드, 문자 입력장치(키보드 등)를 갖추고 본 서비스를 제공하는 서버(대화형 다국어 학습 서비스 시스템)에 IP 또는 URL로서 접속한다. 이때, 서버(대화형 다국어 학습 서비스 시스템)는 지능형 대화 관리부(22)를 통하여 인증을 거친 사용자가 선택한 주제에 맞는 외국어 회화 학습을 제공한다.
대화형 다국어 학습 서비스 시스템은 사용자의 입력 데이터(문자 또는 음성 발화 데이터)를 인터넷을 통해 전달받아 인식하는(이때, 음성발화 데이터의 경우 음성인식 처리부(24)를 거쳐 사용자의 입력 데이터를 문자화함) 입력 처리부(21)와, 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)의 의미를 분석하고 입력된 내용 및 사용자가 선택한 주제에 따라 적절한 시스템 발화를 생성하는 대화 관리부(22)와, 시스템 발화를 문자 및/또는 음성 데이터로 변환하여 사용자 단말기(10)로 전달해주는 출력 처리부(23)로 구성된다.
여기서, 입력 처리부(21)는 인터넷을 통해 전달된 사용자의 입력(문자 또는 음성발화) 데이터를 1차로 처리한다. 이때, 입력 데이터가 문자 데이터인 경우에는 따옴표 등의 불필요한 요소를 제거하는 과정을 거치고, 입력 데이터가 음성발화 데이터인 경우에는 음성인식 처리부(24)를 통해 해당 문자열로 변환하는 과정을 거친다. 이때, 음성인식 처리부(24)에서는 음성발화 데이터에서 특징을 추출하고 분석하여, 음성의 특징값과 해당 특징값에 대응되는 문자열을 저장ㆍ관리하고 있는 음성 데이터베이스(30)에서 가장 근접한 결과를 추출하게 된다. 이렇게 입력 처리부(21)에서 변환된 사용자 입력 데이터(인식에 불필요한 요소를 제거한 문자 데이터, 문자화된 음성발화 데이터)는 문자열로 대화 관리부(22)로 전달된다.
또한, 대화 관리부(22)는 사용자가 문자 혹은 음성발화를 입력했을 때 해당 문장에 대해 의미 분석을 하고 그 정보를 검색키로 하여 대화 예제 데이터베이스(40) 상에서 사용자가 선택한 회화 주제에 맞는 시스템 발화를 문자열로 생성하여 출력 처리부(23)로 전송한다.
또한, 출력 처리부(23)에서는 대화 관리부(22)에서 생성된 문자열의 시스템 발화(시스템 응답 메시지)를 음성 합성기(도면에는 도시되지 않았지만, 출력 처리부(23) 내에 구비됨)를 통해 음성 데이터로 변환하고, 음성 데이터와 문자 데이터를 인터넷을 통해 사용자 단말기(10)로 전송한다.
이후, 사용자 단말기(10)에서는 전달된 음성 데이터는 스피커를 통해 출력하고, 문자 데이터는 단말기(10)상의 웹브라우저의 대화형 학습 프로그램(외국어 학습 프로그램)의 에이전트를 통해 화면상에 출력된다.
다음으로, 사용자는 시스템 응답(시스템 발화) 메시지를 보고 다음 입력을 진행하게 되고, 대화형 다국어 학습 서비스 시스템은 상기의 과정을 반복적으로 수행하여 외국어 회화를 지능형(대화형)으로 제공한다.
상기 대화형 다국어 학습 서비스 시스템의 구성을 보다 상세하게 살펴보면, 해당 언어의 대화 주제별로 예제(대화 예제)를 저장하고 있고, 각 대화 예제별로 대화의 주제, 화행(사용자의 의도), 언어 이해에 필요한 의미정보를 태깅하고, 사용자 입력과 이에 대응되는 시스템 응답 컨셉을 쌍(pair)으로 하여 저장ㆍ관리하고 있는 대화 예제 데이터베이스(40)와, 사용자의 입력(문자 혹은 음성발화) 데이터를 인식하기 위한 입력 처리부(21)와, 문자열의 사용자 입력 데이터를 분석하여, 이 정보를 검색키로 하여 대화 예제 데이터베이스(40)에서 사용자 입력에 맞는 시스템 응답 컨셉을 탐색하고, 이를 바탕으로 문자열의 시스템 발화를 생성하기 위한 대화 관리부(22)와, 생성된 문자열의 시스템 발화를 음성 및/또는 문자의 시스템 응답으로서 사용자 단말기(10)로 전송하기 위한 출력 처리부(23)를 포함한다.
여기서, 사용자 입력 데이터는, 문자 데이터 혹은 음성발화 데이터가 될 수 있다. 만약, 문자 데이터가 입력되는 경우에, 입력 처리부(21)에서는 입력 문자 데이터에서 인식에 불필요한 요소(예를 들면, 따옴표 등)를 제거하여 대화 관리부(22)로 전달한다. 한편, 음성발화 데이터가 입력되는 경우에, 입력 처리부(21)는 음성인식 처리부(24)를 통해 음성발화 데이터의 특징을 추출하여, 이를 바탕으로 음성의 특징값과 해당 특징값에 대응되는 문자열을 저장ㆍ관리하고 있는 음성 데이터베이스(30)에서 유사한 결과를 추출하여 문자열로 대화 관리부(22)에게 전달한다.
특히, 대화 관리부(22)에서는 도 3에 도시된 바와 같이 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 대해(301) 언어 이해 및 화행 분석을 하고(302,303), 이 정보를 검색키로 하여 미리 태깅된 대화 예제를 저장ㆍ관리하고 있는 대화 예제 데이터베이스(40)로부터 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 가장 확률적으로 근접한 대화 예제를 탐색하여(304), 탐색된 대화 예제의 시스템 응답 컨셉을 기반으로 문자열의 시스템 발화를 생성하여(305) 문자열의 시스템 발화(306)를 출력 처리부(23)로 전달한다.
즉, 대화 관리부(22)는 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 대해 화행정보와 의미정보(언어 이해 태깅 정보)를 추출하고, 화행정보와 의미정보(언어 이해 태깅 정보)를 검색키로 하여 대화 예제 데이터베이스(40)를 검색하여, 대화 예제 데이터베이스(40)에서 사용자 입력에 맞는 시스템 응답 컨셉을 탐색하고, 이를 바탕으로 문자열의 시스템 발화를 생성하여 출력 처리부(23)로 전달한다.
또는, 대화 관리부(22)는 문자열의 사용자 입력 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에 대해 화행정보와 의미정보(언어 이해 태깅 정보)를 추출하고, 화행정보만을 검색키로 하여 대화 예제 데이터베이스(40)를 검색하여, 대화 예제 데이터베이스(40)에서 사용자 입력에 맞는 시스템 응답 컨셉을 탐색하고, 이를 바탕으로 문자열의 시스템 발화를 생성하여 출력 처리부(23)로 전달한다.
출력 처리부(23)는 문자열의 시스템 발화를 그대로(문자 데이터) 사용자 단말기(10)로 전송하거나, 문자열의 시스템 발화를 음성으로 변환하여, 음성 데이터를 사용자 단말기(10)로 전송하거나, 문자열의 시스템 발화를 음성으로 변환하여, 음성 데이터를 문자 데이터와 함께 사용자 단말기(10)로 전송한다.
따라서, 사용자 단말기(10)는 출력 처리부(23)로부터의 음성 또는 문자 데이터, 혹은 음성 및 문자 데이터를 웹브라우저로 출력한다. 이때, 동영상, 애니메이션 등에 동기(sync)를 맞추어 출력할 수 있다.
대화 관리부(22)의 기능에 대해 보다 상세하게 살펴보면, 사용자가 주제에 대한 발화를 입력했을 때 그 발화에 대해 언어 이해 및 화행 분석을 하고, 그 정보를 검색키로 하여 미리 태깅된 대화 예제를 저장ㆍ관리하고 있는 대화 예제 데이터베이스(40)로부터 입력된 발화에 가장 확률적으로 근접한 대화 패턴을 찾아낸다. 이때, 검색된 대화 예제 쌍의 시스템 응답 컨셉을 기반으로 사용자의 상황에 맞는 적절한 시스템 발화를 생성하여 출력 처리부(23)로 전송한다.
이를 위해서, 대화 예제 데이터베이스(40)에는 호텔, 기차역, 공항 등의 각 주제별로 다양한 대화 예제가 수집되어 저장되어 있고, 각 대화 예제는 대화의 주 제, 화행(사용자의 의도), 언어 이해에 필요한 의미정보를 태깅하고, 응답하는 문장에 대해 시스템 응답 컨셉이 저장ㆍ관리된다. 이때, 시스템 응답 컨셉은 사용자 입력(문자 혹은 음성발화)에 대응되어 쌍(pair)으로 저장ㆍ관리된다.
특히, 대화 관리부(22)는 도 3에 도시된 바와 같이 사용자로부터 문자 데이터 혹은 음성발화 데이터가 입력되면(301), 개체명 태거(비록 도면에는 도시되지 않았지만, 대화 관리부(22)에 포함됨)를 통해 대화 예제 데이터베이스(40)와 동일한 언어 이해에 필요한 태깅 정보(의미정보)를 추출하고(302), 분류기(classifier)(비록 도면에는 도시되지 않았지만, 대화 관리부(22)에 포함됨)를 통해 화행분석을 하여(303), 이 언어 이해 태깅 정보(의미정보)와 사용자의 의도(화행정보)를 검색키로 하여 대화 예제 데이터베이스(40)에서 확률적으로 가장 유사한 대화 예제를 찾아낸다(304). 이때, 가장 유사한 대화 예제를 찾아낸다 함은, 사용자 입력(문자 혹은 음성발화)과 쌍(pair)으로 이루어진 대응된 시스템 응답 컨셉을 찾는다는 의미이다.
그리고, 대화 관리부(22)는 이렇게 찾은 대화 예제 쌍의 시스템 응답 컨셉을 근거로, 사용자의 상황에 맞는 문자열의 시스템 발화를 생성하여(305) 문자열의 시스템 발화(306)를 출력 처리부(23)로 전달함으로써, 출력 처리부(23)에서는 문자열의 시스템 발화를 음성 합성기를 통해 wav 파일 등의 음성으로 변환한 후, 음성 데이터(음성 시스템 발화)와 문자 데이터(문자열의 시스템 발화)를 사용자 단말기(10)로 전송하여, 웹브라우저상의 화면과 스피커를 통해 출력토록 한다.
그럼, 대화 예제 데이터베이스(40)를 구축하는 과정에 대해 보다 상세하게 살펴보기로 한다.
우선, 대화 예제 데이터베이스(40) 구축을 위해, 도 4를 참조하여 훈련용 코퍼스를 구축하는 과정에 대해 설명하기로 한다.
예를 들어, '항공기 좌석 예약'이란 주제에서 하기의 [표 1]과 같은 외국어 대화 패턴이 있을 때 훈련용 코퍼스는 이와 같은 대화 예제와 주제와 관련있는 대화에 대해 도 4와 같이 화행정보(speech act, dialog act)와 의미정보를 태깅하여 훈련용 코퍼스를 만들고, 또한 대화 예제 데이터베이스(40)에 저장한다. 대화 예제가 많을수록 대화는 자연스럽게 이어질 수 있다.
이와 같은 화행정보(speech act, dialog act)와 의미정보, 품사 등의 특징(feature)으로 분류기(classifier)로 훈련을 하여 훈련용 코퍼스를 구축한다. 본 발명에서는 분류기(classifier)로 ME(Maximum entropy) classifier를 사용한다.
이와 같이 구축한 태깅된 코퍼스에서 A의 발화와 이에 대응하는 시스템 응답 컨셉을 대화 예제 쌍(pair)으로 하여(하기의 [표 2] 참조) 대화 예제 데이터베이스(40)에 저장ㆍ관리한다.
이후, 실제 회화 학습시, 사용자의 입력(문자 혹은 음성발화)이 들어왔을 때 이 사용자의 입력(문자 데이터 혹은 문자화된 음성발화 데이터)이 A에 가장 근사한 대화일 때, 이에 대응되어 대화 예제 쌍(pair)으로 저장되어 있는 시스템 응답 컨셉을 가지고 실제 발화를 생성하여 시스템 응답으로 전송할 수 있는 것이다.
이를(대화 패턴 탐색 과정) 좀더 상세하게 살펴보면, 실제 대화형 다국어 학습 서비스 시스템이 구동하여 시스템과 사용자가 다음의 [표 3]과 같은 대화를 진행한다고 가정하자.
System : May I help you? User : I want to reserve a flight to London on Saturday System : ? |
이때, 대화형 다국어 학습 서비스 시스템이 응답을 하기 위해서는, 사용자 입력(문자 데이터 혹은 문자화된 음성발화 데이터)에 대해(301) 화행정보(speech act, dialog act)와 출발지, 도착지, 날짜, 시간 등의 의미정보를 추출해야 한다(302,303). 이러한 정보 추출을 위해, 기존에 구축되어 있는 훈련용 코퍼스와 동일한 특징(feature)을 추출한 후, ME classifier를 이용하여 입력된 사용자 데이터(문자 데이터 혹은 문자화된 음성발화 데이터)에서 화행정보(speech act, dialog act)를 찾아내고(303), 개체명 태거를 이용하여 출발지, 도착지, 날짜, 시간 등의 의미를 찾아낸다(302). 그리고, 이렇게 찾아진 정보(화행정보, 의미정보)를 인덱스로 하여 대화 예제 데이터베이스(40)를 검색하여, 사용자의 입력(문자 데이터 혹은 문자화된 음성발화 데이터)에 가장 근사한 대화예제 쌍을 찾아내어(304), 해당되는 시스템 응답 컨셉을 바탕으로 시스템 발화를 생성하여(305) 문자열의 시스템 발화(306)를 출력 처리부(23)를 통해 사용자에게 리턴한다.
여기서, 사용자의 입력(문자 데이터 혹은 문자화된 음성발화 데이터)에 가장 근사한 대화예제 쌍을 찾아내는 방법은, 화행정보와 의미정보를 인덱스로 하여 대화 예제 데이터베이스(40)를 검색하는데, 이때 만약 대화 예제 데이터베이스(40)에 'departure date'가 "Friday"로 되어 있으나 실제 사용자가 "Saturday"라고 입력하여 일치하는 대화가 없으면 검색조건을 완화하여 화행정보만을 가지고 대화 예제 데이터베이스(40)를 검색한다.
이와 같이 검색결과에 해당하는 시스템 응답 컨셉(request_departure_time)을 가지고 이 응답 컨셉에 적절한 의미를 사용하여 사용자에게 전송할 응답을 생성한다.
이제, 도 2를 참조하여 본 발명에 따른 대화형 다국어 학습 서비스 방법에 대해 살펴보기로 한다.
먼저, 영어 및 기타 외국어 회화 교육을 받고자 하는 사용자가 웹브라우저를 구동시켜(201), 인터넷을 통해 영어 및 기타 외국어 회화 교육 서비스를 제공하는 홈페이지의 IP 주소나 URL을 입력하여 서비스 제공자의 웹/왑 서버(20)에 접속한다(202).
이후, 웹/왑 서버(20)에서는 사용자 단말기(10)로 로그인 화면을 전송하여 로그인을 요구한다(203). 이때, 서비스 제공자의 홈페이지가 사용자의 웹브라우저를 통해 디스플레이되면, 서비스 제공자는 홈페이지의 사용자 인증란을 통해 사용자의 입력에 따라 회원가입 여부를 확인하게 된다(204).
확인 결과, 기존 회원이 아니라면, 웹/왑 서버(20)는 사용자의 웹브라우저를 통해 회원가입 웹페이지가 디스플레이되도록 하여 회원가입을 유도하고, 사용자가 회원 가입 양식에 따라 회원으로 가입하면(205), 입력된 사용자 정보를 사용자 데이터베이스(50)에 저장한다(206).
확인 결과, 기존 회원으로 가입되어 있는 경우에, 사용자는 사용자 식별정보인 자신의 아이디(ID)와 비밀번호(password)를 입력하고, 사용자 고유의 식별정보는 서비스 제공자의 웹/왑 서버(20)로 전달되어(207), 웹/왑 서버(20)에서 사용자가 회원인지를 검사하게 되고, 회원의 아이디와 비밀번호가 정당한 경우 사용자 단말기(10)의 웹브라우저 상에 다양한 회화 주제 리스트가 출력된다.
이후, 서비스 제공자의 웹/왑 서버(20)로부터 정식 회원으로 승인된 사용자가 웹브라우저 상에 출력된 선택 가능한 회화 주제 중에서 학습하기를 원하는 회화 주제를 선택하면(208), 사용자 단말기(10)의 웹브라우저 상에 플래시 같은 동영상 또는 애니매이션 형식으로 주제에 맞는 적절한 배경과 에이전트가 디스플레이되고 대화 예제 데이터베이스(40)에 저장된 해당 주제에 맞는 외국어 회화 문장을 불러들여 음성 합성을 거쳐 사용자의 웹브라우저의 에이전트로 화면 출력과 스피커를 통해 음성 출력을 수행한다(209). 이 과정은 상기 [표 3]에서 시스템 발화(May I help you?)에 해당되는 부분으로 이해할 수 있다.
이후, 사용자가 입력(문자열 또는 음성 발화)하게 되면(상기 [표 3]에서 사용자 발화에 해당됨)(210), 음성인식 처리부(24)가 음성 데이터베이스(30)를 활용하여 음성인식 결과를 문자열로 출력하고, 이 변환된 데이터를 대화 관리부(22)로 전달한다(211). 물론, 사용자의 입력이 문자인 경우, 입력 처리부(21)에서는 입력 문자 데이터에서 인식에 불필요한 요소(예를 들면, 따옴표 등)를 제거하여 대화 관리부(22)로 전달한다.
그러면, 대화 관리부(22)에서는 사용자 입력(문자 데이터 혹은 문자화된 음성발화 데이터)에 대해 언어 이해 및 화행 분석을 하고, 그 정보를 검색키로 하여 미리 태깅된 대화 예제를 저장ㆍ관리하고 있는 대화 예제 데이터베이스(40)로부터 사용자 입력에 가장 확률적으로 근접한 대화 패턴을 찾아낸다. 이때, 검색된 대화 예제 쌍의 시스템 응답 컨셉을 기반으로 사용자의 상황에 맞는 적절한 시스템 발화를 생성하여 출력 처리부(23)로 전송한다. 이에 대해, 출력 처리부(23)에서는 문자열의 시스템 발화를 음성 합성기를 통해 wav 파일 등의 음성으로 변환한 후, 음성 데이터(음성 시스템 발화)와 문자 데이터(문자열의 시스템 발화)를 사용자 단말기(10)로 전송하여, 웹브라우저상의 화면과 스피커를 통해 출력토록 한다(212).
이와 같은 과정을 반복적으로 수행하여 외국어 회화를 지능형(대화형)으로 제공할 수 있다.
상기의 과정에서 영어 및 기타 외국어 회화 테스트를 하는 경우에, 영작 또는 한글 해석의 두 가지 방법의 테스트가 가능하게 된다. 또한, 난이도별 테스트가 가능하게 되는데, 이 경우에는 여러 가지 힌트를 제공하여 난이도를 결정하게 된다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.