KR101522837B1 - 대화 방법 및 이를 위한 시스템 - Google Patents

대화 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR101522837B1
KR101522837B1 KR1020100129360A KR20100129360A KR101522837B1 KR 101522837 B1 KR101522837 B1 KR 101522837B1 KR 1020100129360 A KR1020100129360 A KR 1020100129360A KR 20100129360 A KR20100129360 A KR 20100129360A KR 101522837 B1 KR101522837 B1 KR 101522837B1
Authority
KR
South Korea
Prior art keywords
utterance
user
vertex
conversation
graph
Prior art date
Application number
KR1020100129360A
Other languages
English (en)
Other versions
KR20120075585A (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 KR1020100129360A priority Critical patent/KR101522837B1/ko
Priority to US13/327,392 priority patent/US20120156660A1/en
Publication of KR20120075585A publication Critical patent/KR20120075585A/ko
Application granted granted Critical
Publication of KR101522837B1 publication Critical patent/KR101522837B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

대화 방법 및 이를 위한 시스템이 개시된다. 사용자로부터 교육 도메인 및 상기 교육 도메인에서의 목표 완수 조건을 수신하고, 사용자로부터 발화된 사용자 발화를 수신하는 학습 시작부, 발화 정보를 이용하여 수신된 사용자 발화를 발화 텍스트로 변환하는 음성 인식부, 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성하는 언어 이해부, 동적 대화 그래프에서 최종 시스템 발화 정점(Vertex)과 연결된 복수개의 발화 정점의 발화 패턴과 논리 표현이 유사한 발화 정점을 결정하여 해당 발화 정점과 연결된 복수개의 발화 정점들 중 하나의 발화 정점을 다음 발화로 결정하는 대화 및 진도 관리부, 결정된 다음 발화에 해당하는 발화 정점과 연결된 발화 패턴들을 검색하여 시스템 발화 문장을 생성하는 시스템 대화 생성부 및 생성된 시스템 발화 문장에 음성을 합성하여 출력하는 음성 합성부를 포함하여 구성될 수 있다. 따라서, 학습자의 학습 진행에 따라 다양한 대화 흐름이 가능하도록 제어하여 학습자에게 다양한 영어 체험이 가능하게 하며 학습자 진도에 따라 시스템 발화 수준을 제어할 수 있다.

Description

대화 방법 및 이를 위한 시스템{COMMUNICATION METHOD AND SYSTEM FOR THE SAME}
본 발명은 대화 방법 및 이를 위한 시스템에 관한 것으로, 더욱 상세하게는 사용자 학습 진도를 이용하여 사용자 발화에 따라 적응적으로 시스템이 발화하는 대화 방법 및 이를 위한 시스템에 관한 것이다.
외국어를 학습하기 위한 방법은 실제 외국어를 모국어로 사용하는 나라에서 현지인들과 생활하면서 문화와 풍습 등을 언어와 같이 학습하는 것과 차선책으로 국내에서 학습 외국어를 모국어로 하는 원어민 교사에게서 배우는 것이라고 여겨지지만, 학습 비용이 매우 커서 경제적 부담이 생긴다. 또한, 이와 같은 전통적인 외국어 학습방법은 외국을 방문하거나 원어민 교사와 정기적으로 만남을 갖는 것에 대한 공간적 및 시간적 제한을 가진다.
종래의 외국어 학습 방법이 가지는 경제적 부담, 공간적 및 시간적 제한을 극복하기 위하여, 컴퓨터 장치에 의한 학습 방법들이 최근 많이 출시되고 있다. 종래의 컴퓨터 장치에 의한 외국어 학습 방법들은 단순한 정보나 학습자료, 풀이 방법 제시의 형태이며, 외국어 회화 교육과 관련해서는 정해진 시나리오상에서 대화를 순서대로 진행하여 정해진 문장과 상황에서만 학습자가 학습하는 단점을 가진다.
이러한 문제점을 해결하기 위해서, 컴퓨터가 원어민을 대신하여 학습자와 일대일 대화를 진행하는 대화 시스템을 외국어 회화 교육에 활용하는 방법들이 제안되었다. 기존의 대화 시스템들은 호텔/기차/항공권 예약 또는 버선노선/방안내 등의 정보 서비스를 위하여, 컴퓨터가 사용자와 대화하여 사용자가 원하는 예약이나 정보 제공 등을 파악하여 제공하였다. 이러한 기존 대화 시스템이 영어 대화를 위하여 개발되었다면 호텔, 항공권 등과 같은 예약 도메인이나 버스노선 또는 방 찾기를 위한 영어 회화 학습에 사용될 수 있다.
대화 시스템을 이용한 외국어 회화 교육용 시스템은 시간 및 공간적 제약을 가지면서 비용이 많이 드는 원어민 교사를 대신하여 대화를 할 수 있으며, 사용자의 다양한 반응에 대하여 응답이 가능한 대화를 할 수 있는 장점을 가진다. 기존 대화 시스템에서 사용자와의 대화 흐름을 관리하는 대화 관리 방법들은 사용자의 목적, 예를 들어 호텔 예약, 정보 제공 등을 달성하기 위하여 각 도메인에 전문가에 의하여 작성한 대화 플랜(dialogue plan)이나 도메인 대화 시나리오들로부터 학습된 대화 응답 방법을 사용한다. 외국어 회화 교육용을 위한 대화 시스템의 경우, 사용자가 특정 상황에서 다음 대화를 하지 못할 경우에 다음 대화를 제시할 수 있거나 시스템이 대화 진행에 도움을 줄 수 있는 방법이 필요하다.
대화 플랜 기반 대화 시스템들의 경우에는 앞으로 진행할 대화 흐름을 대화 플랜에 의해서 시스템이 파악하여 학습자에게 도움을 주는 기능을 제공할 수 있지만, 학습 및 예제 기반 대화 시스템들은 사용자의 발화에 민감하게 반응하도록 설계되어서 다음 진행을 대화 시스템이 미리 예측하기가 어려운 단점을 가진다. 그래서, 예제 기반 대화 시스템을 외국어 회화 교육용으로 활용할 경우에 기존의 대화 플랜 방법을 접목하여 다음 대화를 예측하여 학습자에게 도움을 줄 수 있도록 하기도 하였다. 반면에, 학습 및 예제기반 대화 시스템과 달리, 전문가에 의해 구축된 대화 플랜을 기반으로 한 대화 시스템의 경우에는 학습자와의 대화가 항상 정해진 대화 플랜으로 제한되어야 하는 문제점을 가진다.
기존의 대화 시스템들은 특정 목적을 위한 정보서비스용 대화 흐름만을 고려하여 개발되어서 정해진 대화 흐름만을 고려하는 대화 플랜이나 대화 흐름을 제어하기 어려운 학습 및 예제 기반의 대화 관리 방법이어서, 외국어 회화 교육에 적합하도록 실제 도메인에서 나타나는 다양한 대화 흐름을 고려하면서 대화 흐름을 제어할 수 있는 방법이 필요하다. 또한, 대화 플랜이나 학습 및 예제 기반에 상관없이 기존 대화 시스템들은 사용자에게 빠르게 정확한 정보 및 예약을 제공하기 위하여, 항상 최적의 대화 흐름으로 대화가 진행되도록 구성되어 있다. 대부분의 대화 시스템에서 최적은 항상 짧은 대화흐름이므로, 대화가 될 수 있으면 짧게 끝나도록 시스템이 대화를 진행한다. 그리고, 사용자가 다양한 외국어에 익숙하지 않을 경우에 사용자의 같은 발화에 대해서 같은 다음 대화를 진행하여서, 사용자는 대화 시스템의 다양한 대화 흐름들을 접하지 못할 수 있는 문제점을 가진다.
또한 종래의 외국어 회화 교육용 대화 시스템들은 학습자의 학습 진행에 따라 다양한 대화 흐름을 제어하지 못하여 다양한 영어 체험을 주지 못하고 학습자의진도에 따라 시스템의 대화 수준이 차별화되지 않는 문제점을 가진다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 1 목적은, 사용자 학습 진도를 이용하여 사용자 발화에 따라 적응적으로 시스템 발화를 발화하는 대화 시스템을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 2 목적은, 사용자 학습 진도를 이용하여 사용자 발화에 따라 적응적으로 시스템 발화를 발화하는 대화 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 3 목적은, 사용자 학습 진도를 이용하여 사용자 발화에 따라 적응적으로 시스템 발화를 발화하기 위한 동적 대화 그래프를 생성하는 방법을 제공하는데 있다.
상기한 본 발명의 제 1 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대화 시스템은 사용자로부터 교육 도메인 및 상기 교육 도메인에서의 목표 완수 조건을 수신하고, 상기 사용자로부터 발화된 사용자 발화를 수신하는 진도 시작부, 발화 정보를 이용하여 상기 수신된 사용자 발화를 발화 텍스트로 변환하는 음성 인식부, 상기 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성하는 언어 이해부, 동적 대화 그래프에서 최종 시스템 발화 정점(Vertex)과 연결된 복수개의 발화 정점의 발화 패턴과 상기 논리 표현이 유사한 발화 정점을 결정하여 해당 발화 정점과 연결된 복수개의 발화 정점들 중 하나의 발화 정점을 다음 발화로 결정하는 대화 및 진도 관리부, 상기 결정된 다음 발화에 해당하는 발화 정점과 연결된 발화 패턴들을 검색하여 시스템 발화 문장을 생성하는 시스템 대화 생성부 및 상기 생성된 시스템 발화 문장에 음성을 합성하여 출력하는 음성 합성부를 포함하여 구성될 수 있다.
본 발명의 제 2 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대화 방법은 사용자로부터 교육 도메인 및 상기 교육 도메인에서의 목표 완수 조건을 수신하고, 상기 사용자로부터 발화된 사용자 발화를 수신하는 단계, 발화 정보를 이용하여 상기 수신된 사용자 발화를 발화 텍스트로 변환하는 단계, 상기 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성하는 단계, 동적 대화 그래프에서 최종 시스템 발화 정점과 연결된 복수개의 발화 정점의 발화 패턴과 상기 논리 표현이 유사한 발화 정점을 결정하여 해당 발화 정점과 연결된 복수개의 발화 정점들 중 하나의 발화 정점을 다음 발화로 결정하는 단계, 상기 결정된 다음 발화에 해당하는 발화 정점과 연결된 발화 패턴들을 검색하여 시스템 발화 문장을 생성하는 단계 및 상기 생성된 시스템 발화 문장에 음성을 합성하여 출력하는 단계를 포함하여 구성될 수 있다.
본 발명의 제 3 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대화 그래프 생성 방법은, 사용자로부터 선택된 교육 도메인에서 사용자와 시스템간의 대화 시나리오를 구축하는 단계, 상기 대화 시나리오에 포함된 대화들에 대하여 발화 행위 및 슬롯 표현을 설정하고, 상기 슬롯 표현 단어에 대한 슬롯 타입을 각각 할당하여 대화처리 정보가 부착된 대화 시나리오 코퍼스를 생성하는 단계, 상기 대화 시나리오 코퍼스에 부착된 대화처리 정보를 이용하여 대화 그래프의 발화 정점을 구축하고, 상기 슬롯 타입을 이용하여 상기 발화 정점에 대한 발화 패턴을 생성하는 단계 및 상기 대화 시나리오에 포함된 대화들을 이용하여 발화 정점(Vertex)들간의 방향성 에지(Directed Edge)를 부여하고, 사용자로부터 수신된 상기 교육 도메인에서의 목표 완수 조건을 만족하기 위한 슬롯간 전이 관계를 학습하여 대화 그래프를 구축하는 단계를 포함하여 구성될 수 있다.
상기와 같은 본 발명에 따른 사용자 학습 진도를 기초로하여 사용자의 발화에 따라 적응적으로 사용자에게 응답하는 대화 방법 및 이를 위한 시스템을 이용할 경우에는 학습자의 학습 진행에 따라 다양한 대화 흐름이 가능하도록 제어하여 학습자에게 다양한 영어 체험이 가능하게 하며 학습자 진도에 따라 시스템 발화 수준을 제어할 수 있다. 또한, 본 발명은 사용자로부터 교육 도메인에서의 목표 완수 조건을 수신하여 학습자에게 지루하기 쉬운 한 가지 도메인에서 다양한 상황에서 외국어 회화를 하도록 하며 반복적인 학습 효과를 극대화할 수 있고, 이러한 다양한 조건들을 추가적으로 학습자에게 인지하여 그 도메인에서 나타나는 외국 문화 및 풍습 등을 자연히 체득하도록 한다.
도 1은 본 발명의 일 실시예에 따른 대화 시스템의 내부 구조를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템의 언어 이해부(103)의 내부 구조를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 대화 시스템의 동적 대화 그래프 생성부(109)의 내부 구조를 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 회화 교육 도메인의 동적 대화 그래프의 예를 도시한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 동적 대화 그래프의 발화 정점과 연결된 발화 패턴의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 대화 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 그래프 생성 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예는 영어 대화 시스템의 경우를 가정한 것으로 기술되지만, 대화 대상 언어가 반드시 영어로만 한정되는 것은 아님에 유의하여야 한다.
도 1은 본 발명의 일 실시예에 따른 대화 시스템의 내부 구조를 개략적으로 도시한 도면이다.
도 1을 참조하면, 대화 시스템은 진도 시작부(101), 음성 인식부(102), 언어 이해부(103), 대화 및 진도 관리부(104), 제어부(105), 시스템 대화 생성부(106), 음성 합성부(107), 저장부(108) 및 동적 대화 그래프 생성부(109)를 포함하여 구성되고, 저장부(108)는 학습 진도 정보 저장 유닛(118), 동적 대화 그래프 저장 유닛(128), 담화 이력 저장 유닛(138) 및 시스템 정보 저장 유닛(148)을 포함하여 구성될 수 있다.
진도 시작부(101)는 사용자 입력을 토대로 복수개의 회화 교육 도메인들 중 교육할 회화 교육 도메인을 선택한다. 본 발명의 일 실시예에 따르면, 사용자가 외국어 회화 교육용 대화 시스템을 통해 로그인하고, 사용자로부터 복수개의 회화 교육 도메인들 중 교육할 회화 교육 도메인을 선택한 경우, 진도 시작부(101)는 사용자로부터 선택된 교육할 회화 교육 도메인을 수신한다. 본 발명의 일 실시예에 따르면, 복수개의 회화 교육 도메인은 대화 시스템과 사용자간의 대화 시나리오의 주제를 나타내며, 시티투어 버스표 구입 도메인, 호텔 예약 도메인, 호텔 체크인 및 체크아웃 도메인, 분실물 찾기 도메인 등을 포함할 수 있으며, 이에 한정되는 것은 아니다.
또한, 진도 시작부(101)에서는 사용자가 특정 회화 교육 도메인을 선택할 때, 대화 시스템의 학습 진도에 따른 동적 대화 그래프 데이터베이스 및 시스템 정보 데이터베이스를 설정한다. 즉, 먼저 진도 시작부(101)에서 사용자가 새로운 회화 교육 도메인을 선택함으로써 회화 교육 도메인의 학습 진도가 처음이라고 판단한 경우를 설명하면, 진도 시작부(101)는 제어부(105)의 제어에 의해 사용자가 선택한 회화 교육 도메인의 학습 진도가 처음에 맞추어진 동적 대화 그래프 데이터베이스 및 시스템 정보 데이터베이스를 설정한다. 둘째, 사용자가 이전에 선택했던 회화 교육 도메인을 다시 선택함으로써 회화 교육 도메인의 학습 진도가 처음이 아니라고 판단한 경우, 진도 시작부(101)는 제어부(105)의 제어에 의해 사용자가 선택한 회화 교육 도메인의 학습 진도에 따른 동적 대화 그래프 데이터베이스 및 시스템 정보 데이터베이스를 설정한다.
또한, 진도 시작부(101)는 사용자로부터 결정된 회화 교육 도메인에서 사용자가 목표 완수 조건을 제시하는 기능을 제공할 수 있다. 본 발명의 일 실시예에 따르면, 사용자가 복수개의 회화 교육 도메인들 중 시티투어 버스표 구입 도메인을 결정한 경우, 진도 시작부(101)는 사용자로부터 결정된 시티투어 버스표 구입 도메인에서의 목표 완수 조건인 특정 투어 참가 인원, 특정 비용 이하에서 버스표를 구입, 한국어 가이드를 받기, 꼭 가고 싶은 장소에 가는 시티투어버스 구입, 시티투어버스 타입이 저녁 투어 및 낮 투어 중 어느 것인지 결정하는 조건 등에 대한 조건을 제시할 수 있다.
진도 시작부(101)가 사용자의 목표 완수 조건을 제시하는 이유는 도메인에 익숙하지 않은 학습자에게 명확하게 무엇을 해야 할지를 알려주는 교육적 기능을 할 수 있으며, 학습자가 완수해야 할 조건이 늘어날수록 학습자가 고려해야 할 회화 수준이 높아지는 경향이 있으므로, 학습자가 특정 도메인에 처음 체험할 경우에는 도메인에서 목표를 완수하기 위해 꼭 필요한 조건으로 구성된 학습자 목표 완수 조건을 제시하여 체험을 하도록 하고, 그 체험 횟수의 증가와 체험 성공 여부에 따라 더 복잡한 조건들을 제시들을 추가하여 체험하도록 하기 위함이다. 또한, 학습자의 목표 완수 조건을 제시하면, 학습자에게 지루하기 쉬운 한 가지 도메인에서 다양한 상황에서 외국어 회화를 하도록 하며 반복적인 학습 효과를 극대화할 수 있고, 다양한 조건들을 추가적으로 학습자에게 인지하여 그 도메인에서 나타나는 외국 문화 및 풍습 등을 자연히 체득할 수 있으며, 학습자의 선택에 따라 시스템이 제시하는 조건 없이 학습자 자유 의사에 따라 목표를 완수하도록 유도할 수 있다.
대화 시스템은 사용자로부터 발화된 사용자 발화를 수신하거나 시스템 발화를 사용자에게 발화한다. 예들 들어, 시스템이 먼저 발화를 하여 “Welcome to the New York City Bus Tour Center.”로 시작할 수 있다. 한편, 경우에 따라 학습자가 먼저 발화를 하여 “Hello” 또는 “Hello, I want to buy tickets.” 등으로 시작할 수도 있다. 사용자 발화로 시작된다면 대화 시스템은 음성 인식부(102)에서부터 학습자 발화를 인식하기 시작하여 대화를 시작한다. 그리고, 사용자에게 먼저 시스템 발화를 하는 경우, 예를 들어, 시티투어버스표 구입 도메인에서 시스템이 먼저 발화를 하여 “Welcome to the New York City Bus Tour Center.”로 시작할 수 있다. 시스템 발화로 시작된다면 대화 시스템은 사용자가 진도 시작부(101)에서 설정을 완료한 후, 대화 및 진도 관리부(104)에서부터 시스템 인사를 선택하여 시작할 수 있다.
음성 인식부(102)는 사용자로부터 사용자 발화가 수신된 경우, 수신된 사용자 발화를 입력으로 받아서 발화 텍스트로 변환한다. 본 발명의 일 실시예에 따르면, 음성 인식부(102)는 사용자 발화의 인식률을 높이기 위해서 사용자와 동일한 국적을 가지는 복수의 사용자로부터 발화된 외국어 발화 정보를 이용하여 학습할 수 있다. 본 발명의 일 실시예에 따르면, 음성 인식부(102)는 사용자 발화가 자연스럽지 않은 경우, 예를 들어 사용자가 단어들이나 구를 반복하여 발화한 경우나, 사용자가 잘못 발화하여 다시 발화를 시작하는 경우를 위해서, 자연어에서 발생하는 음성적인 특성인 간투사 등에 대한 처리를 수행할 수 있다.
언어 이해부(103)는 음성 인식부(102)로부터 변환된 발화 텍스트를 입력으로 하여 사용자의 발화 행위(Dialog Act)를 결정하고, 결정된 발화 행위에 대한 의미에 해당하는 슬롯 표현을 생성하고, 발화 행위와 슬롯 표현을 이용하여 논리 표현을 생성한다. 본 발명의 일 실시예에 따르면, 사용자가 복수개의 회화 교육 도메인들 중 시티투어 버스표 구입 도메인을 결정한 경우에 언어 이해부(103)가 음성 인식부(102)로부터 사용자 발화에 대한 발화 텍스트인“Which tour goes to the Statue of Liberty?”를 수신하면, 언어 이해부(103)는 사용자의 발화 행위가 미리 정의된 발화 행위의 하나인 질문(request)을 한 것으로 인지하고, 질문에 해당하는 슬롯(tour_type)으로서 "State of Liberty"를 토대로 도메인에 미리 정의된 특정 슬롯(location)인 것을 인지하고 이에 대응되는 논리 표현을 생성한다. 예를 들어, 논리 표현은 request(location= “State of Liberty”, tour_type)와 같이 표현될 수 있으며 이에 한정되는 것은 아니다.
대화 및 진도 관리부(104)는 최종 시스템 발화 정점을 저장부(108)의 담화 이력 저장 유닛(138)에 저장한다.
대화 및 진도 관리부(104)는 담화 이력 저장 유닛(138)에 저장된 담화 이력을 이용하여 현재 사용자 발화에 대한 그래프 상의 사용자 발화 정점을 검색한다. 이때, 대화 및 진도 관리부(104)에 의해 검색된 사용자 발화 정점은 최종 시스템 발화 정점에 직접 연결되어 있을 수도 있고, 바로 연결되어 있지 않을 수도 있다. 먼저, 대화 및 진도 관리부(104)에 의해 검색된 사용자 발화 정점이 최종 시스템 발화 정점에 바로 연결되어 있는 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프의 최종 시스템 발화 정점과 연결되는 사용자 발화 정점들 중에서 언어 이해부(103)로부터 생성되어 수신된 사용자 발화에 대한 발화 행위와 슬롯 표현을 토대로 생성된 논리 표현을 토대로 최종 시스템 발화 정점에 직접 연결된 사용자 발화 정점을 검색하고, 검색된 사용자 발화 정점에 연결된 동적 대화 그래프 상의 시스템 발화 정점 을 다음 시스템 발화로 결정하거나 시스템 발화 정점들 중 가중치가 높거나 학습이 적게 된 시스템 발화 정점을 다음 시스템 발화로 결정할 수 있다.
둘째, 대화 및 진도 관리부(104)에 의해 검색된 사용자 발화 정점이 최종 시스템 발화 정점에 직접 연결되어 있지 않은 경우를 설명하기로 한다. 이 경우는 대화 및 진도 관리부(104)가 언어 이해부(103)로부터 생성되어 수신된 논리 표현과 현재 사용자 발화에 대한 현재 슬롯 이력을 이용하여 최종 시스템 발화 정점에 직접 연결된 사용자 발화 정점을 검색하였을 때 현재 사용자 발화에 해당하는 사용자 발화 정점이 존재하지 않은 경우이다. 이에 따라, 대화 및 진도 관리부(104)는 제어부(105)의 제어에 의해 저장부(108)의 동적 대화 그래프 저장 유닛(128)로부터 수신된 동적 대화 그래프 전체에서 언어 이해부(103)로부터 생성되어 수신된 논리 표현과 현재 사용자 발화에 대한 현재 슬롯 이력을 이용하여 사용자 발화 정점을 검색하고, 검색된 사용자 발화 정점에 연결된 시스템 발화 정점 중 가중치가 높거나 학습이 적게된 시스템 발화 정점을 검색하여 발화한다. 그러면 이하에서는, 대화 및 진도 관리부(104)가 현재 사용자 발화에 해당하는 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점들 중 다음 발화에 사용하게 될 시스템 발화 정점을 결정하는 과정을 설명하기로 한다.
대화 및 진도 관리부(104)는 제어부(105)의 제어에 의해 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습이 처음이 아닌지 판단하여 시스템 발화 정점을 결정할 수 있다. 먼저, 대화 및 진도 관리부(104)는 제어부(105)의 제어에 의해 저장부(108)에 저장된 학습 진도 정보를 이용하여 사용자의 학습이 처음이라고 판단함에 따라 시스템 발화 정점을 결정하는 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 제어부(105)의 제어에 의해 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프에서 검색된 사용자 발화 정점과 연결된 복수개의 시스템 발화 정점들 중 가중치가 가장 높은 에지로 연결된 시스템 발화 정점을 결정한다. 이처럼, 대화 및 진도 관리부(104)는 가중치가 가장 높은 에지로 연결된 시스템 발화 정점을 결정하여 현재 상황에서 가장 쉬울 수 있는 대화흐름을 유도한다.
둘째, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습이 처음이 아니라고 판단함에 따라 시스템 발화 정점을 결정하는 경우를 설명하기로 한다. 이 경우, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 진도율을 평가하여 그 결과에 따라 시스템 발화 정점을 결정할 수 있다. 먼저, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 진도율이 낮다고 평가한 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보로부터 사용자 발화 정점 및 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점 들간의 에지를 수신하고, 사용자가 반복 학습이 필요한 에지가 있다면 그 에지에 연결된 시스템 발화 정점을 결정한다.
둘째, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 진도율이 높다고 평가한 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프를 이용하여 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점들 중에서 사용자가 학습하지 않은 에지 중에서 가장 큰 에지에 연결된 시스템 발화 정점을 결정함으로써 다음 발화를 결정한다. 만약, 대화 및 진도 관리부(104)는 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프를 이용하여 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점들이 존재한다고 판단한 경우, 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프로부터 가중치가 가장 큰 에지에 연결된 시스템 발화 정점에서 학습 진도 정보로부터 방문 횟수가 가장 작은 시스템 발화 정점에 해당하는 정점을 결정한다.
대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 정도를 판단할 수 있다. 먼저, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 정도가 충분하지 않다고 판단한 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 낮다고 판단한 경우, 해당 사용자 발화 정점에서 발화할 내용에 대하여 충분히 학습하지 않은 것으로 판단하여 다음 발화를 결정한다.
둘째, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 정도가 충분하다고 판단한 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 높다고 판단한 경우, 해당 사용자 발화 정점에서 발화할 내용에 대하여 충분히 학습한 것으로 판단하여 다음 발화를 결정한다.
대화 및 진도 관리부(104)는 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점들 중 하나를 선택함에 따라 사용자 발화 정점과 시스템 발화 정점간의 에지에 대한 방문 횟수를 저장부(108)의 학습 진도 정보 저장 유닛(118)에 업데이트 하고, 가중치를 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 업데이트 한다. 먼저, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 정도가 낮다고 판단함에 따라 동적 대화 그래프 저장 유닛(128)에 저장된 동적 대화 그래프에서 시스템 발화 정점을 결정하고 저장부(108)에 업데이트 하는 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 제어부(105)의 제어에 의해 저장부(108)에 저장된 학습 진도 정보를 이용하여 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 낮다고 판단함에 따라 학습 정도가 낮다고 판단하고 이에 따라 동적 대화 그래프에서 이전 시스템 발화 정점과 현재 사용자 발화 정점간의 에지에 대한 방문 횟수를 제어부(105)를 통해서 저장부(108)의 학습 진도 정보 저장 유닛(118)에 업데이트 하고, 이전 사용자 발화 정점과 이전 시스템 발화 정점 사이의 에지의 가중치를 감소시켜 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 업데이트 시킨다.
둘째, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자의 학습 정도가 높다고 판단함에 따라 동적 대화 그래프에서 시스템 발화 정점을 결정하고 이에 따라 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 업데이트 하는 경우를 설명하기로 한다. 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장된 학습 진도 정보를 이용하여 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 높다고 판단함에 따라 학습 정도가 높다고 판단하고 이에 따라 동적 대화 그래프에서 현재 시스템 발화 정점과 현재 사용자 발화 정점간의 에지에 대한 방문 횟수를 저장부(108)의 학습 진도 정보 저장 유닛(118)에 업데이트 하고, 이전 사용자 발화 정점과 이전 시스템 발화 정점 사이의 에지의 가중치를 증가시켜 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 업데이트 시킨다.
제어부(105)는 진도 시작부(101)가 회화 교육 도메인의 학습 진도가 처음이라고 판단한 경우에 동적 대화 그래프 및 시스템 정보가 저장부(108) 의 동적 대화 그래프 저장 유닛(128) 및 시스템 정보 저장 유닛(148)에 저장되도록 제어하는 경우를 설명하면, 제어부(105)는 진도 시작부(101)가 사용자가 새로운 회화 교육 도메인을 선택함으로써 회화 교육 도메인의 학습 진도가 처음이라고 판단함에 따라 설정된 회화 교육 도메인의 학습 진도가 처음에 맞추어진 동적 대화 그래프 및 시스템 정보가 저장부(108)의 동적 대화 그래프 저장 유닛(128) 및 시스템 정보 저장 유닛(148)에 각각 저장되도록 제어한다.
둘째, 제어부(105)는 진도 시작부(101)가 회화 교육 도메인의 학습 진도가 처음이 아니라고 판단한 경우에 동적 대화 그래프 및 시스템 정보가 저장부(108) 의 동적 대화 그래프 저장 유닛(128) 및 시스템 정보 저장 유닛(148)에 저장되도록 제어하는 경우를 설명하면, 제어부(105)는 진도 시작부(101)가 사용자가 이전에 선택했던 회화 교육 도메인을 다시 선택함으로써 회화 교육 도메인의 학습 진도가 처음이 아니라고 판단함에 따라 설정된 회화 교육 도메인의 학습 진도에 따른 동적 대화 그래프 및 시스템 정보가 저장부(108) 의 동적 대화 그래프 저장 유닛(128) 및 시스템 정보 저장 유닛(148)에 각각 저장되도록 제어한다.
제어부(105)는 대화 및 진도 관리부(104)가 다음 발화를 결정함에 따라 학습 진도 정보 및 담화 이력을 저장부(108)의 학습 진도 정보 저장 유닛(118) 및 담화 이력 저장 유닛(138)에 각각 저장되도록 제어한다. 먼저, 제어부(105)는 대화 및 진도 관리부(104)가 마지막으로 발화한 발화자가 사용자인지 시스템인지 판단하여 동적 대화 그래프에서 현재 발화 정점과 연결된 복수개의 발화 정점들 중 하나의 발화 정점을 결정하는 경우 발화가 동적 대화 그래프의 어느 정점에서 발생하였는지를 나타내는 담화 이력이 저장부(108)의 담화 이력 저장 유닛(138)에 저장되도록 제어하고, 사용자 발화 정점과 시스템 발화 정점 간의 에지 방문횟수가 저장부(108)의 학습 진도 정보 저장 유닛(118)에 저장되도록 제어한다.
둘째, 제어부(105)는 대화 및 진도 관리부(104)가 사용자의 학습 정도에 따라 다음 발화를 결정하는 경우를 설명하기로 한다. 먼저, 제어부(105)는 대화 및 진도 관리부(104)가 사용자의 학습 정도가 낮다고 판단함에 따라 동적 대화 그래프에서 이전 시스템 발화 정점과 현재 사용자 발화 정점간의 에지에 대한 방문 횟수 및 이전 사용자 발화 정점과 이전 시스템 발화 정점 사이의 에지의 가중치를 감소시켜 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장되도록 제어한다. 둘째, 제어부(105)는 대화 및 진도 관리부(104)가 사용자의 학습 정도가 높다고 판단함에 따라 동적 대화 그래프에서 이전 시스템 발화 정점과 현재 사용자 발화 정점간의 에지에 대한 방문 횟수 및 이전 사용자 발화 정점과 이전 시스템 발화 정점 사이의 에지의 가중치를 증가시켜 저장부(108)의 동적 대화 그래프 저장 유닛(128)에 저장되도록 제어한다.
시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 결정된 시스템 발화 정점을 수신하고, 저장부(108)로부터 수신된 동적 대화 그래프에서 대화 및 진도 관리부(104)로부터 수신된 시스템 발화 정점과 연결된 발화 패턴들을 검색하여 그 발화 패턴으로 시스템 발화를 생성한다. 본 발명의 일 실시예에 따르면, 시스템 대화 생성부(106)는 저장부(108)로부터 수신된 동적 대화 그래프에서 대화 및 진도 관리부(104)로부터 수신된 시스템 발화 정점의 발화 패턴에 슬롯 변수를 포함하고 있지 않는다고 판단한 경우, 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 발화 정점에 포함된 슬롯 표현의 슬롯 타입에 따라 발화 패턴을 그대로 시스템 발화 문장으로 사용하거나 저장부(108)로부터 수신된 담화 이력을 이용하여 검색된 문장을 사용할 수 있다.
본 발명의 일 실시예에 따르면, 시스템 대화 생성부(106)는 저장부(108)의 동적 대화 그래프 저장 유닛(128)으로부터 수신된 동적 대화 그래프에서 대화 및 진도 관리부(104)로부터 수신된 시스템 발화 정점의 발화 패턴에 슬롯 변수를 포함하고 있다고 판단한 경우, 시스템 대화 생성부(106)는 저장부(108)의 시스템 정보 저장 유닛(148)로부터 수신된 시스템 정보로부터 시스템 발화 정점의 발화 패턴인 “LOCATION”에 해당하는 값과 시스템 발화 정점의 발화 패턴인 “TOUR_TYPE”에 해당하는 값을 검색하여 문장을 완성하여 시스템 발화 문장으로 사용한다. 여기서, 발화 패턴은 대화 시나리오 코퍼스에서 나타나는 빈도를 가지고 있고 있으며, 발화 패턴에 포함된 자주 사용하지 않는 영어 단어들의 분포를 계산하여 발화 난이도를 계산한다. 또한, 발화 패턴에 포함된 자주 사용하지 않는 영어 단어는 초/중/고등학교 영어 교과서에 나타나지 않는 단어나 대규모 영어 문서 코퍼스에서 빈도가 낮은 단어들로 선정할 수 있다.
음성 합성부(107)는 시스템 대화 생성부(106)로부터 생성된 시스템 발화 문장을 수신하고, 수신된 시스템 발화 문장을 음성으로 합성하여 출력한다.
학습 진도 정보 저장 유닛(118)은 사용자 발화 정점과 시스템 발화 정점 간의 에지 및 시스템 발화 정점 방문 횟수를 저장한다. 본 발명의 일 실시예에 따르면, 학습 진도 정보 저장 유닛(118)은 사용자가 동일한 회화 교육 도메인에서 시스템과 대화를 하면서 통과한 동적 대화 그래프의 에지 정보, 에지에 연결된 시스템 발화 정점의 방문 횟수 및 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도를 저장한다.
동적 대화 그래프 저장 유닛(128)은 동적 대화 그래프 생성부(109)로부터 수신된 동적 대화 그래프를 저장한다. 담화 이력 저장 유닛(138)은 사용자와 시스템간의 대화를 진행하면서 대화 상에서 언급한 내용이 동적 대화 그래프 저장 유닛(128)의 어느 정점에서 발생하였는가를 저장한다.
시스템 정보 저장 유닛(148)은 회화 교육 도메인에 따른 시스템 정보를 저장한다. 본 발명의 일 실시예에 따르면, 시스템 정보 저장 유닛(148)은 회화 교육 도메인이 시티 투어 버스표 구입 도메인인 경우 버스표 판매원으로 각 시티 투어 버스에 대한 정보인 가격, 투어 종류, 유효 기간, 출발 시간, 경유지 등의 정보를 저장한다.
동적 대화 그래프 생성부(109)는 사용자로부터 선택된 회화 교육 도메인에서 시스템과 사용자간의 대화 시나리오를 이용하여 대화 그래프의 정점을 구축하고, 슬롯 표현 정보가 부착된 대화 시나리오의 대화 문장을 이용하여 각 정점에 대한 발화 패턴을 생성하고, 대화 시나리오의 대화 흐름에 따라 정점간에 방향성 에지를 부여하여 동적 생성된 동적 대화 그래프를 생성한다. 여기서, 동적 대화 그래프는 복수개의 정점과 에지를 가지는 방향 그래프로서, 정점은 시스템 발화 정점 및 사용자 발화 정점으로 구성되며 현재 발화에 대한 발화 행위, 슬롯 표현, 현재 발화 정점까지 대화 그래프상에서 거쳐온 슬롯 표현들의 집합을 담화 이력으로 저장하고 있다. 에지는 사용자와 시스템간의 발화 사이의 대화 흐름을 표현한 것으로 현재 발화 정점 다음에 나올 수 있는 발화들에 대한 복수개의 정점으로 연결되어 있다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템의 언어 이해부(103)의 내부 구조를 개략적으로 도시한 도면이다.
도 2를 참조하면, 언어 이해부(103)는 형태소 분석 유닛(113), 오류 제거 유닛(123), 도메인 독립 슬롯 인식 유닛(133), 도메인 종속 슬롯 인식 유닛(143), 발화 행위 단위 분리 유닛(153) 및 발화 행위 단위 분리 유닛(163)을 포함하여 구성될 수 있다.
형태소 분석 유닛(113)은 음성 인식부(102)에 의해 사용자 발화가 변환된 발화 텍스트를 수신하고, 수신된 발화 텍스트에서 복수개의 문장 및 단어로 분리하고, 분리된 복수개의 단어에 형태소 품사를 할당한다.
오류 제거 유닛(123)은 사용자 발화가 자연스럽지 않은 경우에 발화 텍스트에 포함된 오류를 제거한다. 본 발명의 일 실시예에 따르면, 오류 제거 유닛(123)은 사용자 발화가 자연스럽지 않은 경우, 예를 들어 사용자가 단어들이나 구를 반복하여 발화한 경우, 사용자가 잘못 발화하여 다시 발화를 시작하는 경우에 사용자 발화에서 나타나는 단어 및 구 반복이나 문장 다시 시작 부분을 기존 발화 분석 데이터를 이용하여 오류 부분을 검색하여 제거한다.
도메인 독립 슬롯 인식 유닛(133)은 날짜와 시간, 화폐 단위 등과 같이 모든 회화 교육 도메인에서 공통으로 사용되는 슬롯 표현을 인식한다. 도메인 종속 슬롯 인식 유닛(143)은 회화 교육 도메인마다 다른 슬롯에 대하여 통계적 학습 방법에 기초하여 사용자 발화에서 슬롯 표현을 검사하여 인식한다.
발화 행위 단위 분리 유닛(153)은 같은 학습자 발화이며 같은 문장이라도 절 단위에 따라 다른 발화 행위를 나타내는 범위를 인식하여 발화 행위 단위로 발화를 분리한다. 발화 행위 인식 유닛(163)은 분리된 발화 행위 단위에서 정확한 발화 행위를 통계적 및 학습 패턴기반에 의해 인식한다.
도 3은 본 발명의 일 실시예에 따른 대화 시스템의 동적 대화 그래프 생성부(109)의 내부 구조를 개략적으로 도시한 도면이다.
도 3을 참조하면, 동적 대화 그래프 생성부(109)는 대화 그래프 구축 유닛(139), 대화 그래프 확장 유닛(149) 및 에지 가중치 설정 유닛(159)을 포함하여 구성될 수 있다.
시나리오 및 코퍼스 구축자는 사용자가 선택한 회화 교육 도메인에서 사용자와 시스템간의 대화 시나리오를 구축하고, 구축된 대화 시나리오에 포함된 대화들에 대하여 발화 행위 및 슬롯 표현을 설정하고, 슬롯 표현 단어에 대한 슬롯 타입을 각각 할당하여 대화 처리 정보가 부착된 대화 시나리오 코퍼스를 생성한다. 본 발명의 일 실시예에 따르면, 시나리오 및 코퍼스 구축자는 사용자로부터 선택된 교육할 회화 교육 도메인인 대화 시스템과 사용자간의 대화 시나리오의 주제를 나타내며, 시티투어 버스표 구입 도메인, 호텔 예약 도메인, 호텔 체크인 및 체크아웃 도메인, 분실물 찾기 도메인 등을 수신할 수 있으며, 회화 교육 도메인은 이에 한정되는 것은 아니다.
대화 그래프 구축 유닛(139)은 시나리오 및 코퍼스 구축자로부터 구축되어 수신된 대화 시나리오 코퍼스를 이용하여 대화 그래프의 정점을 구축하고, 슬롯 표현 정보가 부착된 대화 시나리오의 대화 문장을 이용하여 각 정점에 대한 발화 패턴을 생성하고, 대화 시나리오의 대화 흐름에 따라 정점간에 방향성 에지를 부여하여 대화 그래프를 구축한다. 대화 그래프 확장 유닛(149)은 대화 그래프 구축 유닛(139)으로부터 구축되어 수신된 대화 그래프를 이용하여 대화 시나리오에 포함된 대화들에서 현재 슬롯 이전에 필요하지 않은 슬롯 타입을 할당하기 위한 발화들의 제거를 반복적으로 수행하여 자동으로 대화 시나리오를 생성하고, 생성된 자동 대화 시나리오를 이용하여 상기 대화 그래프를 확장한다.
에지 가중치 설정 유닛(159)은 대화 그래프 확장 유닛(149)으로부터 확장된 대화 그래프를 수신하고, 대화 그래프에서 각 정점간의 흐름 빈도 정보와 발화 문장의 길이 및 단어의 난이도, 최종 대화 종료까지 남은 에지 수, 다음 발화 정점의 발화자가 시스템인가 사용자인가에 대한 정보를 이용하여 에지에 대한 가중치를 설정한다. 이하에서는, 에지 가중치 설정 유닛(159)가 에지 가중치를 설정하는 경우를 설명하기로 한다.
먼저, 에지 가중치 설정 유닛(159)은 대화 그래프 확장 유닛(149)으로부터 확장된 대화 그래프를 수신하고, 대화 그래프에서 정점을 표현하는 발화들의 평균 단어 길이와 단어들의 난이도를 측정하여 사용자가 쉽게 발화할 수 있는 대화 흐름에 따른 에지에 대해 높은 가중치를 선정한다.
둘째, 에지 가중치 설정 유닛(159)은 초/중/고등학교 영어 교과서에서 나타나지 않는 단어나 대규모 영어 문서 코퍼스에서 빈도가 낮은 단어를 자주 사용하지 않은 영어 단어로 판단하고, 자주 사용하지 않는 영어 단어의 분포를 계산하여 발화 난이도를 결정하여 가중치를 선정한다. 예를 들어, 발화 난이도는 가장 낮은 난이도인 1에서 가장 높은 난이도인 5사이의 값으로 표현된다. 이에 따라, 전술된 대화 및 진도 관리부(104)는 시스템 발화 정점의 발화 패턴의 발화 난이도를 이용하여 발화할 수 있다. 대화 및 진도 관리부(104)가 시스템 발화 정점의 발화 패턴의 발화 난이도를 이용하여 발화를 하는 것은 상세히 전술되었으므로 이에 대한 상세한 설명은 생략하기로 한다.
셋째, 에지 가중치 설정 유닛(159)은 대화 그래프 확장 유닛(149)으로부터 확장된 대화 그래프를 수신하고, 수신된 대화 그래프에서 정점간의 흐름 빈도가 큰 대화 흐름으로 시스템이 유도가 가능하도록 흐름 빈도를 이용하고, 정점을 표현하는 발화들의 평균 단어 길이와 단어들의 난이도를 측정하여 학습자가 쉽게 이해하고 쉽게 발화할 수 있는 대화 흐름에 가중치를 많이 준다.
넷째, 시스템이 주도적으로 대화를 진행하는 경우에 보다 학습자가 쉽게 회화를 체험할 수 있으므로 다음 대화가 시스템 주도적인 경우로 대화를 유도할 수 있도록 가중치를 선정한다. 그러면 이하에서는, 도 4를 참조하여 본 발명의 일 실시예에 따르면 회화 교육 도메인의 동적 대화 그래프의 예를 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 회화 교육 도메인의 동적 대화 그래프의 예를 도시한 예시도이다. 도 4는 회화 교육 도메인이 시티투어버스표 구입 도메인일 경우에 회화 교육 도메인에 따른 동적 대화 그래프를 도시한 경우이다. 동적 대화 그래프는 복수개의 정점과 에지를 가지는 방향 그래프로서, 정점은 시스템 발화 정점 및 사용자 발화 정점으로 구성되며 현재 발화에 대한 발화 행위(Dialog Act), 발화 행위에 해당하는 슬롯 표현(Current Slot), 도메인에서 미리 결정된 질의 슬롯 표현(Request Slot) 및 현재 발화 정점까지 대화 그래프상에서 거쳐온 슬롯 표현들의 집합을 담화 이력(Slot History)으로 저장하고 있다. 에지는 사용자와 시스템간의 발화 사이의 대화 흐름을 표현한 것으로 현재 발화 정점 다음에 나올 수 있는 발화들에 대한 복수개의 정점으로 연결되어 있다.
동적 대화 그래프의 방향성 에지는 발화 정점 사이의 대화 흐름을 표현하여 현재 정점 다음에 나올 수 있는 복수개의 발화 정점과 연결되어 있다. 대화 그래프의 에지들은 정점간 대화 흐름에 대한 가중치를 가진다. 학습자가 보다 쉽게 대화 목적을 달성할 수 있는 대화 흐름일 가능성이 높은 정점에 연결된 에지일수록 그 가중치가 높아지고, 학습자가 보다 어렵게 목적을 달성할 수 있는 대화 흐름일 가능성이 높은 정점에 연결된 에지일수록 그 가중치가 낮아진다.
도 4를 참조하면, 대화 및 진도 관리부(104)는 저장부(108)의 담화 이력 저장 유닛(138)에 저장된 담화 이력을 이용해서 시스템 발화가 “Welcome to the New York City Bus Tour Center”임을 판단하여 시스템 발화 정점 2(402)와 연결된 복수개의 사용자 발화 정점3(403) 및 사용자 발화 정점 4(404)를 검색한다. 사용자 발화 정점 2(402)에서 사용자 발화 정점 3(403)의 에지는 특정 장소에 갈 수 있는 시티투어 타입을 질문하는 발화이고, 사용자 발화 정점 2(402)에서 사용자 발화 정점 4(404)의 에지는 사용자가 어떤 시티투어가 있는지 질문하는 발화임을 이용하여 사용자 발화에 해당하는 사용자 발화 정점으로 이동한다.
사용자 발화가 “Which tour goes to the Statue of Liberty?”임에 따라 대화 및 진도 관리부(104)는 시스템 발화 정점 2(402)와 연결된 복수개의 사용자 발화 정점3(403) 및 사용자 발화 정점 4(404) 중 사용자 발화에 해당하는 사용자 발화 정점 4(404)를 결정하고, 사용자 발화 정점4(404)와 연결된 복수개의 시스템 발화 정점6(406) 및 시스템 발화 정점6(407) 중 다음 시스템 발화 정점을 선택한다. 사용자 발화 정점 4(404)에서 사용자 발화 정점 6(406)의 에지는 특정 장소에 갈 수 있는 시티투어 타입을 질문하는 발화이고, 사용자 발화 정점 4(404)에서 사용자 발화 정점 7(407)의 에지는 사용자에게 어떤 시티투어가 있는지 알려주는 발화임을 이용하여 사용자 발화로 시티투어 가격 및 시티투어 타입의 설명을 수신하거나 시스템 발화로 특정 시티투어 타입을 제안할 수 있다. 이와 같은 과정을 통해서 대화 및 진도 관리부(104)는 사용자 대화 및 사용자 진도를 관리하며, 시스템이 최종 감사 인사를 발화는 시스템 발화 정점 10(410) 및 시스템 발화 정점 11(411)중 하나의 시스템 발화 정점을 발화하여 학습을 종료한다. 그러면 이하에서는, 도 5를 참조하여 본 발명의 일 실시예에 따른 동적 대화 그래프의 발화 정점과 연결된 발화 패턴의 예를 보다 구체적으로 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 동적 대화 그래프의 발화 정점과 연결된 발화 패턴의 예시도이다.
도 5를 참조하면, 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 발화 정점의 발화 패턴에 슬롯 변수의 포함여부에 따라 시스템 발화 문장을 생성할 수 있다. 먼저, 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 발화 정점의 발화 패턴에 슬롯 변수의 포함하지 않은 경우에 시스템 발화 문장을 생성하는 경우를 설명하기로 한다. 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 발화 정점5(405)의 발화 패턴에 슬롯 변수(Current Slot)가 NULL인 경우, 슬롯 표현의 슬롯 타입에 따라 발화 패턴을 그대로 시스템 발화 문장으로 사용하거나 저장부(108)의 담화 이력 저장 유닛(138)으로부터 수신된 담화 이력을 이용하여 검색된 문장을 사용할 수 있다.
둘째, 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 발화 정점의 발화 패턴에 슬롯 변수의 포함하는 경우에 시스템 발화 문장을 생성하는 경우를 설명하기로 한다. 시스템 대화 생성부(106)는 대화 및 진도 관리부(104)로부터 수신된 동적 대화 그래프에서의 시스템 발화 정점 3(403)의 발화 패턴은 슬롯 표현(Current Slot)을 “Tour_Type” 및 “Location”을 포함하고 있다고 판단함에 따라 저장부(108)의 시스템 정보 저장 유닛(148)로부터 수신된 시스템 정보로부터 시스템 발화 정점 3(403)의 발화 패턴인 “LOCATION”에 해당하는 값과 시스템 발화 정점 3(403)의 발화 패턴인 “TOUR_TYPE”에 해당하는 값을 검색하여 문장을 완성하여 시스템 발화 문장으로 사용한다. 여기서, 발화 패턴은 대화 시나리오 코퍼스에서 나타나는 빈도를 가지고 있고 있으며, 발화 패턴에 포함된 자주 사용하지 않는 영어 단어들의 분포를 계산하여 발화 난이도를 계산한다. 또한, 발화 패턴에 포함된 자주 사용하지 않는 영어 단어는 초/중/고등학교 영어 교과서에 나타나지 않는 단어나 대규모 영어 문서 코퍼스에서 빈도가 낮은 단어들로 선정할 수 있다.
동적 대화 그래프의 시스템 발화 정점(403, 405)의 발화 패턴의 발화 난이도는 가장 낮은 난이도인 1에서 가장 높은 난이도인 5사이의 값으로 표현된다. 대화 및 진도 관리부(104)는 시스템 발화 정점(403, 405)의 발화 패턴의 발화 난이도를 이용하여 발화할 수 있다. 먼저, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)으로부터 수신된 학습 진도 정보에 따라 시스템 발화 정점(403, 405)에 처음 접하거나 대화 흐름이 자연스럽지 않을 경우 발화 난이도와 빈도가 높은 발화 패턴을 이용하여 발화한다. 반면, 대화 및 진도 관리부(104)는 저장부(108)로부터 수신된 학습 진도 정보에 따라 시스템 발화 정점(403, 405)에 여러번 접하거나 사용자의 대화 흐름이 자연스러울 경우 발화 패턴 중 빈도수가 낮은 발화 패턴을 이용하여 발화한다. 이와 같이 대화 및 진도 관리부(104)는 빈도수가 낮은 발화 패턴을 이용하여 발화함에 따라 사용자에게 다양한 회화 학습 체험 기회를 제공한다. 이때, 대화 및 진도 관리부(104)는 저장부(108)의 학습 진도 정보 저장 유닛(118)으로부터 수신된 학습 진도 정보에 따라 시스템 발화 정점(403, 405)에 여러 번 접하거나 사용자의 대화 흐름이 자연스러울 경우에도 새로운 발화 패턴의 변경이 빈번함에 따라 학습 효과가 크지 않은 경우에는 "빈도-사용횟수"가 가장 큰 발화 패턴을 선택하여 발화하거나 각 빈도에 따른 확률 분포를 이용하여 발화 패턴을 선택하여 발화한다. 그러면 이하에서는, 도 6을 참조하여 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 대화 방법을 보다 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 대화 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 대화 시스템은 사용자로부터 교육 도메인 및 교육 도메인에서의 목표 완수 조건을 수신한다(S601). 본 발명의 일 실시예에 따르면, 사용자가 외국어 회화 교육용 대화 시스템을 통해 로그인하고, 사용자로부터 복수개의 회화 교육 도메인들 중 교육할 회화 교육 도메인을 선택한 경우, 진도 시작부(101)는 사용자로부터 선택된 교육할 회화 교육 도메인을 수신한다. 본 발명의 일 실시예에 따르면, 복수개의 회화 교육 도메인은 대화 시스템과 사용자간의 대화 시나리오의 주제를 나타내며, 시티투어 버스표 구입 도메인, 호텔 예약 도메인, 호텔 체크인 및 체크아웃 도메인, 분실물 찾기 도메인 등을 포함할 수 있으며, 이에 한정되는 것은 아니다. 본 발명의 일 실시예에 따르면, 사용자가 복수개의 회화 교육 도메인들 중 시티투어 버스표 구입 도메인을 결정한 경우, 대화 시스템은 사용자로부터 결정된 시티투어 버스표 구입 도메인에서의 목표 완수 조건인 특정 투어 참가 인원, 특정 비용 이하에서 버스표를 구입, 한국어 가이드를 받기, 꼭 가고 싶은 장소에 가는 시티투어버스 구입, 시티투어버스 타입이 저녁 투어 및 낮 투어 중 어느것인지 결정하는 조건등에 대한 조건을 수신한다.
대화 시스템은 사용자로부터 발화된 사용자 발화를 수신하거나 시스템 발화를 발화한다(S602). 먼저, 대화 시스템은 사용자로부터 발화된 사용자 발화를 수신하는 경우를 설명하기로 한다. 일반적으로 시스템이 먼저 발화를 하여 “Welcome to the New York City Bus Tour Center.”로 시작한다. 하지만, 경우에 따라 학습자가 먼저 발화를 하여 “Hello” 또는 “Hello, I want to buy tickets.” 등으로 시작할 수도 있다. 둘째, 대화 시스템은 시스템 발화를 사용자에게 발화를 하는 경우를 설명하면, 예를 들어, 시티투어버스표 구입 도메인에서는 주로 시스템이 먼저 발화를 하여 “Welcome to the New York City Bus Tour Center.”로 시작한다.
대화 시스템은 수신된 사용자 발화를 발화 정보를 이용하여 발화 텍스트로 변환한다(S603). 본 발명의 일 실시예에 따르면, 대화 시스템은 사용자 발화의 인식률을 높이기 위해서 사용자와 동일한 국적을 가지는 복수의 사용자로부터 발화된 외국어 발화 정보를 이용하여 발화 텍스트로 변환한다. 본 발명의 일 실시예에 따르면, 대화 시스템은 사용자 발화가 자연스럽지 않은 경우, 예를 들어 사용자가 단어들이나 구를 반복하여 발화한 경우, 사용자가 잘못 발화하여 다시 발화를 시작하는 경우를 위해서, 자연어에서 발생하는 음성적인 특성인 간투사 등에 대한 처리를 하여 수신된 사용자 발화를 발화 텍스트로 변환한다.
대화 시스템은 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성한다(S604). 대화 시스템은 변환된 발화 텍스트를 이용하여 사용자의 발화 행위(Dialog Act)를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 회화 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성한다. 본 발명의 일 실시예에 따르면, 사용자가 복수개의 회화 교육 도메인들 중 시티투어 버스표 구입 도메인을 결정한 경우에 사용자 발화에 대한 발화 텍스트인“Which tour goes to the Statue of Liberty?”를 수신하면, 사용자의 발화 행위가 질문을 한 것으로 결정하고, 논리 표현을 생성한다. 예를 들어, 논리 표현은 request(location= “State of Liberty”, tour_type)와 같이 표현될 수 있으며 이에 한정되는 것은 아니다.
대화 시스템은 동적 대화 그래프에서 최종 시스템 발화 정점과 연결된 복수개의 발화 정점들 중 적어도 하나의 발화 정점의 발화 패턴과 논리 표현이 유사한 발화 정점을 결정하고, 결정된 발화 정점과 연결된 복수개의 발화 정점들 중 하나의 발화 정점을 다음 발화로 결정한다(S605). 본 발명의 일 실시예에 따르면, 대화 시스템은 사용자의 학습이 처음이라고 판단하는 경우 동적 대화 그래프에서 사용자 발화 정점과 연결된 복수개의 시스템 발화 정점들 중 가중치가 가장 높은 에지로 연결된 시스템 발화 정점을 결정한다. 본 발명의 일 실시예에 따르면, 사용자의 학습이 처음이 아니라고 판단하였지만 사용자의 학습 진도율이 낮다고 평가한 경우 사용자 발화 정점 및 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점 들간의 에지를 수신하고, 사용자가 반복 학습이 필요한 에지가 있다면 그 에지에 연결된 시스템 발화 정점을 결정하고, 사용자의 학습이 처음이 아니라고 판단하였지만 사용자의 학습 진도율이 높다고 평가한 경우 사용자 발화 정점에 연결된 복수개의 시스템 발화 정점들중에서 사용자가 학습하지 않은 에지 중에서 가장 큰 에지에 연결된 시스템 발화 정점을 결정함으로써 다음 발화를 결정한다.
본 발명의 일 실실예에 따르면, 대화 시스템은 사용자의 학습 정도가 충분하지 않다고 판단한 경우, 즉 사용자 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 낮다고 판단한 경우, 해당 사용자 발화 정점에서 발화할 내용에 대하여 충분히 학습하지 않은 것으로 판단하여 다음 발화를 결정하고, 사용자의 학습 정도가 충분하다고 판단한 경우, 즉 발화 패턴과 사용자 발화 정점의 발화 패턴과의 유사도가 높다고 판단한 경우, 해당 사용자 발화 정점에서 발화할 내용에 대하여 충분히 학습한 것으로 판단하여 다음 발화를 결정한다.
대화 시스템은 다음 발화로 결정된 발화 정점을 이용하여 시스템 발화 정점과 연결된 발화 패턴들을 검색하여 해당 발화 패턴으로 시스템 발화 문장을 생성한다(S606). 대화 시스템은 생성된 시스템 발화 문장을 음성으로 합성하여 출력한다(S607). 그러면 이하에서는, 도 7을 참조하여 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 동적 대화 그래프 생성 과정을 보다 구체적으로 설명하기로 한다.
도 7은 본 발명의 일 실시예에 따른 교육용 대화 시스템에서 그래프 생성 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 시나리오 및 코퍼스 구축자는 사용자가 사용자로부터 선택된 교육 도메인에서 사용자와 시스템간의 대화 시나리오를 구축한다(S701). 본 발명의 일 실시예에 따르면, 시나리오 및 코퍼스 구축자는 사용자로부터 선택된 교육할 회화 교육 도메인인 대화 시스템과 사용자간의 대화 시나리오의 주제를 나타내며, 시티투어 버스표 구입 도메인, 호텔 예약 도메인, 호텔 체크인 및 체크아웃 도메인, 분실물 찾기 도메인 등을 수신할 수 있으며, 회화 교육 도메인은 이에 한정되는 것은 아니다.
시나리오 및 코퍼스 구축자는 구축된 대화 시나리오에 포함된 대화들에 대하여 발화 행위 및 슬롯 표현을 설정하고, 슬롯 표현 단어에 대한 슬롯 타입을 각각 할당하여 대화처리 정보가 부착된 대화 시나리오 코퍼스를 생성한다(S702).
대화 시스템은 시나리오 및 코퍼스 구축자로부터 구축되어 수신된 대화 시나리오 코퍼스를 수신하고, 수신된 대화 시나리오 코퍼스에 부착된 대화처리 정보를 이용하여 대화 그래프의 발화 정점을 구축하고, 슬롯 타입을 이용하여 발화 정점에 대한 발화 패턴을 생성한다(S703). 본 발명의 일 실시예에 따르면, 대화 시스템은 발화 패턴에 포함된 단어 중 초/중/고등학교 교과서에서 나타나지 않는 단어나 대규모 영어 문서 코퍼스에서 빈도가 낮은 단어를 자주 사용하지 않은 단어에 해당하는 단어의 분포를 계산하여 발화 난이도를 결정하여 가중치를 선정한다. 예를 들어, 발화 난이도는 가장 낮은 난이도인 1에서 가장 높은 난이도인 5사이의 값으로 표현된다.
발화 패턴을 생성한 대화 시스템은 대화 시나리오에 포함된 대화들을 이용하여 발화 정점들간의 방향성 에지를 부여하고, 사용자로부터 수신된 교육 도메인에서의 목표 완수 조건을 만족하기 위한 슬롯간 전이 관계를 학습하여 대화 그래프를 구축한다(S704). 대화 그래프를 구축한 대화 시스템은 구축된 대화 그래프를 이용하여 대화 시나리오에 포함된 대화들에서 현재 슬롯 이전에 필요하지 않은 슬롯 타입을 할당하기 위한 발화들의 제거를 반복적으로 수행하여 자동으로 대화 시나리오를 생성하고, 생성된 자동 대화 시나리오를 이용하여 대화 그래프를 확장한다(S705).
대화 그래프를 확장한 대화 시스템은 대화 그래프에서 각 정점간의 흐름 빈도 정보와 발화 문장의 길이 및 단어의 난이도, 최종 대화 종료까지 남은 에지 수, 다음 발화 정점의 발화자가 시스템인가 사용자인가에 대한 정보를 이용하여 에지에 대한 가중치를 설정한다(S706). 이하에서는, 대화 시스템이 에지 가중치를 설정하는 경우를 설명하기로 한다.
먼저, 대화 시스템은 확장된 대화 그래프에서 정점을 표현하는 발화들의 평균 단어 길이와 단어들의 난이도를 측정하여 사용자가 쉽게 발화할 수 있는 대화 흐름에 따른 에지에 대해 높은 가중치를 선정한다.
둘째, 대화 시스템은 초/중/고등학교 영어 교과서에서 나타나지 않는 단어나 대규모 영어 문서 코퍼스에서 빈도가 낮은 단어를 자주 사용하지 않은 영어 단어로 판단하고, 자주 사용하지 않는 영어 단어의 분포를 계산하여 발화 난이도를 결정하여 가중치를 선정한다. 예를 들어, 발화 난이도는 가장 낮은 난이도인 1에서 가장 높은 난이도인 5사이의 값으로 표현된다.
셋째, 대화 시스템은 확장된 대화 그래프를 수신하고, 수신된 대화 그래프에서 정점간의 흐름 빈도가 큰 대화 흐름으로 시스템이 유도가 가능하도록 흐름 빈도를 이용하고, 정점을 표현하는 발화들의 평균 단어 길이와 단어들의 난이도를 측정하여 학습자가 쉽게 이해하고 쉽게 발화할 수 있는 대화 흐름에 가중치를 많이 준다.
넷째, 대화 시스템은 대화 시스템이 주도적으로 대화를 진행하는 경우에 보다 학습자가 쉽게 회화를 체험할 수 있으므로 다음 대화가 시스템 주도적인 경우로 대화를 유도할 수 있도록 가중치를 선정한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
101: 진도 시작부 102: 음성 인식부
103: 언어 이해부 113: 형태소 분석 유닛
123: 오류 제거 유닛 133: 도메인 독립 슬롯 인식 유닛
143: 도메인 종속 슬롯 인식 유닛 153: 발화 행위 단위 분리 유닛
163: 발화 행위 단위 분리 유닛 104: 대화 및 진도 관리부
105: 제어부 106: 시스템 대화 생성부
107: 음성 합성부 108: 저장부
118: 학습 진도 정보 저장 유닛 128: 동적 대화 그래프 저장 유닛
138: 담화 이력 저장 유닛 148: 시스템 정보 저장 유닛
109: 동적 대화 그래프 생성부 119: 시나리오 구축 유닛
129: 코퍼스 구축 유닛 139: 대화 그래프 구축 유닛
149: 대화 그래프 확장 유닛 159: 에지 가중치 설정 유닛

Claims (20)

  1. 사용자로부터 교육 도메인 및 상기 교육 도메인에서의 목표 완수 조건을 수신하고, 상기 교육 도메인과 상기 목표 완수 조건을 포함한 학습 조건을 설정하는 진도 시작부;
    상기 교육 도메인에서 수신한 사용자 발화를 발화 텍스트로 변환하는 음성 인식부;
    상기 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성하는 언어 이해부;
    상기 교육 도메인에서 상기 사용자 발화에 따른 대화 흐름을 나타내는 동적 대화 그래프나 발화 패턴을 저장하는 동적 대화 그래프 저장 유닛;
    상기 동적 대화 그래프에서의 최종 시스템 발화 정점(Vertex)과 연결된 복수 개의 발화 정점들의 발화 패턴들 중 상기 논리 표현에 대응하는 발화 패턴을 가진 발화 정점을 결정하며, 결정된 발화 정점과 연결된 복수 개의 발화 정점들 중 하나의 발화 정점을 상기 목표 완수 조건이나 학습 진도 정보 저장 유닛에 기록된 상기 교육 도메인의 학습 진도 정보를 토대로 다음 발화로 결정하는 대화 및 진도 관리부;
    상기 결정된 다음 발화에 해당하는 발화 정점과 연결된 발화 패턴들을 검색하여 시스템 발화 문장을 생성하는 시스템 대화 생성부; 및
    상기 생성된 시스템 발화 문장에 음성을 합성하여 출력하는 음성 합성부
    를 포함하는 것을 특징으로 하는 대화 시스템.
  2. 제 1 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 동적 대화 그래프의 최종 시스템 발화 정점을 기준으로 상기 사용자 발화에 대한 사용자 발화 정점을 검색하는 것을 특징으로 하는 대화 시스템.
  3. 제 2 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 검색결과 상기 사용자 발화에 대한 사용자 발화 정점이 존재하지 않는 경우, 상기 논리 표현과 현재 사용자 발화에 대한 현재 슬롯 이력을 이용하여 상기 동적 대화 그래프 전체에서 상기 사용자 발화에 대한 사용자 발화 정점을 검색하는 것을 특징으로 하는 대화 시스템.
  4. 제 2 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도 정보를 이용하여 사용자의 학습이 처음이라고 판단한 경우, 상기 동적 대화 그래프에서 검색된 사용자 발화 정점과 연결된 복수개의 시스템 발화 정점들 중 가장 큰 가중치를 가지는 에지에 연결된 시스템 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 시스템.
  5. 제 2 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도 정보를 이용하여 사용자의 학습이 처음이 아니라고 판단한 경우, 사용자의 학습 진도율을 평가하여 학습 진도율이 낮다고 평가한 경우 상기 동적 대화 그래프에서 검색된 사용자 발화 정점 및 이에 연결된 복수개의 시스템 발화 정점들간의 에지들 중 사용자의 반복 학습이 필요한 에지를 선택하여 에지에 연결된 시스템 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 시스템.
  6. 제 5 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도율이 높다고 평가한 경우 상기 동적 대화 그래프에서 검색된 사용자 발화 정점 및 이에 연결된 복수개의 시스템 발화 정점들 간의 에지들 중 가장 큰 가중치를 가지는 에지에 연결된 시스템 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 시스템.
  7. 제2 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도 정보를 이용하여 사용자 발화가 상기 동적 대화 그래프에서 검색된 사용자 발화 정점의 발화 패턴과 유사하다고 판단한 경우 해당 사용자 발화 정점에서의 학습이 충분하다고 판단하여 다음 발화를 결정하는 것을 특징으로 하는 대화 시스템.
  8. 제 7 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도 정보를 이용하여 상기 사용자 발화가 상기 동적 대화 그래프에서 검색된 사용자 발화 정점의 발화 패턴과 유사하지 않다고 판단한 경우 해당 사용자 발화 정점에서의 학습이 충분하지 않다고 판단하여 다음 발화를 결정하는 것을 특징으로 하는 대화 시스템.
  9. 제 7 항에 있어서, 상기 대화 및 진도 관리부는,
    상기 학습 진도 정보를 이용하여 사용자 발화 패턴이 상기 동적 대화 그래프에서 검색된 사용자 발화 정점의 발화 패턴과 미리 설정된 기준값 이상으로 유사하면 이전 사용자 발화 정점과 이전 시스템 발화 정점 사이의 에지의 가중치를 업데이트 하는 것을 특징으로 하는 대화 시스템.
  10. 대화 시스템에 의해 수행되는 대화 방법에 있어서,
    사용자로부터 교육 도메인 및 상기 교육 도메인에서의 목표 완수 조건을 수신하고, 상기 교육 도메인과 상기 목표 완수 조건을 포함한 학습 조건을 설정하는 단계;
    상기 교육 도메인에서 수신한 상기 사용자 발화를 발화 텍스트로 변환하는 단계;
    상기 변환된 발화 텍스트를 이용하여 사용자의 발화 행위를 결정하고, 결정된 발화 행위에 해당하는 슬롯 표현과 상기 교육 도메인에 정의된 슬롯 표현을 이용하여 논리 표현을 생성하는 단계;
    상기 교육 도메인에서 상기 사용자 발화에 따른 대화 흐름을 나타내는 동적 대화 그래프나 발화 패턴을 동적 대화 그래프 저장 유닛에 저장하는 단계;
    상기 동적 대화 그래프에서의 최종 시스템 발화 정점(Vertex)과 연결된 복수 개의 발화 정점들의 발화 패턴들 중 상기 논리 표현에 대응하는 발화 패턴을 가진 발화 정점을 결정하며, 결정된 발화 정점과 연결된 복수 개의 발화 정점들 중 하나의 발화 정점을 상기 목표 완수 조건이나 학습 진도 정보 저장 유닛에 기록된 상기 교육 도메인의 학습 진도 정보를 토대로 다음 발화로 결정하는 단계;
    상기 결정된 다음 발화에 해당하는 발화 정점과 연결된 발화 패턴들을 검색하여 시스템 발화 문장을 생성하는 단계; 및
    상기 생성된 시스템 발화 문장에 음성을 합성하여 출력하는 단계
    를 포함하는 것을 특징으로 하는 대화 방법.
  11. 제 10 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 동적 대화 그래프의 최종 시스템 발화 정점을 기준으로 상기 수신된 사용자 발화에 대한 사용자 발화 정점을 검색하는 것을 특징으로 하는 대화 방법.
  12. 제 11 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 사용자 발화에 대한 사용자 발화 정점이 존재하지 않는 경우, 상기 논리 표현과 현재 사용자 발화에 대한 현재 슬롯 이력을 이용하여 상기 동적 대화 그래프 전체에서 상기 사용자 발화에 대한 사용자 발화 정점을 검색하는 것을 특징으로 하는 대화 방법.
  13. 제 11 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 학습 진도 정보를 이용하여 사용자의 학습이 처음이라고 판단한 경우, 상기 동적 대화 그래프에서 검색된 사용자 발화 정점과 연결된 복수개의 시스템 발화 정점들 중 가장 큰 가중치를 가지는 에지에 연결된 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 방법.
  14. 제 11 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 학습 진도 정보를 이용하여 사용자의 학습이 처음이 아니라고 판단되고 사용자의 학습 진도율을 평가하여 학습 진도율이 낮다고 평가된 경우 상기 동적 대화 그래프에서 검색된 사용자 발화 정점 및 이에 연결된 복수개의 발화 정점들 간의 에지들 중 사용자의 반복 학습이 필요한 에지를 선택하여 에지에 연결된 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 방법.
  15. 제 14 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 학습 진도율이 높다고 평가한 경우 상기 동적 대화 그래프에서 검색된 사용자 발화 정점 및 이에 연결된 복수개의 발화 정점들 간의 에지들 중 가장 큰 가중치를 가지는 에지에 연결된 발화 정점을 다음 발화로 결정하는 것을 특징으로 하는 대화 방법.
  16. 제 11 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 학습 진도 정보를 이용하여 사용자 발화가 상기 동적 대화 그래프에서 사용자 발화 정점의 발화 패턴과 유사하다고 판단한 경우 해당 사용자 발화 정점에서의 학습이 충분하다고 판단하여 다음 발화를 결정하는 것을 특징으로 하는 대화 방법.
  17. 제 11 항에 있어서, 상기 다음 발화로 결정하는 단계는,
    상기 학습 진도 정보를 이용하여 사용자 발화가 상기 동적 대화 그래프에서 검색된 사용자 발화 정점의 발화 패턴과 유사하지 않다고 판단한 경우 해당 사용자 발화 정점에서의 학습이 충분하지 않다고 판단하여 다음 발화를 결정하는 것을 특징으로 하는 대화 방법.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020100129360A 2010-12-16 2010-12-16 대화 방법 및 이를 위한 시스템 KR101522837B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100129360A KR101522837B1 (ko) 2010-12-16 2010-12-16 대화 방법 및 이를 위한 시스템
US13/327,392 US20120156660A1 (en) 2010-12-16 2011-12-15 Dialogue method and system for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100129360A KR101522837B1 (ko) 2010-12-16 2010-12-16 대화 방법 및 이를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20120075585A KR20120075585A (ko) 2012-07-09
KR101522837B1 true KR101522837B1 (ko) 2015-05-26

Family

ID=46234876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100129360A KR101522837B1 (ko) 2010-12-16 2010-12-16 대화 방법 및 이를 위한 시스템

Country Status (2)

Country Link
US (1) US20120156660A1 (ko)
KR (1) KR101522837B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645036B2 (en) 2019-01-23 2023-05-09 Samsung Electronics Co., Ltd. Electronic device and operating method for providing feedback information in response to user input

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309042B1 (ko) * 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
WO2014088377A1 (ko) * 2012-12-07 2014-06-12 삼성전자 주식회사 음성 인식 장치 및 그 제어 방법
KR102211595B1 (ko) * 2012-12-07 2021-02-04 삼성전자주식회사 음성 인식 장치 및 그 제어 방법
KR101609910B1 (ko) * 2013-08-09 2016-04-06 (주)엔엑스씨 학습 서비스를 제공하는 방법, 서버 및 시스템
KR101478459B1 (ko) * 2013-09-05 2014-12-31 한국과학기술원 언어 지연 치료 시스템 및 그 시스템 제어 방법
CN104216934B (zh) * 2013-09-29 2018-02-13 北大方正集团有限公司 一种知识抽取方法及系统
CN106663424B (zh) * 2014-03-31 2021-03-05 三菱电机株式会社 意图理解装置以及方法
KR20170029248A (ko) * 2015-09-07 2017-03-15 최상덕 언어 학습을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR102367778B1 (ko) * 2017-03-15 2022-02-25 삼성전자주식회사 언어 정보를 처리하기 위한 방법 및 그 전자 장치
JP2018174442A (ja) * 2017-03-31 2018-11-08 本田技研工業株式会社 会議支援システム、会議支援方法、会議支援装置のプログラム、および端末のプログラム
KR102469712B1 (ko) 2018-02-22 2022-11-22 삼성전자주식회사 전자 장치 및 이의 자연어 생성 방법
KR102479035B1 (ko) 2018-03-22 2022-12-20 한국전자통신연구원 청각장애인용 언어학습 시스템 및 방법
US10956480B2 (en) * 2018-06-29 2021-03-23 Nuance Communications, Inc. System and method for generating dialogue graphs
KR102361831B1 (ko) * 2018-12-21 2022-02-14 주식회사 뷰노 음성 인식에 기반하여 문서의 편집을 수행하는 방법 및 이를 이용한 장치
CN111739308B (zh) * 2019-03-19 2024-01-19 上海大学 面向车路协同的道路异常移动物联监控系统及方法
KR102281581B1 (ko) 2019-07-17 2021-07-23 에스케이텔레콤 주식회사 목표지향 대화시스템에서의 대화상태 추적방법 및 장치
JP7363926B2 (ja) * 2020-01-17 2023-10-18 日本電信電話株式会社 関連性可視化装置、関連性可視化方法及びプログラム
KR102491931B1 (ko) 2020-09-17 2023-01-26 고려대학교 산학협력단 대화 수행 시스템, 장치 및 방법
WO2023219261A1 (ko) * 2022-05-09 2023-11-16 삼성전자주식회사 대화 컨텐츠를 기반으로 이벤트를 생성하는 전자 장치, 제어 방법 및 비일시적 컴퓨터 판독 가능 저장 매체
KR102626954B1 (ko) * 2023-04-20 2024-01-18 주식회사 덴컴 치과용 음성 인식 장치 및 이를 이용한 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100792325B1 (ko) * 2006-05-29 2008-01-07 주식회사 케이티 대화형 다국어 학습을 위한 대화 예제 데이터베이스 구축방법 및 그를 이용한 대화형 다국어 학습 서비스 시스템 및그 방법
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
KR20090058320A (ko) * 2007-12-04 2009-06-09 주식회사 케이티 외국어 회화 교육을 위한 예제기반 대화 시스템 및 방법
KR20090094576A (ko) * 2008-03-03 2009-09-08 옥종석 음성인식을 활용한 컴퓨터 주도형 상호대화의 말하기 능력평가 장치 및 그 평가방법

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459114A (en) * 1982-10-25 1984-07-10 Barwick John H Simulation system trainer
US5393072A (en) * 1990-11-14 1995-02-28 Best; Robert M. Talking video games with vocal conflict
US5615296A (en) * 1993-11-12 1997-03-25 International Business Machines Corporation Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors
US5697789A (en) * 1994-11-22 1997-12-16 Softrade International, Inc. Method and system for aiding foreign language instruction
US5999904A (en) * 1997-07-02 1999-12-07 Lucent Technologies Inc. Tracking initiative in collaborative dialogue interactions
US6527556B1 (en) * 1997-11-12 2003-03-04 Intellishare, Llc Method and system for creating an integrated learning environment with a pattern-generator and course-outlining tool for content authoring, an interactive learning tool, and related administrative tools
US5927988A (en) * 1997-12-17 1999-07-27 Jenkins; William M. Method and apparatus for training of sensory and perceptual systems in LLI subjects
US6234802B1 (en) * 1999-01-26 2001-05-22 Microsoft Corporation Virtual challenge system and method for teaching a language
JP2003505778A (ja) * 1999-05-28 2003-02-12 セーダ インコーポレイテッド 音声制御ユーザインタフェース用の認識文法作成の特定用途を有する句ベースの対話モデル化
US7149690B2 (en) * 1999-09-09 2006-12-12 Lucent Technologies Inc. Method and apparatus for interactive language instruction
US6944586B1 (en) * 1999-11-09 2005-09-13 Interactive Drama, Inc. Interactive simulated dialogue system and method for a computer network
AU2582401A (en) * 1999-12-17 2001-06-25 Dorado Network Systems Corporation Purpose-based adaptive rendering
US6839671B2 (en) * 1999-12-20 2005-01-04 British Telecommunications Public Limited Company Learning of dialogue states and language model of spoken information system
US20010041328A1 (en) * 2000-05-11 2001-11-15 Fisher Samuel Heyward Foreign language immersion simulation process and apparatus
US6726486B2 (en) * 2000-09-28 2004-04-27 Scientific Learning Corp. Method and apparatus for automated training of language learning skills
US7225233B1 (en) * 2000-10-03 2007-05-29 Fenton James R System and method for interactive, multimedia entertainment, education or other experience, and revenue generation therefrom
US20020150869A1 (en) * 2000-12-18 2002-10-17 Zeev Shpiro Context-responsive spoken language instruction
US6914975B2 (en) * 2002-02-21 2005-07-05 Sbc Properties, L.P. Interactive dialog-based training method
US7299188B2 (en) * 2002-07-03 2007-11-20 Lucent Technologies Inc. Method and apparatus for providing an interactive language tutor
US20040023195A1 (en) * 2002-08-05 2004-02-05 Wen Say Ling Method for learning language through a role-playing game
US20040186743A1 (en) * 2003-01-27 2004-09-23 Angel Cordero System, method and software for individuals to experience an interview simulation and to develop career and interview skills
US7797146B2 (en) * 2003-05-13 2010-09-14 Interactive Drama, Inc. Method and system for simulated interactive conversation
US20050069846A1 (en) * 2003-05-28 2005-03-31 Sylvia Acevedo Non-verbal multilingual communication aid
US20050175970A1 (en) * 2004-02-05 2005-08-11 David Dunlap Method and system for interactive teaching and practicing of language listening and speaking skills
US7885817B2 (en) * 2005-03-08 2011-02-08 Microsoft Corporation Easy generation and automatic training of spoken dialog systems using text-to-speech
US20070015121A1 (en) * 2005-06-02 2007-01-18 University Of Southern California Interactive Foreign Language Teaching
CN101366065A (zh) * 2005-11-30 2009-02-11 语文交流企业公司 交互式语言教育系统和方法
TW201019288A (en) * 2008-11-13 2010-05-16 Ind Tech Res Inst System and method for conversation practice in simulated situations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
KR100792325B1 (ko) * 2006-05-29 2008-01-07 주식회사 케이티 대화형 다국어 학습을 위한 대화 예제 데이터베이스 구축방법 및 그를 이용한 대화형 다국어 학습 서비스 시스템 및그 방법
KR20090058320A (ko) * 2007-12-04 2009-06-09 주식회사 케이티 외국어 회화 교육을 위한 예제기반 대화 시스템 및 방법
KR20090094576A (ko) * 2008-03-03 2009-09-08 옥종석 음성인식을 활용한 컴퓨터 주도형 상호대화의 말하기 능력평가 장치 및 그 평가방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645036B2 (en) 2019-01-23 2023-05-09 Samsung Electronics Co., Ltd. Electronic device and operating method for providing feedback information in response to user input

Also Published As

Publication number Publication date
KR20120075585A (ko) 2012-07-09
US20120156660A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101522837B1 (ko) 대화 방법 및 이를 위한 시스템
US11145292B2 (en) Method and device for updating language model and performing speech recognition based on language model
KR100998566B1 (ko) 음성인식을 이용한 언어 번역 방법 및 장치
JP5810176B2 (ja) 対話管理方法及びこれを実行する装置
US8346537B2 (en) Input apparatus, input method and input program
US6078885A (en) Verbal, fully automatic dictionary updates by end-users of speech synthesis and recognition systems
US8126714B2 (en) Voice search device
WO2016067418A1 (ja) 対話制御装置および対話制御方法
JP4267385B2 (ja) 統計的言語モデル生成装置、音声認識装置、統計的言語モデル生成方法、音声認識方法、およびプログラム
KR20130128716A (ko) 어학 학습 시스템 및 학습 방법
JP2001100781A (ja) 音声処理装置および音声処理方法、並びに記録媒体
JP2006048058A (ja) 多言語による名称の音声認識のための方法とシステム
US20060058996A1 (en) Word competition models in voice recognition
KR102372069B1 (ko) 언어학습을 위한 양국어 자유 대화 시스템 및 방법
US10872601B1 (en) Natural language processing
Delgado et al. Spoken, multilingual and multimodal dialogue systems: development and assessment
CN113113024A (zh) 语音识别方法、装置、电子设备和存储介质
US20020087317A1 (en) Computer-implemented dynamic pronunciation method and system
JP2008234427A (ja) ユーザ間の対話を支援する装置、方法およびプログラム
JP2008089625A (ja) 音声認識装置、音声認識方法及び音声認識プログラム
Minker et al. Spoken dialogue systems technology and design
CN114492382A (zh) 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质
Wang et al. Phoneme set design for speech recognition of English by Japanese
KR100979561B1 (ko) 대화형 언어 학습 장치
KR102333029B1 (ko) 발음 평가 방법 및 이를 이용한 디바이스

Legal Events

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

Payment date: 20180426

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 5