KR101649911B1 - 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 - Google Patents
확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 Download PDFInfo
- Publication number
- KR101649911B1 KR101649911B1 KR1020100000271A KR20100000271A KR101649911B1 KR 101649911 B1 KR101649911 B1 KR 101649911B1 KR 1020100000271 A KR1020100000271 A KR 1020100000271A KR 20100000271 A KR20100000271 A KR 20100000271A KR 101649911 B1 KR101649911 B1 KR 101649911B1
- Authority
- KR
- South Korea
- Prior art keywords
- input set
- extended
- domain
- language
- user
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 241000251468 Actinopterygii Species 0.000 claims description 20
- 230000014509 gene expression Effects 0.000 claims description 7
- 241000894007 species Species 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 5
- 241001446467 Mama Species 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
사람과 자연어로 대화하는 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식방법을 개시한다. 실제 사용자에 의해 입력된 대화의 패턴이 전문가가 예측한 대화 패턴과 다를 경우가 발생하면 사용자 입력을 바탕으로 실시간으로 생성한 확장 도메인을 이용하거나 사전에 생성된 확장 도메인을 이용하여 사용자와 대화한다.
Description
본 발명은 사람이 사용하는 자연어로 대화하는 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법에 관한 것이다.
인간의 기본적인 의사소통 수단은 언어이다. 로봇이나 Automatic Response System(ARS) 서비스 등과 같이 사람과 의사 소통하는 기기에 있어 자연어 인식은 최근의 중요한 화두이다.
사람이 사용하는 모든 자연어를 완전히 이해하여 그에 맞게 응답하는 것은 매우 어렵다. 그래서 모든 자연어를 의미있는 언어로 변환하여 활용하는 것은 어려우므로 전문가에 의해 사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 정리하여 만든 집단(이하 도메인이라 함) 안에서만 자연어를 의미있는 언어로 변환하여 활용하고 있다. 예를 들어 전문가가 "Where is my cup?" 이라는 입력 세트를 포함하는 도메인을 구성한 경우 사용자가 실제 "Where is my mug?"라는 입력 세트를 입력할 때, 이 입력 세트가 도메인에 존재하지 않아 그 의미를 이해하지 못할 수 있다. 이와 같이 실제 사용자에 의해 입력된 대화의 패턴이 전문가가 예측한 대화 패턴과 다를 수 있기 때문에 대화 시스템에서의 자연어 인식률이 저하된다.
본 발명의 일 측면은 확장 도메인을 이용하여 사용자와 대화함으로써 자연어의 인식률을 높일 수 있는 대화 시스템 및 그 인식 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법은, 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하고; 사용자와 대화 이전에 생성된 초기 도메인의 입력 세트와 사용자와 대화 시 생성하는 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하고; 상기 언어 이해된 결과를 바탕으로 응답 문장을 만들고; 상기 응답 문장을 사용자 언어로 생성하는 것;을 포함한다.
상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하지 않을 때 상기 확장 도메인을 생성하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
상기 확장 도메인의 생성은 상기 파싱 처리된 입력 세트를 구성하는 임의 단어에 관련된 어종 데이터를 이용하여 확장 입력 세트를 만드는 것을 포함한다.
상기 어종 데이터는 임의 단어에 관련된 동의어와 유의어와 상의어 중 적어도 어느 하나를 포함하고, 상기 확장 입력 세트를 만드는 것은 상기 파싱 처리된 입력 세트의 적어도 하나의 단어를 어종 데이터로 바꾸는 것을 포함한다.
상기 생성되는 확장 도메인의 크기를 제한하기 위해 상기 확장 입력 세트에 가중치를 부여하고, 상기 확장 세트에 부여된 가중치가 설정값 보다 크면 확장 도메인의 생성을 중단시키는 것을 더 포함한다.
상기 파싱 처리된 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 가중치를 차별되게 부여한다.
상기 파싱 처리된 입력 세트에 대해 임의 단어를 동의어로 바꾸어 생성한 확장 입력 세트 보다 유의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하고, 상기 유의어로 바꾸어 생성한 확장 입력 세트 보다 상의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여한다.
본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법은, 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하고; 사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 예측하여 만든 초기 입력 세트와 상기 초기 입력 세트의 어종 데이터를 이용하여 생성할 수 있는 확장 입력 세트를 포함하는 확장 도메인을 사용자와 대화 이전에 생성하고, 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하고; 상기 언어 이해된 결과를 바탕으로 응답 문장을 만들고; 상기 응답 문장을 사용자 언어로 생성하는 것;을 포함한다.
본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템은, 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하는 언어 파서와; 사용자와 대화 이전에 생성된 입력 세트를 포함하는 초기 도메인과 사용자와 대화 시 생성하는 확장 입력 세트를 포함하는 확장 도메인을 가지고, 상기 초기 도메인의 입력 세트 또는 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하는 언어 이해부와; 상기 언어 이해부에 의해 언어 이해된 결과를 바탕으로 응답 문장을 만드는 대화 관리기와; 상기 응답 문장을 사용자 언어로 생성하는 언어 생성기;를 포함한다.
상기 언어 이해부가 상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하는지 판단하는 초기 도메인 비교기와, 상기 확장 도메인에 상기 파싱 처리된 입력 세트를 포함하는지 판단하는 확장 도메인 비교기를 더 포함하고, 상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하지 않으면, 상기 확장 도메인 비교기가 상기 확장 도메인의 생성을 요구한다.
상기 언어 이해부가 파싱 처리된 입력 세트를 구성하는 임의 단어에 관련된 어종 데이터를 가지는 관련 단어 뱅크와, 상기 어종 데이터를 이용하여 확장 입력 세트를 생성하는 입력 세트 생성기와, 상기 확장 도메인의 생성 요구에 따라 상기 입력 세트 생성기에 상기 확장 입력 세트의 생성을 요구하는 확장 도메인 생성기를 더 포함한다.
상기 어종 데이터는 임의 단어에 관련된 동의어와 유의어와 상의어 중 적어도 어느 하나를 포함하고, 상기 입력 세트 생성기가 상기 파싱 처리된 입력 세트의 적어도 하나의 단어를 상기 어종 데이터로 바꾼다.
상기 언어 이해부가 상기 확장 도메인의 크기를 제한하는 도메인 제한기를 더 포함하고, 상기 도메인 제한기가 확장 입력세트에 가중치를 부여하고, 상기 확장 도메인 생성기가 확장 입력세트에 부여된 가중치가 설정값 보다 크면 상기 입력 세트 생성기에 확장 입력 세트의 생성 중단을 요구한다.
상기 도메인 제한기가 파싱 처리된 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 가중치를 차별되게 부여한다.
상기 도메인 제한기가 상기 파싱 처리된 입력 세트에 대해 임의 단어를 동의어로 바꾸어 생성한 확장 입력 세트 보다 유의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하고, 상기 유의어로 바꾸어 생성한 확장 입력 세트 보다 상의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여한다.
본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템은, 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하는 언어 파서와; 사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 예측하여 만든 초기 입력 세트와 상기 초기 입력 세트의 어종 데이터를 이용하여 생성할 수 있는 확장 입력 세트를 포함하는 확장 도메인을 사용자와 대화 이전에 생성해 두고, 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하는 언어 이해부와; 상기 언어 이해부에 의해 언어 이해된 결과를 바탕으로 응답 문장을 만드는 대화 관리기와; 상기 응답 문장을 사용자 언어로 생성하는 언어 생성기;를 포함한다.
이와 같은 실시 예에 따르면 실제 사용자에 의해 입력된 대화의 패턴이 전문가가 예측한 대화 패턴과 다른 경우가 발생하여도 사용자 입력을 바탕으로 실시간으로 생성한 확장 도메인을 이용하거나 미리 생성한 확장 도메인을 이용하여 사용자와 대화하므로 대화 시스템의 자연어 인식률을 높일 수 있다.
도 1은 본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 구성도이다.
도 2는 본 발명의 실시 예에 따른 초기 도메인에 존재하는 입력 세트를 설명하기 위한 도면이다.
도 3a 및 도 3b는 본 발명의 실시 예에 따른 입력 세트의 임의 단어에 관련된 어종 데이터를 예시적으로 설명하기 위한 표이다.
도 4a 내지 도 4d는 본 발명의 실시 예에 따른 확장 도메인을 만들기 위한 확장 입력 세트를 생성하는 것을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 확장 입력세트의 확장 유형과 가중치를 예시적으로 설명하기 위한 표이다.
도 6은 본 발명의 실시 예에 따른 확장 도메인의 범위를 모식적으로 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 구성도이다.
도 9는 본 발명의 다른 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시 예에 따른 초기 도메인에 존재하는 입력 세트를 설명하기 위한 도면이다.
도 3a 및 도 3b는 본 발명의 실시 예에 따른 입력 세트의 임의 단어에 관련된 어종 데이터를 예시적으로 설명하기 위한 표이다.
도 4a 내지 도 4d는 본 발명의 실시 예에 따른 확장 도메인을 만들기 위한 확장 입력 세트를 생성하는 것을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 확장 입력세트의 확장 유형과 가중치를 예시적으로 설명하기 위한 표이다.
도 6은 본 발명의 실시 예에 따른 확장 도메인의 범위를 모식적으로 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 구성도이다.
도 9는 본 발명의 다른 실시 예에 따른 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법을 설명하기 위한 흐름도이다.
이하 본 발명의 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
자연어로 대화하는 대화 시스템에 있어 음성 인식을 바탕으로 인식된 언어를 이해하여 대화를 진행하거나 키보드를 통한 문자 입력으로 사용자가 전달하고자 하는 개념을 기반으로 대화를 진행한다.
도 1에 도시한 바와 같이, 본 발명의 실시 예에 따른 확장 도메인을 이용한 대화 시스템(10)은 음성 인식기(100), 언어 파서(101), 언어 이해부(102), 대화 관리기(111), 언어 생성기(112)를 포함한다.
음성 인식기(100)는 마이크로폰을 통해 입력된 사용자의 음성을 음성 데이터로 변환하여 언어 파서(101)에 제공한다.
언어 파서(101)는 음성 데이터를 입력받아 음절 단위로 분해하여 입력 세트를 만들기 위해 파싱 처리하고 파싱 처리에 의해 얻어진 입력 세트를 언어 이해부(102)에 제공한다.
사용자 입력은 음성으로 한정되는 것은 아니고, 음성 인식기(100)를 거치지 않고 키보드로 사용자에 의해 입력된 문자열을 이용하여 언어 파서(101)가 입력 세트를 만들어 제공하는 것도 가능하다.
언어 이해부(102)가 파싱 처리된 입력 세트에 기반하여 사용자에 의해 입력된 언어를 이해하고, 이해 결과를 대화 관리기(111)에 제공한다. 대화 관리기(111)는 언어의 이해 결과를 바탕으로 대화를 규정하는 응답 문장을 만들어 언어 생성기(112)에 제공하고, 그 언어 생성기(112)가 응답 문장에 대응하는 언어를 생성한다. 이후 언어 생성기(112)에 의해 생성된 언어를 스피커로 음성 출력하여 사람과 대화를 한다. 이때 음성 출력과 동시 또는 별도로 문자열로 디스플레이하여 사용자와 대화할 수 있다.
언어 이해부(102)가 파싱된 입력 세트로 언어 이해하는데 있어, 그 입력 세트가 초기 도메인(104)에 존재하거나 초기 도메인(104)에 존재하지 않을 수 있다. 여기서 초기 도메인(104)은 사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 정리하여 만든 입력 세트들을 가지고 있으며, 예를 들어 도 2와 같은 입력 세트(20)가 전문가에 의해 사전에 생성되어 있다.
사용자의 대화 패턴이 전문가에 의해 예측된 대화 패턴과 다를 수 있고 이 때문에 파싱 처리된 입력 세트가 초기 도메인(104)에 존재하지 않을 수 있다. 이 경우 언어 이해부(102)의 관련 단어 뱅크(108)를 이용하여 생성한 입력 세트들로 확장 도메인(110)을 만들고, 그 확장 도메인(110)에 존재하는 입력 세트로 사용자에 의해 입력된 언어를 이해한다.
관련 단어 뱅크(108)는 임의 단어의 어종 데이터(동의어, 유의어, 상의어)에 따라 구축된 데이터베이스를 포함한다. 여기서 동의어는 임의 단어와 동일한 의미를 가져 대체할 수 있고, 유의어는 임의 단어를 대체할 수 있는 것은 아니나 임의 단어를 직접적으로 유추할 수 있는 의미를 갖는 하위 개념의 단어를 포함하고, 상의어는 임의 단어를 간접적으로 유추할 수 있는 의미를 갖는 상위 개념의 단어를 포함하는 것이다.
예를 들어 "Cup"에 관련된 어종 데이터(30)는, 도 3a에 도시한 바와 같이 "Cup"의 동의어로서 등록된 정보가 없으며, "Cup"의 유의어로서 "coffee cup"과 "teacup"이 등록되고, "Cup"의 상의어로서 "dishware", "tableware", "container"가 등록된 경우의 예이다. 다른 예로서 "Mother"에 관련된 어종 데이터(31)는, 도 3b에 도시한 바와 같이 "Mother"의 동의어로서 "femail parent"가 등록되고, "Mother"의 유의어로서 "mama"와 "mater"가 등록되고, "Mother"의 상의어로서 등록된 정보는 없는 것임을 알 수 있다.
입력세트 생성기(109)는 확장 도메인 생성기(106)의 요구에 따라 관련 단어 뱅크(108)로부터 어종 데이터를 제공받아 도메인 확장에 필요한 입력세트를 생성한다. 생성된 입력 세트로 확장 도메인(110)을 생성한다.
입력세트 생성기(109)가 입력세트를 생성하는 방법을 예시하여 설명한다.
도 4a와 같이 입력 세트(20)의 단어 "mother"를 동의어들 "femail parent"와 "mama"로 각각 바꾸어 2개의 확장 입력 세트(21)(22)를 생성할 수 있다. 또한 도 4b와 같이 입력 세트(20)의 단어 "cup"을 유의어들 "coffee cup"과 "teacup"으로 각각 바꾸어 2개의 확장 입력 세트(23)(24)를 생성할 수 있고, 도 4c와 같이 입력 세트(20)의 단어 "cup"을 상의어들 "dishware"와 "container" 로 각각 바꾸어 2개의 확장 입력 세트(25)(26)를 생성할 수 있다.
또한 입력 세트(20)에 포함된 둘 이상의 단어를 바꿀 수 있으며, 도 4d와 같이 입력 세트(20)의 중 단어 "cup"을 유의어 "coffee cup"으로 바꾸고 이와 함께 단어 "mother"에 대해 동의어 "femail parent"와 "mama"로 각각 바꾸어 2개의 확장 입력 세트(27)(28)를 생성할 수 있다.
입력세트 생성기(109)가 관련 단어 뱅크(108)로부터 제공되는 어종 데이터를 이용하여 입력 세트를 생성하는 과정으로 과도하게 많은 입력 세트가 생성될 수 있으므로 적절하게 제한할 필요가 있다. 이를 위해 도메인 제한기(107)가 확장 도메인(110)에 존재하는 입력 세트들이 너무 많아지지 않도록 확장 도메인(110)의 크기를 제한한다.
도메인 제한기(107)는 사용자 입력으로 만든 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 도 5와 같이 확장 유형을 구분하고, 그 확장 유형에 따라 가중치를 부여한다. 이때 입력 세트로 만든 확장 입력 세트의 변화 정도는 부여된 가중치로 알 수 있다.
여기서 확장 입력 세트에서 바뀐 부분이 바뀌기 이전의 의미에 가까우면 작은 가중치를 부여하고, 확장 입력 세트에서 바뀐 부분이 바뀌기 이전의 의미와 차이가 많으면 큰 가중치를 부여하도록 한다. 예를 들어 동의어로 바꾸어 확장 입력 세트를 생성 시 가중치 1을 더하고, 유의어로 바꾸어 확장 입력 세트를 생성 시 가중치 2를 더하고, 상의어로 바꾸어 확장 입력 세트를 생성 시 가중치 3을 더하는 방식으로 가중치를 부여할 수 있다.
도 5에 도시한 바와 같이, 초기 도메인(104)의 입력 세트(20)에 대해 각각의 확장 유형에 따라 생성된 확장 입력 세트들(21)(22)(23)(24)(25)(26)(27)(28) 각각에 해당하는 가중치가 부여되어 있으며, 그 가중치 합계가 크면 바뀐 부분이 많고 가중치 합계가 작으면 바뀐 부분이 상대적으로 적은 것임을 예측할 수 있다.
확장 입력 세트에 대해 가중치가 부여되므로, 부여된 가중치와 도메인을 제한하기 위한 설정값을 비교하여 확장 도메인(110)의 크기를 제한할 수 있다. 즉, 가중치 합계가 설정값 이내인 입력 세트는 확장 도메인(110)에 포함시키는 한편 가중치 합계가 설정값 보다 큰 입력 세트는 확장 도메인(110)에 포함시키지 않음으로서 확장 도메인(110)의 크기를 제한할 수 있는 것이다. 이에 따라 확장 도메인(110)은 가중치 합계가 설정값 이내인 입력 세트만으로 구성할 수 있다. 예를 들어
확장 도메인(110)의 크기를 제한하기 위해 설정값을 3으로 정한 경우 가중치 합계가 4인 1개의 입력 세트(28)를 제외하고 나머지 7개 입력 세트들(21)(22)(23)(24)(25)(26)(27)만으로 확장 도메인(110)을 생성한다. 다른 예로서 확장 도메인(110)의 크기를 제한하기 위해 설정값을 6으로 정하면 가중치 합계가 설정값 보다 작은 8개 입력 세트들(21)(22)(23)(24)(25)(26)(27)(28) 모두가 확장 도메인(110)에 포함된다.
가중치에 의해 제한된 확장 도메인(110)의 범위(ED)는 도 6과 같이 모식적으로 나타낼 수 있다. 여기서 확장 도메인(110)의 범위(ED)는 설정값을 6으로 설정한 경우의 예로서, 임의 단어(K)에 대해 가중치가 1인 동의어로 연달아 바꾸어 6단계 확장할 수 있다. 연달아 바꾸는 것은 한 번 바뀌어진 동의어에 대해 다른 동의어로 바꾸는 것을 의미한다. 또한 가중치가 2인 유의어로 연달아 바꾸어 3단계 확장하거나 가중치가 3인 상의어로 연달아 바꾸어 2단계 확장이 가능하다. 가중치 합계가 6을 초과하지 않는 조건에서 동의어와 유의어 및 상의어를 혼합하여 확장할 수 있다.
확장 도메인(110)의 범위(ED)는 제1유의어 방향(B1)과 제1상의어 방향(C1)보다 가중치가 상대적으로 작게 부여되는 제1동의어 방향(A1)과 제2동의어 방향(A2)으로 더 넓어진다. 즉, 임의 단어(K)에 관련된 단어(동의어, 유의어, 상의어) 각각의 방향으로 일정하게 넓어진 도메인(D)에 비하여 가중치를 고려하여 생성한 확장 도메인(110)의 범위(ED)가 동의어 방향으로 더 많이 넓어지며, 도메인(D)에 포함되지 않는 입력 세트가 해칭 부분(H)에 포함된다.
확장 도메인(110)의 범위(ED)가 동의어 방향으로 더 넓기 때문에 사용자의 입력 대화패턴이 예측된 대화패턴을 벗어나더라도 사용자의 입력 패턴에 의미상 더 가까운 입력 세트를 포함할 수 있고 도메인 크기는 작게 할 수 있다.
이하에서는 본 발명에 따른 확장 도메인을 이용한 대화 시스템의 동작을 설명한다.
도 7을 참고하여, 대화를 원하는 사용자가 음성 입력을 한다(201). 그러면 음성 인식기(100)가 입력 음성 신호를 음성 데이터로 변환하여 언어 파서(101)에 제공한다. 사용자 입력은 음성으로만 한정하는 것은 아니며 실시 예에서 기술하고 있지 않으나 대화를 원하는 사용자가 키보드를 통해 문자열을 입력하여 언어 파서(101)에 제공할 수도 있다.
음성 데이터를 제공받으면(203의 예) 언어 파서가(101)가 제공된 음성 데이터로 음성 인식하고, 음성 데이터를 파싱 처리하여 음절 단위로 분해하여 입력 세트를 만들어 초기 도메인 비교기(103)에 제공한다(205)(207).
초기 도메인 비교기(103)가 초기 도메인(104)에 파싱 처리된 입력 세트를 포함하는지 판단하고(209), 초기 도메인(104)에 파싱 처리된 입력 세트가 있으면(209의 예), 그 입력 세트를 바탕으로 언어 이해하고 언어 이해 결과를 대화 관리기(111)에 제공한다. 그러면 대화 관리기(111)가 대화를 규정하는 응답 문장을 만들어 언어 생성기(112)에 제공하고, 그 언어 생성기(112)가 응답 문장에 따라 사용자와 대화하기 위한 언어로 만든다(219). 이후 스피커로 음성 출력하여 언어 생성기(112)에 의해 만들어진 언어로 발화하면서 대화한다(221). 여기서 음성 출력과 동시 또는 별도로 언어 생성기(112)로 만든 언어를 문자열로 디스플레이하여 사용자와 대화할 수도 있다.
초기 도메인(104)에 파싱 처리된 입력 세트가 없으면(209의 아니오), 확장 도메인 비교기(105)가 파싱 처리된 입력 세트를 확장 도메인 생성기(106)에 제공하고 아울러 도메인 확장을 요구한다. 이에 따라 확장 도메인 생성기(106)가 입력 세트 생성기(109)에 확장 도메인을 만들기 위한 입력 세트의 생성을 요구한다. 입력 세트 생성기(109)는 파싱 처리된 입력 세트를 구성하는 각각의 단어에 대해 관련 단어 뱅크(108)에서 제공받은 동의어, 유의어, 상의어를 바탕으로 확장 입력 세트를 생성한다. 즉, 도 4a 내지 도 4d에 도시한 바와 같이, 동의어와 유의어와 상의어를 이용하여 확장 입력 세트를 생성하고, 생성된 확장 입력 세트로 확장 도메인(110)을 만든다(211).
도메인 제한기(107)가 생성된 확장 입력 세트에 대해 가중치를 부여하고 그 부여된 가중치 정보를 확장 도메인 생성기(106)에 제공한다. 여기서 가중치 정보는 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 확장 유형을 구분하고, 그 확장 유형에 따라 부여된 가중치를 포함한다. 확장된 입력 세트에 부여된 가중치로 입력 세트의 변화 정도를 알 수 있다. 여기서 입력 세트에서 바뀐 부분이 바뀌기 이전의 의미에 가까우면 작은 가중치를 부여하고, 입력 세트에서 바뀐 부분이 바뀌기 이전의 의미와 차이가 크면 큰 가중치를 부여한다(213).
확장 도메인 생성기(106)가 도메인 제한기(107)로부터 제공받은 가중치 정보에 따라 확장 도메인(110)의 크기를 제한할 필요가 있는지 판단한다. 즉, 입력 세트 생성기(109)에 의해 생성되는 입력 세트에 부여된 가중치 합계가 설정값 이내이면(215의 아니오) 도메인 확장을 계속한다. 입력 세트 생성기(109)에 의해 생성되는 입력 세트에 부여된 가중치 합계가 설정값 보다 크면 확장 도메인(110)의 크기를 제한할 필요가 있다고 인식하고(215의 예) 입력 세트 생성기(109)에 입력 세트의 생성 중단을 요구한다. 그러면 입력 세트 생성기(109)가 입력 세트의 생성을 중단한다.
확장 도메인(110)을 생성한 후 확장 도메인 비교기(105)가 확장 도메인(110)에 파싱 처리된 입력 세트를 포함하는지 판단한다(217). 확장 도메인(110)에 파싱 처리된 입력 세트가 있으면(217의 예), 확장 도메인 비교기(105)가 입력 세트를 바탕으로 언어 이해하고 그 언어 이해 결과를 대화 관리기(111)에 제공한다. 그러면 대화 관리기(111)가 대화를 규정하는 응답 문장을 만들어 언어 생성기(112)에 제공하고, 그 언어 생성기(112)가 응답 문장에 따라 사용자와 대화하기 위한 언어를 만든다(219). 이렇게 언어 생성기(112)에 의해 만든 언어를 스피커로 음성 출력하여 발화한다(221). 여기서 음성 출력과 동시 또는 별도로 언어 생성기(112)로 만든 언어를 문자열로 디스플레이하여 사용자와 대화할 수도 있다.
확장 도메인(110)에 파싱 처리된 입력 세트가 없으면(217의 아니오), 대화 시스템(10)은 사용자의 입력을 무시하여 종료한 후 사용자로부터 다음 음성 입력을 대기한다.
지금까지 설명한 실시 예는 사용자의 음성 입력에 대해 확장 도메인을 실시간으로 생성하여 대화하는 경우의 예를 설명하고 있으나, 이후 설명하는 다른 실시 예에서와 같이 확장 도메인을 미리 생성해 두고 이를 바탕으로 대화할 수 있다.
도 8에 도시한 바와 같이, 본 발명의 다른 실시 예에 따른 확장 도메인을 이용한 대화 시스템(11)은 음성 인식기(100), 언어 파서(101), 언어 이해부(122), 대화 관리기(111), 언어 생성기(112)를 포함하며, 앞서 설명한 실시 예와 비교하여 언어 이해부(122)을 제외한 다른 구성 요소는 실질적으로 동일하므로 동일 부호를 인용하여 설명한다.
언어 이해부(122)는 확장 도메인 비교기(123)와 확장 도메인(124)을 포함한다.
확장 도메인(124)은 사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 예측하여 만든 초기 입력 세트와 그 초기 입력 세트의 어종 데이터(동의어, 유의어, 상의어)를 이용하여 생성할 수 있는 확장 입력 세트를 더 포함한다. 이러한 확장 도메인(124)은 사전에 생성해 둔다. 그러면 사용자와 대화할 때 확장 도메인 비교기(123)가 확장 도메인(124)에 있는 입력 세트로 언어 이해를 한다. 이후 언어 이해를 바탕으로 대화를 규정하는 언어를 생성하여 음성 출력하여 사용자와 대화할 수 있다.
도 9를 참고하여, 확장 도메인(124)을 사전에 생성해 두고(301), 사용자로부터 음성을 입력받는다(303). 음성 인식기(100)가 입력 음성 신호를 음성 데이터로 변환하여 언어 파서(101)에 제공한다. 이때 사용자에 의해 키보드로 문자열을 입력하여 언어 파서(101)에 제공할 수도 있다.
음성 데이터가 있으면(305의 예) 언어 파서(101)가 음성 데이터를 바탕으로 음성 인식하고, 음성 데이터를 파싱 처리하여 만든 입력 세트를 확장 도메인 비교기(213)에 제공한다(307)(309).
확장 도메인 비교기(213)는 확장 도메인(124)에 파싱 처리된 입력 세트를 포함하는지 판단한다(311).
확장 도메인(124)에 파싱 처리된 입력 세트가 있으면(311의 예), 그 입력 세트를 바탕으로 언어 이해하고 그 언어 이해 결과를 대화 관리기(111)에 제공한다. 그러면 대화 관리기(111)가 대화를 규정하는 응답 문장을 만들어 언어 생성기(112)에 제공하고, 그 응답 문장에 따라 언어 생성기(112)가 사용자 언어를 만들고(313), 언어 생성기(112)로 만든 사용자 언어를 스피커로 음성 출력하여 발화한다(315). 여기서 음성 출력과 동시 또는 별도로 언어 생성기(112)로 만든 언어를 문자열로 디스플레이하여 사용자와 대화할 수도 있다.
Claims (16)
- 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하고;
사용자와 대화 이전에 생성된 초기 도메인의 입력 세트와 사용자와 대화 시 생성하는 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하고;
상기 언어 이해된 결과를 바탕으로 응답 문장을 만들고;
상기 응답 문장을 사용자 언어로 생성하는 것;을 포함하고,
상기 확장 도메인의 생성은 상기 파싱 처리된 입력 세트를 구성하는 임의 단어에 관련된 동의어, 유의어, 및 상의어 중 적어도 하나를 포함하는 어종 데이터를 이용하여 확장 입력 세트를 만드는 것을 포함하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 제1항에 있어서,
상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하지 않을 때 상기 확장 도메인을 생성하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 삭제
- 제1항에 있어서,
상기 확장 입력 세트를 만드는 것은 상기 파싱 처리된 입력 세트의 적어도 하나의 단어를 어종 데이터로 바꾸는 것을 포함하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 제4항에 있어서,
상기 생성되는 확장 도메인의 크기를 제한하기 위해 상기 확장 입력 세트에 가중치를 부여하고,
상기 확장 입력 세트에 부여된 가중치가 설정값 보다 크면 확장 도메인의 생성을 중단시키는 것을 더 포함하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 제5항에 있어서,
상기 파싱 처리된 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 가중치를 차별되게 부여하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 제6항에 있어서,
상기 파싱 처리된 입력 세트에 대해 임의 단어를 동의어로 바꾸어 생성한 확장 입력 세트 보다 유의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하고, 상기 유의어로 바꾸어 생성한 확장 입력 세트 보다 상의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하고;
사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 예측하여 만든 초기 입력 세트와 상기 초기 입력 세트의 어종 데이터를 이용하여 생성할 수 있는 확장 입력 세트를 포함하는 확장 도메인을 사용자와 대화 이전에 생성하고, 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하고;
상기 언어 이해된 결과를 바탕으로 응답 문장을 만들고;
상기 응답 문장을 사용자 언어로 생성하는 것;을 포함하고,
상기 어종 데이터는 상기 초기 입력 세트를 구성하는 임의 단어에 관련된 동의어, 유의어, 및 상의어 중 적어도 하나를 포함하는 확장 도메인을 이용한 대화 시스템의 자연어 인식 방법.
- 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하는 언어 파서와;
사용자와 대화 이전에 생성된 입력 세트를 포함하는 초기 도메인과 사용자와 대화 시 생성하는 확장 입력 세트를 포함하는 확장 도메인을 가지고, 상기 초기 도메인의 입력 세트 또는 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하는 언어 이해부와;
상기 언어 이해부에 의해 언어 이해된 결과를 바탕으로 응답 문장을 만드는 대화 관리기와;
상기 응답 문장을 사용자 언어로 생성하는 언어 생성기;를 포함하고,
상기 언어 이해부는 상기 파싱 처리된 입력 세트를 구성하는 임의 단어에 관련된 동의어, 유의어, 및 상의어 중 적어도 하나를 포함하는 어종 데이터를 이용하여 상기 확장 입력 세트를 생성하는 확장 도메인을 이용한 대화 시스템.
- 제9항에 있어서,
상기 언어 이해부가 상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하는지 판단하는 초기 도메인 비교기와, 상기 확장 도메인에 상기 파싱 처리된 입력 세트를 포함하는지 판단하는 확장 도메인 비교기를 더 포함하고,
상기 초기 도메인에 상기 파싱 처리된 입력 세트를 포함하지 않으면, 상기 확장 도메인 비교기가 상기 확장 도메인의 생성을 요구하는 확장 도메인을 이용한 대화 시스템.
- 제10항에 있어서,
상기 언어 이해부가 파싱 처리된 입력 세트를 구성하는 임의 단어에 관련된 상기 어종 데이터를 가지는 관련 단어 뱅크와, 상기 어종 데이터를 이용하여 확장 입력 세트를 생성하는 입력 세트 생성기와, 상기 확장 도메인의 생성 요구에 따라 상기 입력 세트 생성기에 상기 확장 입력 세트의 생성을 요구하는 확장 도메인 생성기를 더 포함하는 확장 도메인을 이용한 대화 시스템.
- 제11항에 있어서,
상기 입력 세트 생성기가 상기 파싱 처리된 입력 세트의 적어도 하나의 단어를 상기 어종 데이터로 바꾸는 확장 도메인을 이용한 대화 시스템.
- 제11항에 있어서,
상기 언어 이해부가 상기 확장 도메인의 크기를 제한하는 도메인 제한기를 더 포함하고,
상기 도메인 제한기가 확장 입력세트에 가중치를 부여하고, 상기 확장 도메인 생성기가 확장 입력세트에 부여된 가중치가 설정값 보다 크면 상기 입력 세트 생성기에 확장 입력세트의 생성 중단을 요구하는 확장 도메인을 이용한 대화시스템.
- 제13항에 있어서,
상기 도메인 제한기가 파싱 처리된 입력 세트에서 어떤 단어를 몇 개 바꾸는 가에 따라 가중치를 차별되게 부여하는 확장 도메인을 이용한 대화 시스템.
- 제13항에 있어서,
상기 도메인 제한기가 상기 파싱 처리된 입력 세트에 대해 임의 단어를 동의어로 바꾸어 생성한 확장 입력 세트 보다 유의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하고, 상기 유의어로 바꾸어 생성한 확장 입력 세트 보다 상의어로 바꾸어 생성한 확장 입력 세트에 큰 가중치를 부여하는 확장 도메인을 이용한 대화 시스템.
- 사용자의 음성 데이터를 음절 단위로 분해하여 입력 세트로 만드는 파싱 처리를 수행하는 언어 파서와;
사용 환경에서 필요한 의미들과 그에 해당하는 표현들을 예측하여 만든 초기 입력 세트와 상기 초기 입력 세트의 어종 데이터를 이용하여 생성할 수 있는 확장 입력 세트를 포함하는 확장 도메인을 사용자와 대화 이전에 생성해 두고, 상기 확장 도메인의 확장 입력 세트로 사용자 언어를 이해하는 언어 이해부와;
상기 언어 이해부에 의해 언어 이해된 결과를 바탕으로 응답 문장을 만드는 대화 관리기와;
상기 응답 문장을 사용자 언어로 생성하는 언어 생성기;를 포함하고,
상기 언어 이해부는 상기 초기 입력 세트를 구성하는 임의 단어에 관련된 동의어, 유의어, 및 상의어 중 적어도 하나를 포함하는 상기 어종 데이터를 이용하여 확장 입력 세트를 만드는 것을 포함하는 확장 도메인을 이용한 대화 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100000271A KR101649911B1 (ko) | 2010-01-04 | 2010-01-04 | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 |
US12/984,120 US8626490B2 (en) | 2010-01-04 | 2011-01-04 | Dialogue system using extended domain and natural language recognition method and computer-readable medium thereof |
US14/096,628 US9495958B2 (en) | 2010-01-04 | 2013-12-04 | Dialogue system using extended domain and natural language recognition method and computer-readable medium thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100000271A KR101649911B1 (ko) | 2010-01-04 | 2010-01-04 | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110080096A KR20110080096A (ko) | 2011-07-12 |
KR101649911B1 true KR101649911B1 (ko) | 2016-08-22 |
Family
ID=44225218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100000271A KR101649911B1 (ko) | 2010-01-04 | 2010-01-04 | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8626490B2 (ko) |
KR (1) | KR101649911B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101649911B1 (ko) * | 2010-01-04 | 2016-08-22 | 삼성전자 주식회사 | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 |
US9335832B2 (en) * | 2011-12-23 | 2016-05-10 | Sap Se | Executing system actions corresponding to user inputs |
RU2530267C2 (ru) * | 2012-11-28 | 2014-10-10 | Общество с ограниченной ответственностью "Спиктуит" | Способ коммуникации пользователя с информационной диалоговой системой |
RU2530268C2 (ru) * | 2012-11-28 | 2014-10-10 | Общество с ограниченной ответственностью "Спиктуит" | Способ обучения информационной диалоговой системы пользователем |
KR102481881B1 (ko) | 2016-09-07 | 2022-12-27 | 삼성전자주식회사 | 외부 디바이스를 제어하는 서버 및 그 방법 |
KR20180058476A (ko) * | 2016-11-24 | 2018-06-01 | 삼성전자주식회사 | 다양한 입력 처리를 위한 방법, 이를 위한 전자 장치 및 서버 |
KR20210070623A (ko) * | 2019-12-05 | 2021-06-15 | 엘지전자 주식회사 | 사용자의 관심사를 추출하는 인공 지능 장치 및 그 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249018B2 (en) * | 2001-01-12 | 2007-07-24 | International Business Machines Corporation | System and method for relating syntax and semantics for a conversational speech application |
KR100679043B1 (ko) * | 2005-02-15 | 2007-02-05 | 삼성전자주식회사 | 음성 대화 인터페이스 장치 및 방법 |
US8041570B2 (en) * | 2005-05-31 | 2011-10-18 | Robert Bosch Corporation | Dialogue management using scripts |
KR100764174B1 (ko) * | 2006-03-03 | 2007-10-08 | 삼성전자주식회사 | 음성 대화 서비스 장치 및 방법 |
US8073681B2 (en) * | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7930302B2 (en) * | 2006-11-22 | 2011-04-19 | Intuit Inc. | Method and system for analyzing user-generated content |
EP2040250B8 (en) * | 2007-09-21 | 2011-09-28 | The Boeing Company | Spoken Vehicle control |
KR101649911B1 (ko) * | 2010-01-04 | 2016-08-22 | 삼성전자 주식회사 | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 |
-
2010
- 2010-01-04 KR KR1020100000271A patent/KR101649911B1/ko active IP Right Grant
-
2011
- 2011-01-04 US US12/984,120 patent/US8626490B2/en active Active
-
2013
- 2013-12-04 US US14/096,628 patent/US9495958B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20110166852A1 (en) | 2011-07-07 |
US20140095152A1 (en) | 2014-04-03 |
KR20110080096A (ko) | 2011-07-12 |
US9495958B2 (en) | 2016-11-15 |
US8626490B2 (en) | 2014-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101649911B1 (ko) | 확장 도메인을 이용한 대화 시스템 및 그 자연어 인식 방법 | |
KR102170563B1 (ko) | 인공 지능에 기반한 휴먼 머신 인터랙티브 방법 및 장치 | |
KR100807307B1 (ko) | 대화형 음성 인터페이스 시스템 및 그 응답 방법 | |
KR102445519B1 (ko) | 대화형 지능 서비스 제공 챗봇 제작 시스템 및 방법 | |
JP2017058673A (ja) | 対話処理装置及び方法と知能型対話処理システム | |
KR20220124295A (ko) | 제작자 제공 콘텐츠 기반 인터랙티브 대화 애플리케이션 테일링 | |
CN109102809A (zh) | 一种用于智能机器人的对话方法及系统 | |
Monaghan | Canalization of language structure from environmental constraints: A computational model of word learning from multiple cues | |
Graham et al. | Evaluating OpenAI's Whisper ASR: Performance analysis across diverse accents and speaker traits | |
CN118711577A (zh) | 用于联网系统的基于语音的接口 | |
CN106991123A (zh) | 一种面向智能机器人的人机交互方法及装置 | |
CN111128175B (zh) | 口语对话管理方法及系统 | |
JP2007148039A (ja) | 音声翻訳装置および音声翻訳方法 | |
KR20100081534A (ko) | 다중언어의 대화시스템 및 그 제어방법 | |
KR20210051523A (ko) | 도메인 자동 분류 대화 시스템 | |
JP2024529889A (ja) | ロバストな直接音声間翻訳 | |
KR20190083438A (ko) | 한국어 대화 장치 | |
JP2017091368A (ja) | 言い換え装置、方法、及びプログラム | |
JP6643077B2 (ja) | 対話システムおよびプログラム | |
McTear | Rule-Based Dialogue Systems: Architecture, Methods, and Tools | |
Charfuelan | MARY TTS HMMbased voices for the Blizzard Challenge 2012 | |
JPH10171485A (ja) | 音声合成装置 | |
KR20190096159A (ko) | 사용자 맞춤형 언어 모델을 생성하는 장치, 단말 및 방법 | |
JP7224278B2 (ja) | ユーザの発話文に対する応答文を推定する装置、プログラム及び方法 | |
Ayyash et al. | Artificial Intelligence based Assistant with Specialization in a Given Language |
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 | ||
FPAY | Annual fee payment |
Payment date: 20190730 Year of fee payment: 4 |