KR20110099434A - 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치 - Google Patents

대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치 Download PDF

Info

Publication number
KR20110099434A
KR20110099434A KR1020100018448A KR20100018448A KR20110099434A KR 20110099434 A KR20110099434 A KR 20110099434A KR 1020100018448 A KR1020100018448 A KR 1020100018448A KR 20100018448 A KR20100018448 A KR 20100018448A KR 20110099434 A KR20110099434 A KR 20110099434A
Authority
KR
South Korea
Prior art keywords
conversation
candidate group
language understanding
model
speech recognition
Prior art date
Application number
KR1020100018448A
Other languages
English (en)
Other versions
KR101131278B1 (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 KR1020100018448A priority Critical patent/KR101131278B1/ko
Publication of KR20110099434A publication Critical patent/KR20110099434A/ko
Application granted granted Critical
Publication of KR101131278B1 publication Critical patent/KR101131278B1/ko

Links

Images

Classifications

    • 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/04Electrically-operated educational appliances with audible presentation of the material to be studied
    • 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
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치에 관한 것이다. 본 발명에 따른 방법은 사용자와 대화 시스템 사이의 대화 로그를 수집하는 단계, 수집된 대화 로그에서 오류 발화를 추출하여 대화 시스템의 음성 인식 모델을 향상하기 위한 음성 인식 후보군을 생성하는 단계, 수집된 대화 로그에서 오류 발화를 추출하여 대화 시스템의 언어 이해 모델을 향상하기 위한 언어 이해 후보군을 생성하는 단계, 수집된 대화 로그에서 대화 시스템의 대화 패턴에 존재하지 않는 새로운 대화 패턴을 추출하여 대화 시스템의 대화 모델을 향상하기 위한 대화 패턴 후보군을 생성하는 단계, 음성 인식 후보군, 언어 이해 후보군 및 대화 패턴 후보군을 검증하는 단계, 그리고 검증된 후보군을 음성 인식 모델, 언어 이해 모델 및 대화 모델의 향상에 적용하는 단계를 포함한다.

Description

대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치{Method and Apparatus to Improve Dialog System based on Study}
본 발명은 학습 기반 대화 시스템 성능 향상 방법 및 그 장치에 관한 것으로, 보다 상세하게는 대화 로그를 이용하여 반자동으로 학습 기반 대화 시스템의 성능을 향상시키는 방법 및 그 장치에 관한 것이다.
대화 시스템은 음성 또는 문자를 이용하여 사용자가 대화를 통해 필요로 하는 정보를 얻는 장치를 말하며, 단말기, 자동차, 로봇 등에 차세대 지능형 인터페이스로 사용되고 있으며, 이용 범위가 점차 확장되고 있다. 그런데 대화 시스템을 필요로 하는 도메인별로 그에 맞추어 구축하기 위해서는 많은 시간과 노력 및 비용이 든다.
도 1은 종래의 대화 시스템의 일 예를 설명하기 위해 제공되는 블록도이다.
도 1을 참고하면, 종래 대화 시스템(10)은 사용자가 발화한 음성이 입력되면, 음성 인식부(11)와 언어 이해부(13)를 거쳐 대화 관리자(15)에서 최종 응답이 결정되며, 응답 생성부(17)와 음성 합성부(19)를 거쳐 시스템 발화를 출력된다. 이와 같이 음성 인식부(11), 언어 이해부(13), 대화 관리자(15)의 각 부분이 제대로 동작하기 위해서는 해당 부분을 처리하기 위한 모델이 필요하며, 이는 보통 시스템(10)이 사용되기 전에 만들어져야 한다. 그리고 필요한 경우 추후에 모델의 수정도 가능하나 이 과정에서 전문가의 많은 노력과 도움이 필요하다.
특히 종래 대화 시스템은 사용자의 활용이 기존의 모델과 다소 다른 경우 뛰어난 성능을 보이기 어렵다. 전문가가 개입하여 사용자의 활용을 다시 분석하며 모델을 다시 만들어 적용할 수 있지만, 역시 꾸준한 관리와 노력이 요구된다. 이런 과정에서 요구되는 관리자의 부담을 덜어주기 위한 워크벤치 툴이 개발되기도 하였지만, 여전히 사람의 노력이 많이 들어가고 대화 시스템이 활용되는 과정을 자동으로 분석하여 적용하지는 못하였다.
따라서 본 발명이 이루고자 하는 목적은 전문가 개입을 최소화하면서 대화 시스템에서 사용하는 음성 인식 모델, 언어 이해 모델, 대화 관리 모델 등을 수정하여 그 성능을 향상시킬 수 있는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치를 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법은, 사용자와 대화 시스템 사이의 대화 로그를 수집하는 단계, 상기 수집된 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 음성 인식 모델을 향상하기 위한 음성 인식 후보군을 생성하는 단계, 상기 수집된 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 언어 이해 모델을 향상하기 위한 언어 이해 후보군을 생성하는 단계, 상기 수집된 대화 로그에서 상기 대화 시스템의 대화 패턴에 존재하지 않는 새로운 대화 패턴을 추출하여 상기 대화 시스템의 대화 모델을 향상하기 위한 대화 패턴 후보군을 생성하는 단계, 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군을 검증하는 단계, 그리고 상기 검증 단계에서 검증된 후보군을 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용하는 단계를 포함한다.
상기 검증 단계는 전문가 또는 미리 정해진 사용자에 의해 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 중에서 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용할 후보군을 선택받을 수 있다.
상기 음성 인식 후보군 생성 단계는, 상기 대화 로그에서 오류 발화를 추출하는 단계, 상기 대화 시스템의 음성 인식 모델보다 인식률이 높은 음성 인식 모델을 이용하여 상기 추출된 오류 발화에 대한 음성 인식을 수행하는 단계, 및 상기 음성 인식 수행에 따른 음성 인식 결과와 음성 인식 신뢰도를 포함하는 음성 인식 후보군을 생성하는 단계를 포함할 수 있다.
상기 언어 이해 후보군 생성 단계는, 상기 대화 로그에서 오류 발화를 추출하는 단계, 상기 대화 로그에 포함된 대화 이력 정보에 기초하여 상기 오류 발화에 대한 언어 이해를 수행하는 단계, 상기 대화 시스템의 언어 이해 모델과 동일한 모델을 이용하여 상기 오류 발화에 대한 언어 이해를 수행하는 단계, 및 상기 대화 이력 정보에 기초한 언어 이해 결과와 상기 언어 이해 모델을 이용한 언어 이해 결과 중에서 언어 이해 신뢰도가 높은 언어 이해 결과를 언어 이해 후보군으로 생성하는 단계를 포함할 수 있다.
상기 대화 패턴 후보군 생성 단계는, 상기 대화 로그에서 상기 대화 시스템에 존재하지 않는 대화 패턴을 추출하는 단계, 상기 대화 패턴에서 오류를 제거하는 단계, 및 상기 오류가 제거된 대화 패턴을 대화 패턴 후보군으로 생성하는 단계를 포함할 수 있다.
상기 음성 인식 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도가 일정 기준치 이하인 사용자 발화를 추출하여 이루어지고, 상기 언어 이해 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도 및 언어 이해 신뢰도 중 적어도 하나가 일정 기준치 이하인 사용자 발화를 추출하여 이루어질 수 있다.
상기 대화 로그는 사용자명, 발화 시간, 발화 음성, 음성 인식 결과, 음성 인식 신뢰도, 언어 이해 결과, 언어 이해 신뢰도, 대화 이력 정보를 포함할 수 있다.
상기 대화 로그는 사용자 별로 수집되고, 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 생성 및 검증과, 검증된 후보군을 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용은 사용자 별로 수행될 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명의 다른 실시예에 따른 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치는, 사용자와 대화 시스템 사이의 대화 로그를 저장하는 대화 로그 저장부, 상기 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 음성 인식 모델을 향상하기 위한 음성 인식 후보군을 생성하는 음성 인식 모델 향상부, 상기 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 언어 이해 모델을 향상하기 위한 언어 이해 후보군을 생성하는 언어 이해 모델 향상부, 상기 대화 로그에서 상기 대화 시스템의 대화 패턴에 존재하지 않는 새로운 대화 패턴을 추출하여 상기 대화 시스템의 대화 모델을 향상하기 위한 대화 패턴 후보군을 생성하는 대화 모델 향상부, 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군을 검증하는 후보군 검증부, 및 상기 검증된 후보군을 상기 대화 시스템의 음성 인식 모델, 언어 이해 모델 및 대화 모델의 향상에 적용하는 모델 훈련부를 포함한다.
이와 같이 본 발명에 의하면, 사용자가 대화 시스템을 실제 사용하는 과정에서 수집된 대화 로그를 이용함으로써 실제 사용자 맞춤형으로 모델을 향상시킬 수 있다.
또한 사용자 대화 로그 분석을 통해 도출된 모델 향상 후보군 결과를 전문가 또는 숙련자에 의해 검증받은 후 모델 향상에 반영함으로써 최적의 성능 향상 효과를 기대할 수 있다.
또한 전문가는 장치에 의해 제시된 모델 후보군에 대한 검증만을 수행하면 되므로, 종래 모델 후보군 도출까지 개입하던 것에 비해 전문가의 노력 및 시간이 보다 적게 들어가도 되므로 경제적이다.
도 1은 종래의 대화 시스템의 일 예를 설명하기 위해 제공되는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템 성능 향상 장치를 설명하기 위해 제공되는 블록도이다.
도 3은 도 2의 대화 시스템을 설명하기 위해 제공되는 블록도이다.
도 4는 도 2의 대화 시스템 성능 향상 장치를 설명하기 위해 제공되는 블록도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 대화 시스템 성능 향상 장치를 설명하기 위해 제공되는 블록도이다.
도 2를 참고하면, 대화 시스템 성능 향상 장치(400)는 대화 시스템(300)과 연결되어 대화 로그를 제공받는다. 대화 시스템 성능 향상 장치(400)는 대화 로그를 분석하여 대화 시스템(300)의 음성 인식 모델, 언어 이해 모델 및 대화 관리 모델을 향상시키는 기능을 수행한다. 대화 시스템 성능 향상 장치(400)와 대화 시스템(300)은 유무선 통신망을 통해 연결되거나 케이블 등을 통해 직접 연결될 수도 있다.
대화 시스템(300)은 사용자와 음성이나 문자 등을 이용하여 의사 소통을 함으로써 사용자가 원하는 서비스를 제공하는 시스템이다. 예를 들어 가정 내의 방송 수신 장치(도시하지 않음)와 연결되어 사용자의 음성을 통한 방송 프로그램 검색 요청, 채널 변경 명령 등을 이해하고 그에 따라 방송 수신 장치가 동작하도록 하는 시스템에 이용될 수 있다.
그러면 도 3을 참고하여, 도 2의 대화 시스템(300)을 자세하게 설명한다.
도 3은 도 2의 대화 시스템을 설명하기 위해 제공되는 블록도이다.
도 3을 참고하면, 본 발명에 따른 대화 시스템(300)은 음성 인식 모델(310), 언어 이해 모델(330), 대화 모델(350), 음성 인식부(320), 언어 이해부(340), 대화 관리부(360), 응답 생성부(370), 음성 합성부(380) 및 로그 관리자(390)를 포함한다. 또한 실시예에 따라 대화 시스템(300)은 사용자 관리자(395)를 포함할 수 있다.
음성 인식 모델(310)은 음성 인식부(320)에서 사용되는 모델로 크게 2가지로 구분할 수 있다. 하나는 문장의 확률을 추정해주는 언어 모델이고, 다른 하나는 각 발음에 대해 입력 사운드를 바탕으로 확률을 추정해주는 음향 모델이다.
음성 인식부(320)는 사용자 발화가 입력되면 음성 인식 모델(310)을 이용하여 사용자 발화에 대해서 가장 최적의 문장을 찾아내는 기능을 수행한다. 즉 음성 인식부(320)는 사용자 발화에 따른 음성 신호를 그에 대응하는 문장으로 변환한다. 예를 들어, 음성 인식부(320)는 사용자가 "지금 TV에서 뭐하지?" 라고 발화한 경우 그에 대응하는 텍스트 문장으로 변환하여 출력한다. 이렇게 사용자 발화를 음성 인식부(320)에서 문장으로 변환한 것을 음성 인식 결과라고 한다.
언어 이해 모델(330)은 주어진 문장이 어떤 목적/의도로 발화되었는지, 개체명(named-entity)은 무엇인지 등을 파악하는 데 사용되는 모델이다. 언어 이해 모델(330)은 발화 의도와 개체명(named-entity)이 태깅(tagging)된 문장으로부터 훈련될 수 있다.언어 이해 모델(330)은 규칙 기반 방법과 통계적 방법 등이 채택될 수 있다.
언어 이해부(340)는 언어 이해 모델(330)을 이용하여 사용자의 발화 목적/의도를 파악한 결과를 언어 이해 결과로 출력하는 기능을 수행한다. 즉 언어 이해 결과는 사용자의 발화가 질문, 요구, 제안 또는 부탁 등 어떠한 목적 또는 의도에 의한 것인지를 분석한 결과를 의미한다. 예를 들어, 사용자 발화를 'dialogue act', 'Main action', 'Component Slot'으로 분석할 수 있다.
여기서 'dialogue act'는 대화 문장의 분류 기준이 되는 항목으로서, 대화 문장이 사용자 요청과 관련된 문장 형태(request)인지, W-H 질문에 관한 문장 형태인지, Yes-No 질문에 관한 문장 형태인지에 따라 사용자 문장이 분류될 수 있다.
'Main action'은 사용자가 대화를 통해 원하는 행위를 나타내는 의미적 정보이다. 예를 들어, 사용자가 프로그램 시작 시간을 알기 원하는 것(search_time), 사용자가 원하는 프로그램이 방영되는 채널을 알기 원하는 것(search_channel) 등으로 분류될 수 있다.
'Component Slot'은 실제 사용자 발화에 나타나는 도메인에 대한 개체 정보이다. 예를 들어 해당 방송 프로그램이 방영되는 채널(channel=KBS) 또는 해당 방송 프로그램의 장르(genre=드라마) 등으로 분류될 수 있다.
예를 들어 사용자 발화가 "지금 TV에서 뭐하지?"인 경우에 대한 언어 이해 결과는 다음과 같이 분석될 수 있다. 'dialogue act'에 해당하는 "wh-question(의문형)"과, 'Main action,에 해당하는 "search_time", 그리고 'Component Slot'에 해당하는 [start_time=지금] 등으로 분석될 수 있다.
대화 모델(350)은 사용자 발화에 대해 대화 상황/담화(discourse) 정보를 바탕으로 최적의 시스템 응답을 결정하는 데 사용되는 모델이다. 대화 모델(350)은 대화 예제로부터 훈련될 수 있다. 보다 자세하게는 대화 모델(350)은 대화 예제 코퍼스(corpus)로부터 각각의 대화 예제를 자동으로 추출하여 대화예제 DB를 구축할 수 있다. 이때 대화 예제 코퍼스는 파싱을 하기 쉽도록 XML 형태로 될 수 있다. 그리고 대화 예제 코퍼스를 파싱한 결과를 가지고 화행 정보(dialogue act), 주행 정보(Main action), 구성성분 정보(Component Slot), 대화 이력 정보를 이용하여 색인테이블을 만들 수 있다.
대화 관리부(360)는 대화 모델(350)을 이용하여 사용자의 발화 의도에 가장 적절한 시스템 응답을 결정하는 기능을 수행한다. 보다 자세하게는 대화 관리부(360)는 대화 모델(350)에서 현재의 대화 상황 및 대화 이력 정보를 바탕으로 가장 적절한 대화 예제를 추출하고 이를 바탕으로 시스템 응답을 결정한다. 즉 대화 관리부(360)는 언어 이해 결과와 대화 모델을 바탕으로 사용자의 질문, 요구, 제안 또는 부탁 등에 대한 대화 시스템(300)의 답변, 거절 또는 승락 등의 시스템 응답을 결정한다.
응답 생성부(370)는 대화 관리부(360)에서 결정된 시스템 응답에 따라 출력 문장을 생성한다.
음성 합성부(380)는 출력 문장을 음성으로 변환하여 출력한다.
로그 관리자(390)는 대화 시스템(300)이 동작하는 동안에 얻을 수 있는 각종 정보(이하 '대화 로그'라 함)를 미리 정해진 저장수단(도시하지 않음)에 저장할 수 있다. 저장수단은 대화 시스템(300)에 포함되거나 대화 시스템 성능 향상 장치(400)에 포함될 수 있다. 로그 관리자(390)에 의해 수집되는 대화 로그는 사용자명, 발화 시간, 발화 음성, 음성 인식 결과, 음성 인식 신뢰도, 언어 이해 결과, 언어 이해 신뢰도, 대화 이력 정보 등을 포함할 수 있다.
여기서 사용자명은 대화 시스템(300)을 사용하는 사용자를 식별할 수 있는 성명 또는 아이디 등이 될 수 있다. 발화 음성은 사용자가 발화한 음성을 마이크(도시하지 않음) 등의 음성 입력 수단을 통해 입력받은 음성 입력 신호를 의미한다. 그리고 음성 인식 신뢰도는 음성 인식부(320)에서 인식한 문장이 사용자 발화에 부합되는 정도를 나타내는 것으로, 음성 인식부(320)에서 미리 정해진 방식에 의해 산출되어 제공될 수 있다. 언어 이해 신뢰도는 언어 이해부(340)에서 파악한 사용자의 발화 목적/의도가 실제 사용자 발화에 부합되는 정도를 나타내는 것으로, 언어 이해부(340)에서 미리 정해진 방식에 의해 산출되어 제공될 수 있다. 대화 이력 정보는 현재 대화 상태까지 채워진 구성 성분 정도에 대한 이진 벡터(Slot filing vector)와 이전 대화에 나타난 화행 정보(Dialog act)와 주행(Main act) 정보를 포함한다.
사용자 관리자(395)는 대화 시스템(300)을 사용하는 사용자가 여러 명일 경우 사용자 별로 음성 인식 모델, 언어 이해 모델, 대화 모델 등을 따로 관리하는 기능을 수행한다.
그러면 도 4를 참고하여, 도 2의 대화 시스템 성능 향상 장치(400)를 자세하게 설명한다.
도 4는 도 2의 대화 시스템 성능 향상 장치를 설명하기 위해 제공되는 블록도이다.
도 4를 참고하면, 대화 시스템 성능 향상 장치(300)는 대화 로그 저장부(410), 음성 인식 모델 향상부(420), 언어 이해 모델 향상부(430), 대화 모델 향상부(440), 후보군 검증부(450) 및 모델 훈련부(460)를 포함할 수 있다.
대화 로그 저장부(410)는 대화 시스템(300)의 로그 관리자(390)로부터 제공되는 대화 로그를 저장하고, 음성 인식 모델 향상부(420), 언어 이해 모델 향상부(430), 대화 모델 향상부(440)에 제공할 수 있다.
음성 인식 모델 향상부(420)는 오류 발화 추출부(421), 음성 인식 모델(423), 음성 인식기(425) 및 음성인식 후보군 생성부(427)를 포함할 수 있다.
오류 발화 추출부(421)는 대화 로그 저장부(410)에 저장된 사용자 발화 중에서 오류 발화를 추출한다. 음성 인식 신뢰도가 일정 기준치 이하인 사용자 발화를 오류 발화로 추출할 수 있다.
음성 인식기(425)는 음성 인식 모델(423)을 이용하여 추출된 오류 발화에 대한 음성 인식 결과를 생성한다. 또한 음성 인식기(425)는 생성된 음성 인식 결과에 대한 음성 인식 신뢰도도 구할 수 있다.
음성 인식 모델 향상부(420)에서 사용되는 음성 인식 모델(423)은 대화 시스템(300)에 사용되는 것보다 인식할 수 있는 범위가 보다 넓어질 수 있도록 설계될 수 있다. 대화 시스템(300)에서의 음성 인식 모델(310)은 사용자에게 빠른 응답을 줘야 하는 제약 때문에 상대적으로 크기 및 성능이 제한받을 수밖에 없다. 하지만, 대화 시스템 성능 향상 장치(400)에서는 시간적 제약이 없기 때문에 음성 인식기(425)의 실행 속도에 큰 부담이 없어 음성 인식 모델(423)을 좀 더 자유롭게 만들 수 있으며, 또 계산 부담이 큰 미등록어 처리 모듈(도시하지 않음)도 포함하여 기존 모델에서 정의하지 못한 단어도 추가로 파악하도록 구현할 수 있다.
음성 인식 후보군 생성부(427)는 음성 인식기(425)에서 생성된 음성 인식 결과와 음성 인식 신뢰도를 포함하는 음성 인식 후보군을 생성하여 후보군 검증부(450)에 제공할 수 있다. 음성 인식 후보군은 다음과 같이 오류 발화에 대한 음성 인식 결과(문장)와 음성 인식 신뢰도(점수)로 표 1과 같이 제공될 수 있다.
음성 인식 결과 음성 인식 신뢰도
"그럼 KBS 드라마는 언제 하지?" 0.69
언어 이해 모델 향상부(430)는 오류 발화 추출부(431), 언어 이해 결과 추정부(433), 언어 이해 모듈(435), 결합부(437) 및 언어 이해 후보군 생성부(439)를 포함할 수 있다.
오류 발화 추출부(431)는 대화 로그 저장부(410)에서 음성 인식 신뢰도 및 언어 이해 신뢰도 중 적어도 하나가 일정 기준치 이하인 사용자 발화를 오류 발화로 추출한다. 언어 이해 신뢰도뿐만 아니라 음성 인식 신뢰도를 함께 고려하는 이유는 음성 인식이 제대로 이루어지지 않은 경우 이를 기초로 한 언어 이해 결과도 오류가 있을 가능성이 높기 때문이다.
언어 이해 모듈(435)은 추출된 오류 발화에 대해서 대화 시스템(300)에서 사용되는 언어 이해 모델(330)과 동일한 언어 이해 모델을 이용하여 언어 이해 결과를 구한다.
언어 이해 결과 추정부(433)는 대화 로그 저장부(410)에서 대화 이력 정보를 통해 오류 발화에 대한 언어 이해 결과를 추정한다. 대화 예제로부터 화행(Dialog Act)/주행(Main Action)에 대한 N-gram을 계산한다. 이를 바탕으로 과거 화행/주행 정보에 따라 현재에 가장 나올 확률이 높은 화행/주행 정보를 추정한다.
결합부(437)는 언어 이해 모듈(435)에서 구해진 언어 이해 결과와 언어 이해 결과 추정부(433)에서 추정된 언어 이해 결과를 비교하여 둘 중에서 어느 것이 신뢰도가 높은지 판단한다.
언어 이해 후보군 생성부(439)는 결합부(437)에서 신뢰도가 높은 것으로 판정된 언어 이해 결과 및 언어 이해 신뢰도를 포함하는 언어 이해 후보군을 생성한다. 예를 들어 언어 이해 후보군은 다음 표 2에 나타낸 것과 같이 제공될 수 있다.
언어 이해 결과 언어 이해 신뢰도
Dialog Act Main Action Slots
When-question Search_start_time [channel=KBS, genre=드라마] 0.87
대화 모델 향상부(440)는 대화 패턴 추출부(441), 오류 제거부(443) 및 대화 패턴 후보군 생성부(445)를 포함할 수 있다.
대화 패턴 추출부(441)는 대화 로그 저장부(410)에서 대화 시스템(300)의 대화 모델에 없는 새로운 대화 패턴을 추출해낸다. 대화 로그 저장부(410)에는 사용자 발화와 시스템 발화가 앞에서 설명한 것과 같이 대화 단위로 묶여 있다. 따라서 대화 패턴 추출부(441)는 대화 단위별로 기존에 없었던 대화 패턴을 일정 기준에 의해 확인하여 추출해낼 수 있다. 여기서 사용되는 기준은 언어 모델과 유사한 담화(discourse) 기반의 n-gram 혹은 SWB(Structured and Word interpolated BLUE score)를 사용하여 일정 기준치 이하일 때 해당 대화 패턴을 새로운 대화 패턴으로 판단하여 추출해낼 수 있다.
오류 제거부(443)는 추출된 새로운 대화 패턴에 대해서 대화 과정에서 있었던 주요 오류 과정을 제거한다. 예컨대 주요 오류 과정은 대화 예제를 찾을 수 없었거나, 음성 인식 오류, 언어 이해 오류가 포함된 경우가 여기에 해당한다.
대화 로그 저장부(410)에서 추출된 대화 패턴에서 오류 제거된 대화 패턴의 예를 나타내면 다음과 같다.
* 오류 제거 전 대화 패턴 *
============================================================================
User : 지금 TV에서 뭐 하지?
System : MBC에서 놀러와를, KBS에서 미녀들의 수다를 방송합니다. 채널을 골라 주십시오.
User : 그럼 10시 틀어줘 <- 음성 인식 오류 / 언어 이해 오류 [신뢰도 점수 참고하여 오류 판정]
System : 대화 예제를 찾을 수 없습니다. <- 대화 예제 없음
User : 그럼 MBC 틀어줘.
System : MBC로 채널을 이동합니다.
============================================================================
* 오류 제거 후 대화 패턴 *
============================================================================
User : 지금 TV에서 뭐 하지? // 언어 이해 결과 + Discourse History [1,0,1,0,0,0,0,0]
System : MBC에서 놀러와를, KBS에서 미녀들의 수다를 방송 합니다. 채널을 골라 주십시오.
User : 그럼 MBC 틀어줘. // 언어 이해 결과 + Discourse History [1,0,1,1,1,0,0,0]
System : MBC로 채널을 이동합니다.
=============================================================================
이렇게 오류가 제거된 새로운 대화 패턴은 대화 후보군으로 제공될 수 있다. 대화 후보군 역시 화행/주행 정보 N-gram을 바탕으로 해당 대화 후보군의 신뢰도를 계산하여 함께 제공될 수 있다.
후보군 검증부(450)는 음성 인식 모델 향상부(420), 언어 이해 모델 향상부(430), 대화 모델 향상부(440)에서 각 모델 별로 생성되는 후보군들에 대해 대화 시스템(300)에 절용할지 여부를 검증한다. 바람직하게는 전문가 또는 숙련된 사용자에게 각 모델 별 후보군들을 제시하고 대화 시스템(300)의 성능 향상에 적용할 후보군을 선택받을 수 있다. 실시예에 따라서는 신뢰도가 일정 기준 이상인 후보군을 자동적으로 대화 시스템(300)의 성능 향상에 이용할 수도 있다.
모델 훈련부(460)는 후보군 검증부(450)에서 검증되어 선택된 후보군을 대화 시스템(300)의 각 모델에 적용하여 모델 향상을 수행한다. 보다 자세하게는 모델 훈련부(460)는 기존 모델의 훈련에 사용된 코퍼스와 대화 시스템 성능 향상 장치(400)에서 후보군으로 추가된 코퍼스를 더하여 대화 시스템(300)의 음성 인식 모델, 언어 이해 모델 및 대화 관리 모델을 다시 훈련함으로써 기존 모델을 대체하는 방식으로 이루어진다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 지금까지 설명한 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(Floptical Disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (16)

  1. 사용자와 대화 시스템 사이의 대화 로그를 수집하는 단계;
    상기 수집된 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 음성 인식 모델을 향상하기 위한 음성 인식 후보군을 생성하는 단계,
    상기 수집된 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 언어 이해 모델을 향상하기 위한 언어 이해 후보군을 생성하는 단계,
    상기 수집된 대화 로그에서 상기 대화 시스템의 대화 패턴에 존재하지 않는 새로운 대화 패턴을 추출하여 상기 대화 시스템의 대화 모델을 향상하기 위한 대화 패턴 후보군을 생성하는 단계,
    상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군을 검증하는 단계, 그리고
    상기 검증 단계에서 검증된 후보군을 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용하는 단계
    를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  2. 제 1 항에서,
    상기 후보군 검증은 전문가 또는 미리 정해진 사용자에 의해 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 중에서 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용할 후보군을 선택받는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  3. 제 1 항에서,
    상기 음성 인식 후보군 생성 단계는,
    상기 대화 로그에서 오류 발화를 추출하는 단계,
    상기 대화 시스템의 음성 인식 모델보다 인식률이 높은 음성 인식 모델을 이용하여 상기 추출된 오류 발화에 대한 음성 인식을 수행하는 단계, 및
    상기 음성 인식 수행에 따른 음성 인식 결과와 음성 인식 신뢰도를 포함하는 음성 인식 후보군을 생성하는 단계를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  4. 제 1 항에서,
    상기 언어 이해 후보군 생성 단계는,
    상기 대화 로그에서 오류 발화를 추출하는 단계,
    상기 대화 로그에 포함된 대화 이력 정보에 기초하여 상기 오류 발화에 대한 언어 이해를 수행하는 단계,
    상기 대화 시스템의 언어 이해 모델과 동일한 모델을 이용하여 상기 오류 발화에 대한 언어 이해를 수행하는 단계, 및
    상기 대화 이력 정보에 기초한 언어 이해 결과와 상기 언어 이해 모델을 이용한 언어 이해 결과 중에서 언어 이해 신뢰도가 높은 언어 이해 결과를 언어 이해 후보군으로 생성하는 단계를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  5. 제 1 항에서,
    상기 대화 패턴 후보군 생성 단계는,
    상기 대화 로그에서 상기 대화 시스템에 존재하지 않는 대화 패턴을 추출하는 단계,
    상기 대화 패턴에서 오류를 제거하는 단계, 및
    상기 오류가 제거된 대화 패턴을 대화 패턴 후보군으로 생성하는 단계를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  6. 제 3 항 내지 제 5 항 중 어느 한 항에서,
    상기 음성 인식 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도가 일정 기준치 이하인 사용자 발화를 추출하여 이루어지고,
    상기 언어 이해 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도 및 언어 이해 신뢰도 중 적어도 하나가 일정 기준치 이하인 사용자 발화를 추출하여 이루어지는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  7. 제 1 항에서,
    상기 대화 로그는 사용자명, 발화 시간, 발화 음성, 음성 인식 결과, 음성 인식 신뢰도, 언어 이해 결과, 언어 이해 신뢰도, 대화 이력 정보를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  8. 제 1 항에서,
    상기 대화 로그는 사용자 별로 수집되고,
    상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 생성 및 검증과, 검증된 후보군을 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용은 사용자 별로 수행되는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법.
  9. 사용자와 대화 시스템 사이의 대화 로그를 저장하는 대화 로그 저장부,
    상기 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 음성 인식 모델을 향상하기 위한 음성 인식 후보군을 생성하는 음성 인식 모델 향상부,
    상기 대화 로그에서 오류 발화를 추출하여 상기 대화 시스템의 언어 이해 모델을 향상하기 위한 언어 이해 후보군을 생성하는 언어 이해 모델 향상부,
    상기 대화 로그에서 상기 대화 시스템의 대화 패턴에 존재하지 않는 새로운 대화 패턴을 추출하여 상기 대화 시스템의 대화 모델을 향상하기 위한 대화 패턴 후보군을 생성하는 대화 모델 향상부,
    상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군을 검증하는 후보군 검증부, 및
    상기 검증된 후보군을 상기 대화 시스템의 음성 인식 모델, 언어 이해 모델 및 대화 모델의 향상에 적용하는 모델 훈련부를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  10. 제 9 항에서,
    상기 후보군 검증은 전문가 또는 미리 정해진 사용자에 의해 상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 중에서 상기 대화 시스템의 음성 인식 모델, 언어 이해 모델 및 대화 모델의 향상에 적용할 후보군을 선택받는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  11. 제 9 항에서,
    상기 음성 인식 후보군 생성은,
    상기 대화 로그에서 오류 발화를 추출하고, 상기 대화 시스템의 음성 인식 모델보다 인식률이 높은 음성 인식 모델을 이용하여 상기 추출된 오류 발화에 대한 음성 인식을 수행하며, 상기 음성 인식 수행에 따른 음성 인식 결과와 음성 인식 신뢰도를 포함하는 음성 인식 후보군을 생성하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  12. 제 9 항에서,
    상기 언어 이해 후보군 생성은,
    상기 대화 로그에서 오류 발화를 추출하고, 상기 대화 로그에 포함된 대화 이력 정보에 기초하여 상기 오류 발화에 대한 언어 이해를 수행하며, 상기 대화 시스템의 언어 이해 모델과 동일한 모델을 이용하여 상기 오류 발화에 대한 언어 이해를 수행하고, 상기 대화 이력 정보에 기초한 언어 이해 결과와 상기 언어 이해 모델을 이용한 언어 이해 결과 중에서 언어 이해 신뢰도가 높은 언어 이해 결과를 언어 이해 후보군으로 생성하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  13. 제 9 항에서,
    상기 대화 패턴 후보군 생성은,
    상기 대화 로그에서 상기 대화 시스템에 존재하지 않는 대화 패턴을 추출하고, 상기 대화 패턴에서 오류를 제거하며, 상기 오류가 제거된 대화 패턴을 대화 패턴 후보군으로 생성하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에서,
    상기 음성 인식 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도가 일정 기준치 이하인 사용자 발화를 추출하여 이루어지고,
    상기 언어 이해 후보군 생성을 위한 오류 발화 추출은 상기 대화 로그에서 음성 인식 신뢰도 및 언어 이해 신뢰도 중 적어도 하나가 일정 기준치 이하인 사용자 발화를 추출하여 이루어지는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  15. 제 9 항에서,
    상기 대화 로그는 사용자명, 발화 시간, 발화 음성, 음성 인식 결과, 음성 인식 신뢰도, 언어 이해 결과, 언어 이해 신뢰도, 대화 이력 정보를 포함하는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.
  16. 제 9 항에서,
    상기 대화 로그는 사용자 별로 수집되고,
    상기 음성 인식 후보군, 상기 언어 이해 후보군 및 상기 대화 패턴 후보군 생성 및 검증과, 검증된 후보군을 상기 음성 인식 모델, 상기 언어 이해 모델 및 상기 대화 모델의 향상에 적용은 사용자 별로 수행되는 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 장치.




KR1020100018448A 2010-03-02 2010-03-02 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치 KR101131278B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100018448A KR101131278B1 (ko) 2010-03-02 2010-03-02 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100018448A KR101131278B1 (ko) 2010-03-02 2010-03-02 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20110099434A true KR20110099434A (ko) 2011-09-08
KR101131278B1 KR101131278B1 (ko) 2012-03-30

Family

ID=44952309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100018448A KR101131278B1 (ko) 2010-03-02 2010-03-02 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101131278B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002162A (ko) * 2014-06-30 2016-01-07 한국전자통신연구원 질의 응답 장치 및 방법
KR20170088164A (ko) * 2016-01-22 2017-08-01 한국전자통신연구원 점증적 대화지식 자가학습 기반 대화장치 및 그 방법
KR20190059201A (ko) * 2017-11-22 2019-05-30 서강대학교산학협력단 대화 정책 모델의 최적화 방법 및 이를 구현하는 대화 시스템
KR20190062274A (ko) * 2017-11-28 2019-06-05 도요타지도샤가부시키가이샤 응답문 생성 장치, 방법 및 프로그램, 그리고 음성 대화 시스템
WO2019124647A1 (ko) * 2017-12-18 2019-06-27 주식회사 머니브레인 대화형 ai 에이전트 시스템을 위한 계층적 대화 흐름 관리 모델을 자동으로 구축 또는 갱신하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20200021162A (ko) * 2018-08-20 2020-02-28 주식회사 부뜰정보시스템 상담원의 상담내용을 기반으로 상담 챗봇을 학습하는 시스템 및 방법
KR20210076558A (ko) 2019-12-16 2021-06-24 주식회사 엘지유플러스 인공지능 서비스 대화모델의 학습 문구 품질 검증 장치 및 방법
WO2022081937A1 (en) * 2020-10-15 2022-04-21 Drift.com, Inc. Event-based semantic search and retrieval

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102319530B1 (ko) 2014-08-18 2021-10-29 삼성전자주식회사 사용자 입력 처리 방법 및 장치
KR20200007496A (ko) * 2018-07-13 2020-01-22 삼성전자주식회사 개인화 ASR(automatic speech recognition) 모델을 생성하는 전자 장치 및 이를 동작하는 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002162A (ko) * 2014-06-30 2016-01-07 한국전자통신연구원 질의 응답 장치 및 방법
KR20170088164A (ko) * 2016-01-22 2017-08-01 한국전자통신연구원 점증적 대화지식 자가학습 기반 대화장치 및 그 방법
KR20190059201A (ko) * 2017-11-22 2019-05-30 서강대학교산학협력단 대화 정책 모델의 최적화 방법 및 이를 구현하는 대화 시스템
KR20190062274A (ko) * 2017-11-28 2019-06-05 도요타지도샤가부시키가이샤 응답문 생성 장치, 방법 및 프로그램, 그리고 음성 대화 시스템
WO2019124647A1 (ko) * 2017-12-18 2019-06-27 주식회사 머니브레인 대화형 ai 에이전트 시스템을 위한 계층적 대화 흐름 관리 모델을 자동으로 구축 또는 갱신하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20200021162A (ko) * 2018-08-20 2020-02-28 주식회사 부뜰정보시스템 상담원의 상담내용을 기반으로 상담 챗봇을 학습하는 시스템 및 방법
KR20210076558A (ko) 2019-12-16 2021-06-24 주식회사 엘지유플러스 인공지능 서비스 대화모델의 학습 문구 품질 검증 장치 및 방법
WO2022081937A1 (en) * 2020-10-15 2022-04-21 Drift.com, Inc. Event-based semantic search and retrieval

Also Published As

Publication number Publication date
KR101131278B1 (ko) 2012-03-30

Similar Documents

Publication Publication Date Title
KR101131278B1 (ko) 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치
US20200258506A1 (en) Domain and intent name feature identification and processing
CN106683677B (zh) 语音识别方法及装置
US9117450B2 (en) Combining re-speaking, partial agent transcription and ASR for improved accuracy / human guided ASR
EP2700071B1 (en) Speech recognition using multiple language models
US10789943B1 (en) Proxy for selective use of human and artificial intelligence in a natural language understanding system
CN101326572B (zh) 具有巨大词汇量的语音识别系统
US10236017B1 (en) Goal segmentation in speech dialogs
JP2018124425A (ja) 音声対話装置及び音声対話方法
CN105304080A (zh) 语音合成装置及方法
JP2002140089A (ja) 挿入ノイズを用いた後にノイズ低減を行うパターン認識訓練方法および装置
CN111429899A (zh) 基于人工智能的语音响应处理方法、装置、设备及介质
CN102436807A (zh) 自动生成重读音节语音的方法和系统
CN110853628A (zh) 一种模型训练方法、装置、电子设备及存储介质
CN112242144A (zh) 基于流式注意力模型的语音识别解码方法、装置、设备以及计算机可读存储介质
CN111710326A (zh) 英文语音的合成方法及系统、电子设备及存储介质
CN111949778A (zh) 一种基于用户情绪的智能语音对话方法、装置及电子设备
JP2010078877A (ja) 音声認識装置、音声認識方法及び音声認識プログラム
CN111179903A (zh) 一种语音识别方法、装置、存储介质及电器
US9218807B2 (en) Calibration of a speech recognition engine using validated text
Tsiakoulis et al. Dialogue context sensitive HMM-based speech synthesis
JP7326931B2 (ja) プログラム、情報処理装置、及び情報処理方法
US7272560B2 (en) Methodology for performing a refinement procedure to implement a speech recognition dictionary
López-Cózar et al. Combining language models in the input interface of a spoken dialogue system
TWI731921B (zh) 語音識別方法及裝置

Legal Events

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