KR102267561B1 - 음성 언어 이해 장치 및 방법 - Google Patents

음성 언어 이해 장치 및 방법 Download PDF

Info

Publication number
KR102267561B1
KR102267561B1 KR1020160010618A KR20160010618A KR102267561B1 KR 102267561 B1 KR102267561 B1 KR 102267561B1 KR 1020160010618 A KR1020160010618 A KR 1020160010618A KR 20160010618 A KR20160010618 A KR 20160010618A KR 102267561 B1 KR102267561 B1 KR 102267561B1
Authority
KR
South Korea
Prior art keywords
semantic object
semantic
recognizing
slot
matching
Prior art date
Application number
KR1020160010618A
Other languages
English (en)
Other versions
KR20170090127A (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 KR1020160010618A priority Critical patent/KR102267561B1/ko
Publication of KR20170090127A publication Critical patent/KR20170090127A/ko
Application granted granted Critical
Publication of KR102267561B1 publication Critical patent/KR102267561B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems

Landscapes

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

Abstract

본 발명의 음성 언어 이해 장치는 입력 문장에 대한 형태소를 분석하는 형태소 분석부; 상기 형태소를 분석한 결과에 대해, 의미 객체 사전을 이용하여 규칙 기반 파싱(parsing)과 퍼지 매칭(fuzzy-matching)을 수행하여 의미 객체를 인식하는 의미 객체 인식부; 상기 의미 객체의 기능적 역할에 해당하는 슬롯을 인식하기 위한 슬롯 태깅부; 상기 인식한 의미 객체를 포함한 정보를 포함하는 자질로 분류(classification)를 수행하여 대화행위를 의미 기반으로 인식하는 의미 기반 대화 행위 인식부; 및 상기 의미 기반으로 인식한 대화행위와 상기 의미 객체에 태깅된 슬롯을 조합하여 사용자 의도 후보를 생성하는 사용자 의도 후보 생성부를 포함한다.

Description

음성 언어 이해 장치 및 방법{Apparatus and method for comprehending speech}
본 발명은 음성 언어 이해 방법에 관한 것으로서, 더욱 상세하게는 대화 처리 시스템을 위한 강건한 음성 언어 이해 장치 및 그 방법에 관한 것이다.
최근 지능형 비서, 대화식 네비게이션 시스템, 대화식 언어 학습 시스템 등의 서비스가 등장함에 따라 대화 처리 기술 및 언어 이해 기술의 중요성이 커지고 있다.
전통적인 규칙에 의한 의미 파싱 기반의 언어 이해 시스템의 경우, 비정형적인 발화 입력이나 음성 인식 오류에 대해 강건성이 떨어지는 문제점이 있었다.
이에 따라 최근 기계 학습 기반 방식이 사용되고 있다. 하지만 인명, 지명, 제목 등의 대용량 객체 사전을 적용해야 하는 시스템의 경우 기존의 학습 기반의 언어 이해 시스템으로서는 모호성 처리 및 객체 인식에 한계가 있다.
이를 처리하기 위해 의미 객체에 의미 코드를 부여하고, 의미 코드 기반 처리 등이 수행되어야 한다. 그렇지만, 기존의 통계에 의한 기계 학습 방식에서는 의미 객체에 대한 모호성 처리의 어려움으로 인해 강건한 음성 언어 이해 장치의 구현에 한계가 있다.
본 발명의 목적은 전술한 종래기술의 문제점을 해결하기 위하여, 입력 문장에서 나타나는 비문법적 문장, 음성 인식 오류, 사용자 발화 오류, 대용량의 객체 사전을 적용해야 하는 경우에 대해 강건한 음성 언어 이해 장치 및 그 방법을 제공하는 데 있다..
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 음성 언어 이해 장치는, 입력 문장에 대한 형태소를 분석하는 형태소 분석부; 상기 형태소를 분석한 결과에 대해, 의미 객체 사전을 이용하여 규칙 기반 파싱(parsing)과 퍼지 매칭(fuzzy-matching)을 수행하여 의미 객체를 인식하는 의미 객체 인식부; 상기 의미 객체의 기능적 역할에 해당하는 슬롯을 인식하기 위한 슬롯 태깅부; 상기 인식한 의미 객체를 포함한 정보를 포함하는 자질로 분류(classification)를 수행하여 대화행위를 의미 기반으로 인식하는 의미 기반 대화 행위 인식부; 및 상기 의미 기반으로 인식한 대화행위와 상기 의미 객체에 태깅된 슬롯을 조합하여 사용자 의도 후보를 생성하는 사용자 의도 후보 생성부를 포함한다.
본 발명의 다른 일면에 따른 음성 언어 이해 장치에서의 처리 방법은, 입력 문장에 대한 형태소를 분석하는 단계; 상기 형태소를 분석한 결과에 대해, 의미 객체 사전을 이용하여 챠트 파싱(parsing)과 퍼지 매칭(fuzzy-matching)을 수행하여 의미 객체를 인식하는 단계; 상기 인식한 의미 객체에 도메인 슬롯을 태깅하는 단계; 상기 인식한 의미 객체를 포함하는 자질로 분류(classification)를 수행하여 대화 행위를 의미 기반으로 인식하는 단계; 및 상기 의미 기반으로 인식한 대화 행위와 상기 의미 객체에 태깅된 도메인 슬롯을 조합하여 사용자 의도 후보를 생성하는 단계;를 포함한다.
본 발명에 따르면, 대화 처리 시스템에서는 지명, 인명, 제목 등의 대용량 객체사전을 사용해야 할 필요성이 있는데, 기존의 기계 학습 기반의 언어 이해 장치에서는 대용량 객체 사전을 적용할 때, 객체 인식 및 객체 의미 모호성을 처리하기 어려운 문제점이 있었으나, 본 발명에 따르면, 대용량 객체 사전을 의미 클래스로 적용하여 객체 인식 및 의미 클래스 모호성을 해소할 수 있다. 또한, 어휘-의미 패턴으로 이루어진 규칙 기반 파싱 및 퍼지 매칭을 통해 부정확한 발화에 대해서도 객체 사전을 적용할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 언어 이해 장치의 내부 구성을 나타낸 블록도이다.
도 2는 도 1에 도시한 의미 객체 인식부의 내부 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 언어이해 기능을 수행하기 위한 학습 과정을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 음성 언어 이해 방법의 절차를 나타내는 순서도이다.
본 발명은 대화 처리 시스템에서 강건한 음성 언어 이해 장치 및 방법에 관한 것으로, 형태소 분석을 수행하는 형태소 분석부, 형태소 태깅 결과에 대해 어휘 기반으로 대화 행위를 인식하는 어휘 기반 대화 행위 인식부, 사전기반 분석에 의한 의미 객체 인식부, 의미 객체에 대한 기능적 역할을 인식하기 위해, 기계 학습 기반으로 도메인 슬롯을 인식 슬롯 태깅부, 인식된 의미 객체 정보를 포함하여 대화 행위를 인식하는 의미 기반 대화 행위 인식부, 사용자 의도 후보를 생성하는 사용자 의도 후보 생성부로 포함하도록 구성됨을 특징으로 한다.
언어 이해는 화자가 사용하는 자연 언어 문장을 컴퓨터 등 기계가 이해할 수 있는 의도 표현으로 변환하는 과정을 의미한다.
기계가 이해할 수 있는 의도 표현은 대화 행위(Dialog Act, DA)와 슬롯을 포함하도록 구성할 수 있다.
대화 행위는 사용자의 원래 발화 의도나 목적을 말하며, 슬롯은 문장 내 의미를 가지고 있는 대상(객체, object)에 해당한다.
편의상 의도 표현을 "대화 행위(슬롯명=슬롯)" 형태로 표현한다.
예를 들어, 차량용 네비게이션 시스템에서 화자가 사용하는 자연 언어 문장이 "서울역 근처 우체국 가자"인 경우, 기계가 이해할 수 있는 의도 표현은 "navigate(landmark="서울역", dest= "우체국")으로 표현할 수 있다.
이러한 음성 언어 이해 장치를 개발하기 위해서는 다음과 같이 의미 표현이 태깅된 학습 코퍼스를 구축하여 자동으로 지식을 추출하거나 학습한다.
<landmark=서울역/poi> 근처 <dest= 우체국/poi> 가자 navigate(landmark="서울역", dest= "우체국")
위에서 "landmark","dest"는 슬롯명이고, poi(point of interest)는 의미 코드명이다.
위와 같이, 같은 poi 의미라고 하더라도 "landmark, dest"와 같이 여러 가지 슬롯으로 사용될 수 있다.
이하, 도면을 참조하여 본 발명의 실시 예들에 따른 강건한 음성 언어 이해 장치에 대해 상세히 설명하도록 한다.
실시 예들에 대한 설명에 앞서, 이하의 실시 예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합하지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
본 발명에 따른 실시 예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 언어 이해 장치의 내부 구성을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 음성 언어 이해 장치(100)는 형태소 분석부(110), 어휘 기반 대화행위 인식부(120), 의미 객체 인식부(130), 슬록 태깅부(140), 의미 기반 대화행위 인식부(150) 및 사용자 의도 후보 생성부(160)를 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 음성 언어 이해 장치(100)는 상기 각 구성들과 연동하는 다수의 데이터 베이스를 더 포함할 수 있다. 즉, 도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 음성 언어 이해 장치(100)는 상기 형태소 분석부(110)와 연동하는 형태소 태깅 학습 모델 DB(11), 상기 어휘 기반 대화행위 인식부(120)와 연동하는 제1 대화행위 학습 모델 DB(12), 상기 의미 객체 인식부(130)와 연동하는 의미 객체 사전(13), 상기 슬롯 태깅부(140)와 연동하는 슬롯 태깅 학습 모델 DB(14) 및 상기 의미 기반 대화행위 인식부(150)와 연동하는 제2 대화행위 학습 모델 DB(15)를 더 포함할 수 있다. 여기서, 상기 의미 객체 사전(13)은 도 2에 도시한 바와 같이, 의미 객체 사전 DB(31), 어휘-의미 패턴 DB(33), 의미 객체 사전 인덱스 DB(35) 및 의미 객체 태깅 학습 모델 DB(37)를 포함할 수 있다.
상기 형태소 분석부(110)는 화자(또는 사용자)가 발화한 음성을 인식한 음성 인식 결과에 대한 형태소 분석 및 품사 태깅을 수행한다. 여기서, 상기 음성 인식 결과는 화자(또는 사용자)가 발화한 음성을 텍스트 형태로 변환된 입력 문장일 수 있다.
상기 형태소 분석부(110)에 상기 음성 인식 결과가 텍스트 형태로 입력되면, 상기 형태소 분석부(110)는 상기 형태소 태깅 학습 모델 DB(11, 또는 형태소 사전)을 참조하여, 형태소 분석 및 형태소 태깅을 수행함으로써, 상기 입력 문장 내 객체(또는 단어)들의 어휘, 품사, 원형 등의 정보를 알 수 있다.
상기 어휘 기반 대화행위 인식부(120)는 상기 형태소 분석부(110)의 형태소 분석 및 형태소 태깅 결과로부터 알 수 있는 어휘, 품사, 원형 등의 정보를 토대로 대화행위를 인식한다. 예를 들면, 상기 입력 문장 내의 동사 정보로부터 대화 행위를 인식할 수 있다.
예) 어휘 기반 대화행위 인식의 예
입력 문장에"~켜줘"라는 동사가 포함된 경우, "~켜줘"라는 동사 어휘를 기반으로 대화행위는 "play"로 인식될 수 있고, 입력 문장에 "~가자"라는 동사가 포함된 경우, "~가자"라는 동사 어휘를 기반으로 대화행위는 "navigate"로 인식될 수 있다.
상기 의미 객체 인식부(130) 는 규칙 기반 파싱 및 의미 객체 사전(13)과의 퍼지 매칭(fuzzy-matching)을 통해 입력 문장 내의 의미 객체를 인식하고, 규칙 기반 파싱에서 인식되지 못한 경우, 기계 학습 기반 태깅으로 의미 객체를 인식한다.
파싱은 입력 문장의 구조를 분석하는 과정으로서, 규칙 기반 파싱은 입력 문장의 구조를 분석하기 위해 어떠한 규칙을 설정하고, 설정된 규칙에 기반해서 입력 문장의 구조를 분석하는 과정이다. 본 발명의 일 실시 예에서는 규칙 기반 파싱으로 챠트 파싱(chart parsing) 기법이 사용될 수 있다. 여기서, 챠트(chart)는 파싱의 진행 과정을 기록하는 테이블일 수 있다.
상기 퍼지 매칭(fuzzy-matching)은 검색 조건에 일치하는 매칭 결과뿐만 아니라 검색 조건과 유사한 결과들에 대해 매칭을 수행하는 방법이다.
상기 슬롯 태깅부(140)는 의미 객체에 대한 기능적 역할을 인식하기 위해, 기계 학습 기반으로 도메인 슬롯을 인식한다. 즉, 상기 슬롯 태깅부(140)는 상기 의미 객체 인식부(130)에서 인식한 의미 객체에 슬롯을 태깅한다.
상기 의미 기반 대화행위 인식부(150)는 앞에서 인식된 의미 객체를 포함한 정보를 토대로 의미 기반으로 대화행위를 인식한다.
상기 사용자 의도 후보 생성부(160)는 상기 슬롯 태깅부(140)에서 상기 의미 객체에 태깅한 슬롯과 상기 의미 기반으로 인식한 대화행위에 대한 모든 조합에 대해 가중치에 따라 사용 의도 후보(n-best)를 생성하고, 이를 출력한다.
슬롯 및 사용자 의도 인식에서 슬롯은 일반적인 개체명(Named Entity) 인식 등에 쓰이는 sequential labeling 방법과 사용자 의도 인식은 classification 문제로 처리할 수 있다.
도 2는 도 1에 도시한 의미 객체 인식부의 내부 구성을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 의미 객체 인식부(130)는 의미 사전 이그잭트 매칭부(131), 챠트 파싱부(133), 의미 사전 퍼지 매칭부(135) 및 의미 객체 태깅부(137)를 포함할 수 있다.
상기 의미 사전 이그잭트 매칭부(131)는 도 1에 도시한 의미 객체 사전(13)에 포함된 의미 객체 사전 DB(31)를 참조하여, 입력 문장에 대한 최장우선으로 이그잭트 매칭(exact matching)을 수행하여 의미 객체를 인식한다.
상기 의미 객체 사전 DB(31)에는 상기 형태소 분석부(110)에서 수행한 형태소 분석 결과에 대응하는 다수의 의미 코드가 저장되어 있다. 여기서, 의미 코드는, 일예로 "channel"과 "poi"일 수 있다. "channel"은 방송 채널과 연관된 의미 코드이고, "poi"는 지역과 연관된 의미 코드일 수 있다.
상기 챠트 파싱부(133)는 어휘-의미 패턴 DB(33)에 구축된 어휘-의미 패턴을 규칙으로 하여 입력 문장에 대한 챠트 파싱(chart parsing)을 수행하여 객체 후보를 생성한다.
상기 의미 사전 퍼지 매칭부(135)는 의미 객체 사전 인덱스 DB(35)를 참조하여, 상기 챠트 파싱부(133)에서 생성한 객체 후보에 대해 퍼지 매칭(fuzzy-matching)을 수행하여 유사도(또는 매칭률)가 가장 높은 객체 후보를 선택하고, 챠트 파싱 가중치 및 의미 객체 태깅 가중치를 고려하여 최종 챠트를 선택한다. 이후, 상기 의미 사전 퍼지 매칭부(135)는 선택된 최종 챠트를 이용하여 입력 문장에 대한 의미 객체를 인식한다.
상기 의미 객체 태깅부(137)은 챠트 파싱이 실패한 경우, 통계적인 기계 학습 방법에 의해 해당 도메인에서 의미 객체를 인식한다.
도 3은 본 발명의 일 실시 예에 따른 언어이해 기능을 수행하기 위한 학습 과정을 나타낸 도면이다.
도 3을 참조하면, 단계 S201에서, 도메인 학습코퍼스를 이용하여 원문에 대한 형태소 분석(또는 형태소 태깅)을 수행한다.
이어, 단계 S202에서, 형태소 어휘 정보 및 슬롯의 의미 정보를 결합하여 어휘-의미 패턴을 추출한다.
어휘-의미 패턴 예:
<dbm_channel=엠비씨/channel> 켜줘 #play(dbm_channel ="엠비씨")
-> <channel> 켜 어주 어라
<landmark=여의도/poi> <dest=kbs본관/poi> 가자 #navigate(landmark="여의도", dest="kbs본관")
-> <poi> <poi> 가 자
이어, 단계 S203에서, 어휘 기반 DA분류 학습 단계(203)에서는 어휘 정보 및 품사 정보를 자질로 하여 대화행위를 분류하기 위한 학습을 수행한다.
대화행위를 분류하기 위한 학습에 대해 예를 들면,
학습코퍼스: <dbm_channel=엠비씨/channel> 켜줘 #play(dbm_channel ="엠비씨")
원문 태깅: 엠비씨/엠비씨/NN 키/켜/VB+어주/어주/EV+어/어라/EE.종결
학습에 사용하는 자질 및 DA값: 엠비씨/NN 켜/VB 어주/EV 어라/EE.종결 -> play
이어, 단계 S204에서, 의미 객체 태깅을 위한 학습을 수행한다. 의미 객체 및 슬롯을 위한 sequential labeling에서 BIO태깅 방식을 이용한다. BIO 태깅 방식은 channel이라는 의미 객체가 시작하는 경우 B- channel, 계속되는 경우 I- channel, 의미 객체가 아닌 경우 "O"로 태깅하는 방식이다.
예를 들면,
학습코퍼스: < dbm_channel =엠비씨/channel> 켜줘 #play(dbm_channel ="엠비씨")
의미태깅 학습 데이타: 엠비씨/B-channel 켜/O 어주/O 어라/O
이어, 단계 S205에서, 어휘, 품사 및 의미 정보를 자질로 하여 슬롯을 태깅하기 위한 학습을 수행한다.
예를 들면,
학습코퍼스: < dbm_channel =엠비씨/channel> 켜줘 #play(dbm_channel ="엠비씨")
슬롯 태깅 학습 데이타: 엠비씨/B-dbm_channel 켜/O 어주/O 어라/O
이어, 단계 S206에서, 어휘 정보, 품사 정보 및 의미 정보를 자질로 하여 대화행위를 분류하기 위한 학습을 수행한다.
학습코퍼스: < dbm_channel =엠비씨/channel> 켜줘 #play(dbm_channel ="엠비씨")
원문태깅: 엠비씨/엠비씨/NN 키/켜/VB+어주/어주/EV+어/어라/EE.종결
학습에 사용하는 자질 및 대화행위값: 엠비씨/NN/channel 켜/VB 어주/EV 어라/EE.종결 -> play
이어, 단계 S207에서, 의미객체 퍼지 매칭을 위한 역색인 파일을 생성한다.
역색인 파일은 정보검색에서 일반적으로 사용하는 방법으로 각 단어에 대해 그 단어를 포함하는 문서나 문장에 대한 포인터를 저장해 놓은 것이다. 예를 들면,
[의미객체 사전]
1: 미래사랑/poi
2: 미래사랑아파트/poi
3: 대우미래사랑아파트/poi
4: 양평역대우미래사랑아파트/poi
[의미객체 사전 인덱스]
미래: 1,2,3,4
대우: 3,4
아파트: 2,3,4
의미객체 사전 인덱스를 이용하면 특정 단어리스트를 가장 많이 포함하는 의미객체 엔트리를 쉽게 찾을 수 있다.
이하, 본 발명의 일 실시 예에 따른 음성 언어 이해 장치(100)에 입력되는 2개의 음성 인식 결과를 토대로 그 동작을 상세히 설명한다.
입력 문장 1) 음성 인식 결과: " 엠비씨넷 축구 보게 좀 켜줘"
1) 형태소 분석: 형태소 분석부(110)에서는, 입력 문장 "엠비씨넷 축구 보게 좀 켜줘"에 대한 형태소 분석 및 품사 태깅을 수행하여, 상기 입력 문장의 태깅 결과를 분석한다.
형태소 분석 결과: 엠비씨넷/엠비씨넷/NN 축구/NN 보/VB+게/EE.연결 좀/AD 키/켜/VB+어주/어주/EV+어/어라/EE.종결
2) 어휘 기반 대화행위 인식: 상기 어휘 기반 사용자 의도 인식부(120)는 상기 형태소 분석부(110)의 형태소 분석 결과(엠비씨넷/엠비씨넷/NN 축구/NN 보/VB+게/EE.연결 좀/AD 키/켜/VB+어주/어주/EV+어/어라/EE.종결)를 자질로 학습 모델 DB(12)에 따라 분류(classification)을 수행하여 대화행위를 인식한다.
어휘 기반 대화행위 인식 결과: #play()
3) 의미 객체 인식
3.1) 의미 사전 이그잭트 매칭: 상기 의미 객체 인식부(130) 내의 상기 의미 사전 이그젝트 매칭부(131)는 의미 객체 사전 DB(31)을 참조하여, 이그잭트 매칭 방법으로, "엠비씨넷"에 대응하는 의미 코드 예컨대, "channel"과 "poi"를 추출한다. "엠비씨넷"은 엠비씨넷 채널(channel)과 엠비씨넷 방송국(poi)의 모호성을 갖는다.
의미 사전 이그잭트 매칭 결과: 엠비씨넷/channel_poi 축구/NN 보+게 좀 키+어주+어
3.2) 챠트 파싱
어휘-의미 패턴: <channel> 켜줘 #play()
입력 어휘/의미: 엠비씨넷/channel 축구 보게 좀 켜줘
위 경우, 입력 문장에서 "축구 보게"라는 구문이 삽입됨으로 인해, 기존에 추출된 어휘-의미 패턴과 매칭이 안돼서 챠트 파싱에 실패할 것이다.
3.3) 의미 객체 태깅: 상기 의미 객체 태깅부(137)에서는 상기 챠트 파싱의 실패에 따라, 통계적인 기계 학습 방법에 의해 해당 슬롯의 의미 객체를 인식한다.
기계 학습 기반으로 의미 객체를 태깅하는 방법은 일반적인 Named Entity 태깅에서 사용하는 BIO 방식의 sequential labeling 방법을 이용할 수 있다.
BIO 방식은 object1이라는 의미 객체가 시작하는 경우 B-object1, 계속되는 경우 I-object1, 의미 객체가 아닌 경우 "O"로 태깅하는 방식이다.
위의 의미 객체에 대해 학습 및 적용할 때는 어휘기반 대화행위 인식 결과를 자질로 추가하여 사용한다. 따라서 위 예에서 "play()"라는 대화행위를 자질로 사용하여 분류를 하기 때문에 "엠비씨넷"의 의미 코드는 poi가아닌 channel로 분류될 수 있다.
의미 객체 태깅 결과: 엠비씨넷/B-channel 축구/O 보/O+게/O 좀/O 키/O+어주/O+어/O
의미 객체 인식 결과: 엠비씨넷/channel 축구 보+게 좀 키+어주+어
4) 슬롯 및 대화행위 인식: 상기 인식된 의미객체에 대한 의미코드를 자질로 해서 슬롯 태깅 및 대화행위를 분류함으로써, 최종적인 사용자 의도 인식 결과를 생성할 수 있다.
슬롯 및 대화행위 인식 결과: <dmb_channel=엠비씨넷> 축구 좀 보게 켜줘 #play(dmb_channel="엠비씨넷")
입력 문장 2) 음성 인식 결과: 양평역 대우 미래사랑 가자
1) 형태소 분석: 형태소 분석부(110)에서는, 입력 문장 "양평역 대우 미래사랑 가자"에 대한 형태소 분석 및 태깅을 수행하여, 위와 같은 태깅 결과를 출력한다.
형태소 분석 결과: 양평역/양평역/NN 대우/대우/NN 미래사랑/미래사랑/NN 가/가/VB+자/자/EE.종결
2) 어휘기반 대화행위 인식: 어휘 기반 대화행위 인식부(120)에서는, 상기 형태소 분석부(110)의 형태소 분석 및 태깅 결과를 기반으로 대화행위를 인식하며, 그 인식 결과를 대화행위를 나타내는 인식 코드로 생성한다. 동사 어휘 "가자"를 기반으로 대화행위를 인식한 경우, #navigate()와 같은 인식 코드가 생성될 수 있다.
어휘기반 대화행위 인식 결과: #navigate()
3) 의미 객체 인식
3.1) 의미사전 이그잭트매칭: 다음과 같이 poi사전이 존재할 때 입력 문장에서 최장일치 매칭을 수행하여 매칭되는 입력문장의 범위에 대해 의미코드를 할당한다.
[poi객체 사전]
양평역/poi
대우/poi
사랑/poi
미래사랑/poi
미래사랑아파트/poi
대우미래사랑아파트/poi
양평역대우미래사랑아파트/poi
의미사전 이그잭트매칭 결과: 양평역/poi 대우/poi 미래사랑/poi 가+자
3.2) 챠트 파싱
[어휘-의미 패턴]
<poi> 가+자
<poi> <poi> 가+자
챠트 파싱부(133)에서는, 어휘-의미 패턴을 규칙으로 하여 챠트 파싱을 수행한다. 즉, 의미 객체에 대한 후보가 인식된다.
의미 객체 후보 인식에서는 active 챠트에 대해 현재까지 매칭된 노드가 i번째 형태소 노드이고 다음 매칭해야 할 노드가 poi와 같은 의미 객체 노드인 경우, 그 다음 노드에 해당하는 형태소 노드가 나올 때까지 형태소 분석 결과에서 검색을 수행한다.
만일 검색이 되면, 매칭된 노드가 j번째 형태소라고 할 때 i+1 ~ j-1범위의 poi노드를 생성하여 inactive 챠트 풀에 추가한다.
예를 들어, 파싱을 시작하기 전 단계에서 "<poi> 가+자" 패턴을 적용할 때, 첫 노드로 <poi> 객체 노드가 존재하므로, 그 다음 노드의 어휘인 "가"가 나올 때까지 입력 형태소 리스트에서 검색을 수행한다.
그러면 "양평역/poi 대우/poi 미래사랑/poi 가+자"의 형태소 리스트의 3번째 형태소에서 "가"가 나오기 때문에 0 ~ 2 범위의 poi노드에 해당하는 inactive 챠트를 생성하여 추가한다.
poi0_2가 추가되고, 이 챠트에 의해 "<poi> 가+자"패턴에서 "<poi>" 노드가 매칭이 되고, 이후에 패턴의 "가+자"와 입력 형태소의 "가+자"가 매칭이 되어 전체 패턴이 매칭이 되고, 파싱에 성공하게 된다.
또한 형태소에 poi 의미 코드가 존재하는 경우, 자동으로 poi 노드에 해당하는 inactive챠트가 추가된다.
이에 따라 "<poi> <poi> 가+자"에서 첫 번째 <poi>와 양평역/poi가 매칭이 되고, 다시 <poi>가 패턴에서 나타나므로, poi1_2의 inactive챠트가 추가되고, "<poi> <poi> 가+자"에 대한 매칭도 성공하게 된다. 이와 같은 식으로 모든 가능한 챠트의 생성을 수행한다.
3.3) 의미 사전 퍼지 매칭
챠트 파싱이 종료되면 전체 범위를 포함하는 챠트를 우선적으로 선택한다.
만일 그런 챠트가 존재하지 않으면 active 챠트 풀에서 인식된 챠트 범위를 이용해 최장일치 우선으로 부분 챠트 리스트를 생성한다. 위 예문의 경우, 다음 3가지 패턴이 전체 문장 범위를 포함하는 패턴으로 선택된다.
양평역대우미래사랑/poi 가+자
양평역/poi 대우미래사랑/poi 가+자
양평역대우/poi 미래사랑/poi 가+자
그리고 최장일치 우선으로 "양평역대우미래사랑"과 poi 객체 사전(어휘-의미 패턴 DB)의 "양평역대우미래사랑아파트"가 매칭이 되고, "양평역대우미래사랑아파트/poi 가+자" 패턴이 최종적으로 선택된다. 따라서, 최종적으로 의미 객체를 인식한 결과는 양평역대우미래사랑아파트/poi 가+자 이다.
3.4) 의미객체 태깅부: 챠트 파싱부에서 파싱에 성공했기 때문에 수행하지 않는다.
3.5) 의미 객체 인식 결과: 양평역대우미래사랑아파트/poi 가+자
4) 슬롯 및 대화행위 인식 결과: <dest=양평역대우미래사랑아파트> 가자 #navigate(dest=양평역대우미래사랑아파트)
위의 발화는 사용자가 원래 "양평역대우미래사랑아파트 가자"고 해야지 정확한 발화인데, "양평역대우미래사랑 가자" 라고 발화하였기 때문에, 부정확한 발화라고 할 수 있다. 하지만 의미 사전 퍼지매칭을 통해 정확한 슬롯을 인식하고 있다.
도 4는 본 발명의 일 실시 예에 따른 음성 언어 이해 방법의 절차를 나타내는 순서도로서, 아래의 각 단계의 설명에서, 도 1 및 도 2를 참조하여 설명한 부분과 중복된 부분은 생략 또는 간략히 설명하기로 한다.
도 4를 참조하면, 단계 S310에서, 입력 문장(또는 음성 인식 결과)의 형태소를 분석한다.
이어, 단계 S320에서, 상기 형태소를 분석한 결과를 어휘 기반으로 분석하여 대화행위를 인식한다. 여기서, 어휘의 품사는 동사일 수 있다. 인식된 대화행위는 #navigate() 또는 #play()와 같은 구조의 인식 코드로 표현(또는 생성)될 수 있다.
이어, 단계 S330에서, 의미 객체 사전(13)을 기반으로, 상기 의미 객체를 챠트 파싱과 퍼지 매칭을 이용하여 인식한다. 여기서, 상기 챠트 파싱은 어휘-의미 패턴 DB(33)를 기반으로 수행되고, 상기 퍼지 매칭은 의미 객체 사전 인덱스 DB(35)를 기반으로 수행될 수 있다.
또한 상기 단계 S330는 상기 챠트 파싱이 실패한 경우, 통계적인 기계 학습 방법에 의해 의미 객체를 인식하는 의미 객체 태깅 과정을 더 포함할 수 있다.
이어, 단계 S340에서, 상기 의미 객체의 기능적 역할에 해당하는 슬롯을 인식한다. 즉, 상기 의미 객체에 상기 슬롯을 태깅한다.
이어, 단계 S350에서, 상기 의미 객체를 포함하는 자질로 분류(classification)를 수행하여 대화행위를 의미 기반으로 인식한다.
이어, 단계 S360에서, 상기 단계 S350에서 의미 기반으로 인식된 대화행위와 상기 단계 S340에서 상기 의미 객체에 태깅된 슬롯을 조합하여 사용자 의도 후보를 생성한다.
이상에서 본 발명에 대하여 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (8)

  1. 대화 처리 시스템을 위한 강건한 음성 언어 이해 장치에서,
    입력 문장에 대한 형태소를 분석하는 형태소 분석부;
    상기 형태소를 분석한 결과에 대해, 의미 객체 사전을 이용하여 규칙 기반 파싱(parsing)과 퍼지 매칭(fuzzy-matching)을 수행하여 의미 객체를 인식하는 의미 객체 인식부;
    상기 의미 객체의 기능적 역할에 해당하는 슬롯을 인식하기 위한 슬롯 태깅부;
    상기 인식한 의미 객체를 포함한 정보를 포함하는 자질로 분류(classification)를 수행하여 대화행위를 의미 기반으로 인식하는 의미 기반 대화 행위 인식부; 및
    상기 의미 기반으로 인식한 대화행위와 상기 의미 객체에 태깅된 슬롯을 조합하여 사용자 의도 후보를 생성하는 사용자 의도 후보 생성부
    를 포함하는 음성 언어 이해 장치.
  2. 제1항에서,
    상기 의미 객체 인식부에 의해 수행되는 규칙 기반 파싱은,
    챠트 파싱(chart parsing) 기법인 것인 음성 언어 이해 장치.
  3. 제1항에서,
    상기 의미 객체 인식부에서 수행되는 퍼지 매칭은,
    검색 조건에 일치하는 매칭 결과뿐만 아니라 상기 검색 조건과 유사한 결과들에 대해 매칭을 수행하는 방법인 것인 음성 언어 이해 장치.
  4. 제1항에서,
    상기 슬롯 태깅부는,
    상기 의미 객체 인식부에서 인식한 의미 객체에 도메인 슬롯을 태깅하는 것인 음성 언어 이해 장치.
  5. 제1항에서,
    상기 의미 객체 인식부는,
    상기 규칙 기반 파싱(parsing)을 실패한 경우, 통계적인 기계 학습 방법을 이용하여 의미 객체를 인식하는 것인 음성 언어 이해 장치.
  6. 대화 처리 시스템을 위한 강건한 음성 언어 이해 장치에서의 처리 방법에서,
    입력 문장에 대한 형태소를 분석하는 단계;
    상기 형태소를 분석한 결과에 대해, 의미 객체 사전을 이용하여 챠트 파싱(parsing)과 퍼지 매칭(fuzzy-matching)을 수행하여 의미 객체를 인식하는 단계;
    상기 인식한 의미 객체에 도메인 슬롯을 태깅하는 단계;
    상기 인식한 의미 객체를 포함하는 자질로 분류(classification)를 수행하여 대화 행위를 의미 기반으로 인식하는 단계; 및
    상기 의미 기반으로 인식한 대화 행위와 상기 의미 객체에 태깅된 도메인 슬롯을 조합하여 사용자 의도 후보를 생성하는 단계;
    를 포함하는 음성 언어 이해 장치에서의 처리 방법.
  7. 제6항에서,
    상기 의미 객체를 인식하는 단계에서,
    상기 챠트 파싱은 어휘-의미 패턴 데이터베이스를 기반으로 수행되고,
    상기 퍼지 매칭은 의미 객체 사전 인덱스 데이터베이스를 기반으로 수행되는 것인 음성 언어 이해 장치에서의 처리 방법.
  8. 제6항에서,
    상기 의미 객체를 인식하는 단계는,
    상기 챠트 파싱(parsing)을 실패한 경우, 통계적인 기계 학습 방법을 이용하여 상기 의미 객체를 인식하는 단계인 것인 음성 언어 이해 장치에서의 처리 방법.
KR1020160010618A 2016-01-28 2016-01-28 음성 언어 이해 장치 및 방법 KR102267561B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160010618A KR102267561B1 (ko) 2016-01-28 2016-01-28 음성 언어 이해 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160010618A KR102267561B1 (ko) 2016-01-28 2016-01-28 음성 언어 이해 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170090127A KR20170090127A (ko) 2017-08-07
KR102267561B1 true KR102267561B1 (ko) 2021-06-22

Family

ID=59653938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160010618A KR102267561B1 (ko) 2016-01-28 2016-01-28 음성 언어 이해 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102267561B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868725B2 (en) 2020-01-02 2024-01-09 Samsung Electronics Co., Ltd. Server, client device, and operation methods thereof for training natural language understanding model

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10902211B2 (en) 2018-04-25 2021-01-26 Samsung Electronics Co., Ltd. Multi-models that understand natural language phrases
CN108829797A (zh) * 2018-04-25 2018-11-16 苏州思必驰信息科技有限公司 多智能体对话策略系统构建方法及自适应方法
US11036926B2 (en) 2018-05-21 2021-06-15 Samsung Electronics Co., Ltd. Generating annotated natural language phrases
CN112735418B (zh) * 2021-01-19 2023-11-14 腾讯科技(深圳)有限公司 一种语音交互的处理方法、装置、终端及存储介质
CN113591470A (zh) * 2021-06-24 2021-11-02 海信视像科技股份有限公司 一种语义理解方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015151157A1 (ja) 2014-03-31 2015-10-08 三菱電機株式会社 意図理解装置および方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000051760A (ko) * 1999-01-26 2000-08-16 구자홍 연속 음성 인식 시스템에 있어서 유사 형태소의 단위 선정 방법
KR20080028655A (ko) * 2006-09-27 2008-04-01 한국전자통신연구원 품사 태깅 장치 및 태깅 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015151157A1 (ja) 2014-03-31 2015-10-08 三菱電機株式会社 意図理解装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868725B2 (en) 2020-01-02 2024-01-09 Samsung Electronics Co., Ltd. Server, client device, and operation methods thereof for training natural language understanding model

Also Published As

Publication number Publication date
KR20170090127A (ko) 2017-08-07

Similar Documents

Publication Publication Date Title
KR102267561B1 (ko) 음성 언어 이해 장치 및 방법
Ghannay et al. End-to-end named entity and semantic concept extraction from speech
KR101309042B1 (ko) 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
US9589563B2 (en) Speech recognition of partial proper names by natural language processing
JP5167546B2 (ja) 文単位検索方法、文単位検索装置、コンピュータプログラム、記録媒体及び文書記憶装置
US8566076B2 (en) System and method for applying bridging models for robust and efficient speech to speech translation
US20140358544A1 (en) Systems and methods for adaptive proper name entity recognition and understanding
TW201606750A (zh) 使用外國字文法的語音辨識
JP2011154099A (ja) 音声認識装置で利用される音声認識用辞書、音声認識用言語モデルの学習方法
CN114817465A (zh) 一种用于多语言语义理解的实体纠错方法及智能设备
Sreeram et al. Exploration of end-to-end framework for code-switching speech recognition task: Challenges and enhancements
EP3005152B1 (en) Systems and methods for adaptive proper name entity recognition and understanding
Rosso et al. On the voice-activated question answering
Alrumiah et al. Intelligent Quran Recitation Recognition and Verification: Research Trends and Open Issues
Hori et al. Deriving disambiguous queries in a spoken interactive ODQA system
CN113535925A (zh) 语音播报方法、装置、设备及存储介质
KR101134455B1 (ko) 음성 인식 장치 및 그 방법
Palmer et al. Robust information extraction from automatically generated speech transcriptions
KR101559576B1 (ko) 모바일 대화 시스템의 언어 인식 모듈을 위한 동시 인식 장치 및 방법
CN113763947B (zh) 一种语音意图识别方法、装置、电子设备及存储介质
Le et al. Automatic quality estimation for speech translation using joint ASR and MT features
CN112071304B (zh) 一种语意分析方法及装置
KR100908445B1 (ko) 응답 문장 생성 장치 및 방법
Sazhok et al. Punctuation Restoration for Ukrainian Broadcast Speech Recognition System based on Bidirectional Recurrent Neural Network and Word Embeddings.
Ariaratnam et al. A shallow parser for Tamil

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant