KR101763407B1 - 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법 - Google Patents

음성 대화 시스템 및 그 시스템에서의 음성 대화 방법 Download PDF

Info

Publication number
KR101763407B1
KR101763407B1 KR1020150143681A KR20150143681A KR101763407B1 KR 101763407 B1 KR101763407 B1 KR 101763407B1 KR 1020150143681 A KR1020150143681 A KR 1020150143681A KR 20150143681 A KR20150143681 A KR 20150143681A KR 101763407 B1 KR101763407 B1 KR 101763407B1
Authority
KR
South Korea
Prior art keywords
semantic
pattern
unit
word
entries
Prior art date
Application number
KR1020150143681A
Other languages
English (en)
Other versions
KR20170043955A (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 KR1020150143681A priority Critical patent/KR101763407B1/ko
Publication of KR20170043955A publication Critical patent/KR20170043955A/ko
Application granted granted Critical
Publication of KR101763407B1 publication Critical patent/KR101763407B1/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • 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)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

음성 대화 시스템 및 그 시스템에서의 음성 대화 방법이 개시된다.
이 시스템에서, 대화 이해부는 사용자로부터 입력되는 질의 문장에 대해 형태소 분석, 어휘 분석 및 의미 분석을 포함하는 언어 처리를 수행하여 패턴 추론 매칭을 위한 핵심어 단위로 분절하되, 핵심어 추출시 단어별로 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미 엔트리를 구성한다. 대화 관리부는 상기 대화 이해부에 의해 분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행하되, 핵심어가 다수 의미 엔트리로 구성되는 경우 상기 다수 의미 엔트리들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 상기 다중 의미 패턴과 미리 설정된 패턴 추론 규칙과의 매칭을 수행한다. 대화 생성부는 대화 관리부에 의해 매칭된 패턴 추론 규칙에 해당되는 응답을 생성한다.

Description

음성 대화 시스템 및 그 시스템에서의 음성 대화 방법{VOICE CONVERSATION SYSTEM AND METHOD OF THEREOF}
본 발명은 다중 의미 패턴을 이용한 문장 패턴 추론 기반의 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법에 관한 것이다.
자연어 음성 인식과 자연어 기반의 처리 기술, 음성 합성 기술 등이 급속적으로 발전함에 따라, 이들을 접목하는 기술 요구가 증대하고 있다. 스마트 기기에서 직접 글자를 입력하는 타이핑에서 벗어나 직접 자연어 음성으로 검색 및 명령하고 그의 기반한 정보를 처리한 후, 음성으로 제공받을 수 있다. 이들 기술들의 접목 기술 분야는 자연어 음성을 기반으로 지능형으로 대화를 진행해가는 음성 대화 에이전트 기술로 이슈가 되고 있으며, 대화 처리 시장 규모 또한 매년 증가 추세를 보이고 있다. 또한, 최근에는 음성 대화로 원격 제어 및 모니터링이 가능한 IoT(internet of Things)가 발전하고 있다.
음성 대화 처리 분야는 사용자 질의 문장과 대응되는 답변을 제공하기 위한 다양한 기술들이 연구되고 있다. 기본적인 대화 방법으로는 단어 정확 매칭(word exact matching) 방법, 전체 문장 매칭(whole sentence matching) 방법, 그리고 순차적 패턴 매칭(sequential pattern matching) 방법 등이 있다.
이러한 방법들의 경우, 단어의 단일 의미 태깅으로 사용자의 질의 의도를 판단하기 미흡하거나 어려운 문제점이 있다. 그런 이유로, 단어의 주요 의미에서 단어의 다의성 등의 예외가 발생할 수 있다. 또한, 단어의 의미 다중성 기반의 다중 의미 패턴을 그대로 수용하기 어려운 문제점이 있다. 또한, 매칭 방법으로는 질문 문장과 매칭을 위해 유사 문장을 다수 수집 및 훈련 과정을 거쳐야 하는 문제점과 질문 문장과의 매칭 시에 발생하는 어휘 불일치로 인한 문제점도 있다.
따라서, 단어의 여러 의미를 나타내는 다중성을 수용하여 질의에 대한 응답을 수행할 수 있는 방법이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 사용자의 질의 의도를 의미 패턴을 통해 정확하게 판단하고 이를 이용하여 패턴 추론 규칙을 확률적으로 매칭함으로써 질의 의도에 보다 근접한 답변을 제공할 수 있는 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법을 제공한다.
본 발명의 한 특징에 따른 음성 대화 시스템은,
사용자로부터 입력되는 질의 문장에 대해 형태소 분석, 어휘 분석 및 의미 분석을 포함하는 언어 처리를 수행하여 패턴 추론 매칭을 위한 핵심어 단위로 분절하되, 핵심어 추출시 단어별로 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미 엔트리를 구성하는 대화 이해부; 상기 대화 이해부에 의해 분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행하되, 핵심어가 다수 의미 엔트리로 구성되는 경우 상기 다수 의미 엔트리들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 상기 다중 의미 패턴과 미리 설정된 패턴 추론 규칙과의 매칭을 수행하는 대화 관리부; 및 상기 대화 관리부에 의해 매칭된 패턴 추론 규칙에 해당되는 응답을 생성하는 대화 생성부를 포함한다.
여기서, 상기 대화 이해부는 상기 질의 문장의 형태소를 형태소 사전을 기반으로 최소 단위인 형태소로 분절 및 분석하여 체언 및 용언을 추출하는 형태소 분석부; 상기 형태소 분석부에 의해 형태소 분석된 단어들에 대해 미리 정의된 의미 사전을 참조하여 단어의 의미를 해석하며, 단어가 다수의 의미를 가지는 경우 해당 단어에 대해 다수 의미 엔트리를 구성하는 의미 분석부; 및 상기 의미 분석부의 결과를 사용하여 핵심어를 추출하는 핵심어 추출부를 포함한다.
또한, 상기 대화 관리부는, 상기 대화 이해부에서 추출된 핵심어들의 다수 의미 엔트리들의 조합으로 다중 의미 패턴을 생성하는 다중 패턴 생성부; 상기 다중 패턴 생성부에서 생성되는 다중 의미 패턴들 중에서 미리 구축된 지식 베이스의 패턴 추론 규칙과의 매칭을 수행하여 매칭되는 패턴 추론 규칙을 추출하는 패턴 추론부; 및 상기 패턴 추론부에서 추출되는 패턴 추론 규칙 결과에 의해 상기 지식 베이스를 분석하여 질의 문장에 대응되는 응답을 분석하는 추론 분석부를 포함한다.
또한, 상기 대화 생성부는 상기 대화 관리부에 의해 매칭되는 패턴 추론 규칙에 해당되는 응답 문장과 상기 지식 베이스에서 검색되는 지식 정보들을 구조적으로 기술한 답변 스크립트로 생성하여 사용자에게 제공하는 것을 특징으로 한다.
또한, 상기 다중 패턴 생성부는, 단어별 다수 의미 엔트리에 해당되는 열 벡터들에 대해 모든 의미 엔트리들을 순서대로 옆으로 연결하여 새로운 관계를 만드는 카티션 곱(Cartesian product)를 이용하여 다중 의미 패턴을 생성하는 것을 특징으로 한다.
또한, 상기 패턴 추론부는 상기 질의 문장의 다중 의미 패턴들 중에서 구축된 패턴 추론 규칙과의 매칭을 수행하는 과정에서 패턴 추론 규칙에 근사 확률 계산 방법으로 조건부 확률을 구할 때 사용하는 베이즈 룰(Bayes'Rule)을 사용하는 것을 특징으로 한다.
또한, 상기 패턴 추론부는 상기 대화 이해부에서 추출되는 핵심어 단어의 의미 엔트리들이 각각 독립적인 경우 패턴 추론 규칙의 매칭 결과는 의미 엔트리에 속한 각 의미별 상기 패턴 추론 규칙과의 패턴 매칭 결과의 곱에 의해 결정되는 것을 특징으로 한다.
또한, 상기 패턴 추론부는, 의미 사전에는 존재하지만 패턴 추론 규칙에서는 관측이 되지 않는 의미 엔트리에 대해 빈도수를 가지고 매칭 확률을 계산하는 경우 0이 되는 것을 방지하기 위해 스무딩(smoothing) 기법을 적용하는 것을 특징으로 한다.
또한, 상기 답변 스크립트는, 패턴 추론 규칙을 나타내는 패턴 태그; 사용자에 대한 동작 명령을 나타내는 액션 태그; 질의 문장에 대한 답변 문장을 나타내는 응답 태그; 및 상기 지식 베이스에서 검색된 지식 정보의 목록을 나타내는 결과 태그를 포함한다.
또한, 대화를 위한 사용자 음성을 인식하고, 인식되는 음성을 분석하여 특징을 추출한 후 대응되는 질의 문장으로 변환하여 상기 대화 이해부로 전달하는 음성 입력부; 및 상기 대화 생성부에서 생성되는 응답에 대응되는 음성을 인공적으로 합성하여 사용자에게 출력하는 음성 합성부를 더 포함한다.
본 발명의 다른 특징에 따른 음성 대화 방법은,
사용자로부터 입력되는 질의 문장에 대해 형태소 분석, 어휘 분석 및 의미 분석을 포함하는 언어 처리를 수행하여 패턴 추론 매칭을 위한 핵심어 단위로 분절하되, 핵심어 추출시 단어별로 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미 엔트리를 구성하는 단계; 분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행하되, 핵심어가 다수 의미 엔트리로 구성되는 경우 상기 다수 의미 엔트리들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 상기 다중 의미 패턴과 미리 설정된 패턴 추론 규칙과의 매칭을 수행하는 단계; 및 매칭된 패턴 추론 규칙에 해당되는 응답을 생성하여 사용자에게 출력하는 단계를 포함한다.
여기서, 상기 다수 의미 엔트리를 구성하는 단계는, 상기 질의 문장의 형태소를 형태소 사전을 기반으로 최소 단위인 형태소로 분절 및 분석하여 체언 및 용언을 추출하는 단계; 형태소 분석된 단어들에 대해 미리 정의된 의미 사전을 참조하여 단어의 의미를 해석하며, 단어가 다수의 의미를 가지는 경우 해당 단어에 대해 다수 의미 엔트리를 구성하는 단계; 및 단어의 의미 해석 결과를 사용하여 핵심어를 추출하는 단계를 포함한다.
또한, 상기 패턴 추론 규칙과의 매칭을 수행하는 단계는, 추출된 핵심어들의 다수 의미 엔트리들의 조합으로 다중 의미 패턴을 생성하는 단계; 상기 다중 의미 패턴들 중에서 미리 구축된 지식 베이스의 패턴 추론 규칙과의 매칭을 수행하여 매칭되는 패턴 추론 규칙을 추출하는 단계; 및 추출되는 패턴 추론 규칙 결과에 의해 상기 지식 베이스를 분석하여 질의 문장에 대응되는 응답을 분석하는 단계를 포함한다.
또한, 상기 패턴 추론 규칙을 추출하는 단계는, 상기 질의 문장의 다중 의미 패턴들 중에서 구축된 패턴 추론 규칙과의 매칭을 수행하는 과정에서 다음의 관계식
Figure 112015099447766-pat00001
여기서,
Figure 112015099447766-pat00002
는 패턴 추론 규칙
Figure 112015099447766-pat00003
Figure 112015099447766-pat00004
번째 패턴 규칙이고,
Figure 112015099447766-pat00005
는 질의 문장
Figure 112015099447766-pat00006
의 다중 의미 패턴 집합이며,
Figure 112015099447766-pat00007
Figure 112015099447766-pat00008
Figure 112015099447766-pat00009
번째 다중 의미 패턴이고,
Figure 112015099447766-pat00010
는 질의 문장
Figure 112015099447766-pat00011
Figure 112015099447766-pat00012
번째에서
Figure 112015099447766-pat00013
번째 단어의 의미 엔트리임을 사용하여 패턴 추론 규칙을 추출하는 것을 특징으로 한다.
또한, 상기 질의 문장
Figure 112015099447766-pat00014
Figure 112015099447766-pat00015
개의 단어
Figure 112015099447766-pat00016
로 구성되고, 상기 질의 문장
Figure 112015099447766-pat00017
중에서 연속된 두 단어
Figure 112015099447766-pat00018
Figure 112015099447766-pat00019
에 대해 의미 엔트리가 각각
Figure 112015099447766-pat00020
,
Figure 112015099447766-pat00021
인 경우, 두 단어의 모든 의미 엔트리들에 대해 카티션 곱을 이용하여
Figure 112015099447766-pat00022
의 다중 의미 패턴을 생성하는 것을 특징으로 한다.
본 발명에 따르면, 사용자의 질의 의도를 의미 패턴을 통해 정확하게 판단하고 이를 이용하여 패턴 추론 규칙을 확률적으로 매칭함으로써 질의 의도에 보다 근접한 답변을 제공할 수 있다.
또한, 단어의 다중 의미를 사용함으로써 훈련을 위한 많은 유사 문장의 저장 공간 및 어휘 불일치로 인한 문제점을 해소할 수 있다.
또한, 의미적으로 유사한 질의 패턴에 대해서도 응답이 가능하며, 질의 응답 범위 확장에도 유용하게 대처할 수 있다.
도 1은 본 발명의 실시예에 따른 음성 대화 시스템의 개략적인 구성을 도시한 블록도이다
도 2는 도 1에 도시된 대화 이해부의 구체적인 구성을 도시한 도면이다.
도 3은 도 1에 도시된 대화 관리부의 구체적인 구성을 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 음성 대화 시스템에서 단어의 다수 의미 엔트리를 구성하는 내용을 설명하는 도면이다.
도 5는 본 발명의 실시예에 따른 음성 대화 시스템에서 단어별 다수 의미 엔트리를 구성하는 예를 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 음성 대화 시스템에서 다중 의미 패턴을 생성하는 과정을 도시한 도면이다.
도 7은 도 5의 예를 사용하여 다중 의미 패턴을 생성하는 예를 도시한 도면이다.
도 8은 도 7의 예를 사용하여 패턴 추론 규칙과의 매칭 예를 도시한 도면이다.
도 9는 도 8의 예를 사용하여 답변 스크립트를 생성하는 예를 도시한 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참조하여 본 발명의 실시예에 따른 음성 대화 시스템에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 음성 대화 시스템(10)의 개략적인 구성을 도시한 블록도이다
도 1에 도시된 바와 같이, 음성 대화 시스템(10)은 음성 입력부(100), 대화 이해부(200), 대화 관리부(300), 대화 생성부(400) 및 음성 합성부(500)를 포함한다.
음성 입력부(100)는 대화를 위한 사용자 음성을 인식하고, 인식되는 음성을 분석하여 특징을 추출한 후 대응되는 텍스트 문장으로 변환한다. 여기서, 사용자의 대화 입력 문장은 음성이나 텍스트의 문장을 이용하여 자연어로 입력된다. 이때, 입력에 앞서 음성 대화 시스템(10)은 인사말이나 입력 요구 메시지를 출력할 수 있다
대화 이해부(200)는 음성 입력부(100)에 의해 변환되는 텍스트 문장에 대해 형태소 분석, 어휘 분석, 의미 분석 등의 언어 처리를 수행하여 패턴 추론 매칭을 위한 주요 핵심어 단위로 분절한다.
대화 관리부(300)는 대화 이해부(200)에 의해 분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행한다. 보다 구체적으로, 대화 관리부(300)는 핵심어를 기반으로 대화 의미 분석, 패턴 분석 및 추론 규칙 매칭을 수행한다.
대화 생성부(400)는 대화 관리부(300)에 의해 매칭된 패턴 추론 규칙에 적합한 응답을 생성한다. 이러한 응답은 패턴 추론 규칙에 기반하여 각종의 데이터베이스에서 최적화된 응답 데이터 및 지식 정보를 검색 후 응답 스크립트로 기술하여 제공된다.
음성 합성부(500)는 대화 생성부(400)대화 생성부(400)에서 생성되는 응답에 대응되는 음성을 인공적으로 합성하여 사용자에게 출력한다.
본 발명의 실시예에서, 대화 이해부(200)는 입력 문장에서 핵심어 추출시 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미들을 핵심어로 추출한다.
또한, 대화 관리부(300)는 대화 이해부(200)에서 다수 의미들로 추출되는 각 핵심어들에 대해 다수 의미들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 다중 의미 패턴과 미리 준비되어 있는 패턴 추론 규칙의 매칭을 수행하여 최적화된 응답을 생성한다.
상기에서 도 1에 예시된 음성 대화 시스템(10)의 각 구성요소(100, 200, 300, 400, 500) 또는 그 들의 부분적 결합 구성은 소프트웨어를 실행하는 하드웨어로써 구성되거나, 또는 컴퓨팅(computing) 장치에서 수행되는 하나 이상의 어플리케이션 프로그램으로써 구성될 수 있다. 물론, 하드웨어와 소프트웨어가 결합되어 구성될 수도 있다. 소프트웨어로써 구성된 경우에는, 상기 예시된 구성요소들(100, 200, 300, 400, 500)의 전부 또는 일부의 기능에 대해 구현된 어플리케이션 프로그램은, 저장매체에 기록되어 그 매체의 기록신호를 판독할 수 있는 장치에 전달될 수도 있다.
도 2는 도 1에 도시된 대화 이해부(200)의 구체적인 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 대화 이해부(200)는 형태소 분석부(210), 의미 분석부(220) 및 핵심어 추출부(230)를 포함한다.
형태소 분석부(210)는 음성 입력부(100)에 의해 변환되는 텍스트 문장의 형태소를 단어의 품사 등의 정보를 가진 형태소 사전(240)을 기반으로 최소 단위인 형태소로 분절 및 분석하여 체언, 용언 등을 추출한다.
의미 분석부(220)는 형태소 분석부(210)에 의한 형태소 분석된 단어들에 대해 미리 정의된 의미 사전(250)을 참조하여 단어의 의미를 해석한다. 이 때, 각 단어가 다수의 의미를 가지는 경우 해당 단어에 대해 다수의 의미 엔트리를 구성한다. 예를 들어, 형태소 분석부(210)에 의해 분절된 단어가 "다리"인 경우 "다리"가 의미 상으로 "다리/leg" 또는 "다리/bridge"와 같이 해석될 수 있으므로, 의미 분석부(220)는 단어 "다리"에 대해 "leg"와 "bridge"의 두 개의 의미 엔트리를 구성할 수 있다.
핵심어 추출부(230)는 의미 분석부(220)의 결과를 사용하여 핵심어를 추출한다. 이러한 핵심어 추출에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
도 3은 도 1에 도시된 대화 관리부(300)의 구체적인 구성을 도시한 도면이다.
도 3에 도시된 바와 같이, 대화 관리부(300)는 다중 패턴 생성부(310), 패턴 추론부(320) 및 추론 분석부(330)를 포함한다.
다중 패턴 생성부(310)는 대화 이해부(200)에서 추출된 핵심어들의 적어도 하나의 의미 패턴의 엔트리들의 조합으로 다중 의미 패턴을 생성한다. 이러한 다중 의미 패턴 생성 방법에 대해서는 추후 설명한다.
패턴 추론부(320)는 다중 패턴 생성부(310)에서 생성되는 다중 의미 패턴들 중에서 미리 구축된 지식 베이스(340)의 패턴 추론 규칙과 적합한 패턴을 추출한다. 이 때, 단어와 대응되는 하나의 의미를 기반으로 대화 문장의 단일 패턴만을 생성하는 것은 사실상 불가능하므로, 단어의 여러 의미로 해석된 의미들의 엔트리 조합으로 구성한 다중 의미 패턴들 중에서 높은 확률 값으로 결과를 갖는 적합한 패턴 규칙과 대화 문장이 의미하는 주제가 추론된다.
추론 분석부(330)는 패턴 추론부(320)에서 추출된 패턴 추론 규칙 결과에 의해 데이터베이스와 지식 베이스를 분석하여 추론 결과를 얻는다. 여기서, 방대한 데이터베이스 및 지식 베이스를 전체 스캔해야 하는 문제점을 해소하기 위해, 패턴 추론 규칙과 이를 기반한 매칭 과정을 거쳐 추출된 대화의 주제를 분석하고 이와 링크된 지식 정보를 도출한다.
따라서, 대화 생성부(400)는 추론 분석부(330)에서의 패턴 추론 분석에 의해 생성된 지식 정보를 이용하여 적합한 패턴-응답 템플릿을 통해 응답 스크립트를 생성할 수 있으며, 패턴 추론 규칙, 연관 주제, 그리고 주요 단어를 기반으로 대화 스크립트를 제공한다. 여기서, 대화 스크립트는 응답 시간, 응답 문장, 주제 영역, 검색 횟수, 액션 정보 등 여러 정보가 포함되어 있다. 특히, 액션 정보는 클라이언트에서 동작하는 명령으로 "날씨를 알려주세요"의 경우, 액션 코드 "show_weather"를 전송함으로 클라이언트에서는 액션 코드를 인지하여 날씨의 정보와 이미지를 제공하거나, "병원에 가는 길을 알려주세요."의 경우, "find_path_map"를 전송함으로 지도 이미지 등의 정보를 제공하게 된다.
이하, 본 발명의 실시예에 따른 음성 대화 시스템(10)에서의 다중 의미 패턴 생성 방법에 대해 설명한다.
설명 전에, 먼저, 본 발명의 실시예에서 다중 의미 기반의 패턴과 패턴 추론 규칙의 확률적 매칭을 위해 사용되는 나이브 베이즈(Naive Bayes) 모델은 널리 사용된 분류 방법으로 좋은 성능으로 인해 여러 연구에서 사용되고 있다. 이러한 나이브 베이즈 모델은 여러 문서들을 분류에 맵핑해야 할 때 대중적인 방법으로 텍스트 분류에 사용된다. 이점을 착안하여, 본 발명의 실시예에서는 주어진 질의 문장에서 의미 패턴 매칭에 기반을 둔 패턴 추론 규칙을 도출하여 지식 베이스(340)에서 지식 정보를 찾아 제공하는 방법으로, 질의 문장에서 의미 분석을 기반으로 다중 의미 패턴을 생성하고 이들 다중 의미 패턴들에 기반한 패턴 추론에 할당된 확률을 계산하는 방법으로 나이브 베이즈 모델을 사용한다.
먼저, 기본적인 방법으로 질의 문장과 패턴 추론 규칙 사이를 예측하는 일반적인 방법에 대해 설명한다.
주어진 질의 문장
Figure 112015099447766-pat00023
Figure 112015099447766-pat00024
개의 단어
Figure 112015099447766-pat00025
로 구성되고, 패턴 추론 규칙
Figure 112015099447766-pat00026
Figure 112015099447766-pat00027
개의 패턴 엔트리
Figure 112015099447766-pat00028
로 구성될 때, 각 단어
Figure 112015099447766-pat00029
와 패턴 엔트리
Figure 112015099447766-pat00030
(1≤
Figure 112015099447766-pat00031
Figure 112015099447766-pat00032
)가 매칭된다고 가정하자. 그러면, 단어
Figure 112015099447766-pat00033
이 나타날 때, 패턴 추론 규칙
Figure 112015099447766-pat00034
로 표현될 확률을 나타낼 수 있다. 이러한 확률은 다음 [수식 1]과 같이 근사될 수 있다.
[수식 1]
Figure 112015099447766-pat00035
여기서,
Figure 112015099447766-pat00036
개의 가능한 확률적 패턴 결과들 중에서 가장 높은 확률값
Figure 112015099447766-pat00037
을 계산해야 한다. 하지만, 다음과 같은 문제점을 갖는다. 1) [수식 1]은 단어의 수
Figure 112015099447766-pat00038
개가 많은 경우나 학습 데이터가 미흡한 경우 확률 패턴 규칙에 베이즈 모델을 바로 적용하기 어려움이 있다. 2) 하나의 단어가 여러 의미를 갖는 다의성과 여러 단어가 하나의 의미를 갖는 동의성의 경우 질의의 의미 해석에 모호성의 문제가 발생할 수 있다. 마지막으로, 3) 정확한 패턴 규칙을 도출하기 위해서는 주어진 문장과 유사한 학습 데이터가 방대하게 있어야 하므로 이를 갖추어야 하는 조건이 쉽지 않다.
이러한 문제들을 해소하기 위해서, 본 발명의 실시예에서는 다중 의미 패턴과 패턴 추론 규칙 사이의 매칭 방법을 사용한다. 추론 규칙의 매칭 방법은 질의 문장에서 대응되는 패턴 추론 규칙을 찾는 방법으로 우선, 주어진 문장을 형태 단위의 단어로 분절한 후 여러 의미로 해석하고 이들의 조합으로 다중 의미 패턴을 생성한다. 다음으로, 다중 의미 패턴에서 패턴 추론 규칙 기반으로 적합한 패턴을 유도하여 문장의 의미하는 주제를 추론한다. 특히, 이들 사이의 확률적 매칭 정도를 계산하는 체계적인 방법을 제시한다. 질의 문장의 다중 의미 패턴과 패턴 추론 규칙의 매칭을 위해, 본 발명의 실시예에서 사용하는 주요 표기와 이에 대한 정의 및 의미는 [표 1]과 같다.
[표 1]
Figure 112015099447766-pat00039
다음은, 질의 문장의 다중 의미 패턴을 이용하여 패턴 추론 규칙을 매칭하는 준비 과정으로 문장의 패턴 구성 요소인 주요 의미를 태깅하는 방법에 대해 설명한다.
단어의 주요 의미 태깅은 문장의 패턴에서 구성된 엔트리와 밀접한 관계로 단어들이 갖는 의미 속성(mean feature)들을 부여하는 작업이며 패턴을 추론하는 데 중요한 단서로 제공될 수 있다.
질의 문장의 의미 패턴을 결정하기 위해, 주어진 질의 문장
Figure 112015099447766-pat00040
Figure 112015099447766-pat00041
개의 단어
Figure 112015099447766-pat00042
로 구성되며, 특정 단어
Figure 112015099447766-pat00043
는 의미 패턴의 엔트리
Figure 112015099447766-pat00044
를 가진다고 가정한다. 이 과정에서, 단어가 가지는 확률값은 사전에 형태소 분석을 통해 질의 문장에서 단어 열로 분절되고 패턴 의미 분석 사전을 통해 주요 단어의 패턴 의미가 태깅된 학습 데이터에 의하여 계산하여 결정할 수 있다. 다시 말해,
Figure 112015099447766-pat00045
개의 단어 중 특정 단어
Figure 112015099447766-pat00046
가 의미 패턴의 엔트리
Figure 112015099447766-pat00047
로 나올 확률은
Figure 112015099447766-pat00048
로 나타낼 수 있으며, 이를 통해 의도하는 패턴 추론을 계산할 수 있다. 하지만, 특정 단어가 갖는 의미는 다양한 의미 엔트리들로 정의할 수 있으며, 실제
Figure 112015099447766-pat00049
를 계산하는 것은 쉽지 않다. 이에 따라, 본 발명의 실시예에서는 단어의 여러 의미 엔트리들을 수용하면서 사용자 의도를 명확하게 파악하는 방법에 대해 설명한다.
본 발명의 실시예에서는 나이브 베이즈 모델을 적용하기 앞서, 질의 문장에서 각 단어들이 서로 독립적임을 가정하며 단어의 출현 순서와도 독립적이라는 것을 가정한다. 이를 기반으로 우선, 단어의 주요 의미를 태깅하는 것으로 시작한다.
도 4를 참조하면, 형태소에 의해 분절된 단어를 가지고 패턴 의미 사전에서 정의한 단어의 의미를 해석하여 단어별 다중 의미 엔트리로 구성한다. 이때, 의미 태깅 후 결과는 단어와 의미 엔트리 간의 일대일 일 관계로 정의하는 기존 방법과는 다르게 특정 단어
Figure 112015099447766-pat00050
에 대해 여러 의미 엔트리 mj의 일대 다의 관계로 정의될 수 있다. 여기서, 특정 단어
Figure 112015099447766-pat00051
에 대해 단어의 의미 엔트리 mj의 값이 널(NULL) 값이면 의미가 존재하지 않아 제외 가능하다.
예를 들어, 도 5를 참조하면, 질의 문장 S가 "다리가 너무 아파요"일 경우, 형태소에 의해 분절된 단어 "다리"는 의미 상으로 "다리/leg" 또는 "다리/bridge"로, 단어 "너무"는 "너무/so", "너무/very"로, 단어 "아파요(아프다)"는 "아파요/sick", "아파요/hurt"와 같이 해석될 수 있다.
다음은, 본 발명의 실시예에 따른 의미 태깅 기반 다중 의미 패턴 생성 방법에 대해 설명한다.
패턴 추론 규칙과의 매칭하는 과정에서 다중 의미 패턴을 구조화하는 방법을 제시한다. 즉, 형태소에 의해 분절된 단어들의 의미를 추출하여 단어
Figure 112015099447766-pat00052
에 대해
Figure 112015099447766-pat00053
개의 패턴 의미 엔트리
Figure 112015099447766-pat00054
를 기반으로 구성하는 것에 대해 이미 설명하였다. 그런 후, 질의 문장의 패턴 추론을 위한 준비 과정으로, 각 단어에서 해석된 의미 엔트리를 기반으로 다중 의미 패턴들을 구조화하는 방법에 대해 설명한다.
도 6을 참조하면, 다중 의미 패턴의 구조는 단어 열
Figure 112015099447766-pat00055
에서 각 단어
Figure 112015099447766-pat00056
에 대한
Figure 112015099447766-pat00057
개의 패턴 의미 엔트리들
Figure 112015099447766-pat00058
를 기반으로 의미 엔트리들의 조합을 재귀적으로 유도하여 생성된 여러 결과를 의미한다. 다시 말해, 단어 열
Figure 112015099447766-pat00059
중에서 연속된 임의의 두 단어
Figure 112015099447766-pat00060
Figure 112015099447766-pat00061
에 대하여, 단어의 태깅된 의미 엔트리는 각각
Figure 112015099447766-pat00062
Figure 112015099447766-pat00063
이다. 여기서,
Figure 112015099447766-pat00064
Figure 112015099447766-pat00065
는 각각 1ㅧ
Figure 112015099447766-pat00066
또는 1ㅧ
Figure 112015099447766-pat00067
의 열 벡터를 갖는다. 이들 열 벡터들에 대하여, 모든 의미 엔트리들을 순서대로 옆으로 연결하여 새로운 관계를 만드는 카티션 곱(Cartesian product)을 이용하여 유도하면,
Figure 112015099447766-pat00068
과 같이 여러 벡터들이 구조화 된다. 이를 기반으로 의미 기반의 패턴을 추출하면 다중 의미 패턴
Figure 112015099447766-pat00069
로 생성할 수 있으며, 이를 적절히 사용하면 사용자 질의 의도가 근접하게 반영될 수 있게 된다.
예를 들어, 도 7에 다중 의미 패턴 생성에 대한 예가 도시되어 있다. 도 7을 참조하면, "다리가 너무 아프다"와 같은 질의 문장이 주어진 경우, 문장을 구성하는 각 단어 "다리가", "너무", "아파요"가 형태소를 거쳐 의미 분석을 하게 되면, "다리/leg", "다리/bridge", "너무/so", "너무/very", "아프다/sick", "아프다/hurt"와 같이 의미 태깅 결과가 된다. 이들의 조합으로 의미 패턴을 구성해야 하는 데, 의미 패턴은 다중 의미로 인해 하나의 의미 패턴이 아닌 다중 의미 패턴으로 구성해야 한다. 여기서, 다중 의미 패턴의 구성은 각 단어의 의미 엔트리들의 조합을 재귀적으로 유도하면서 구성하도록 한다. 그러면, 의미 패턴
Figure 112015099447766-pat00070
은 도면의 우측 부분과 같이 "leg+so+sick" 등으로 구성되는 의미 엔트리들을 갖는다.
다음, 본 발명의 실시예에 따른 다중 의미 패턴과 패턴 추론 규칙의 매칭에 대해 설명한다.
패턴 추론하는 과정은 상기한 바와 같이 의미 태깅 기반의 다중 의미 패턴들이 생성되면, 이들과 의미 있는 패턴 추론 규칙을 탐색하는 데, 이를 위해서는 적합한 매칭 방법을 이용하여 추론을 탐색하는 것이 중요하다. 이에 따라, 본 발명의 실시예에서는 질의 문장의 다중 의미 패턴들 중에서 구축된 패턴 추론 규칙과의 매칭하는 과정에서 패턴 추론 규칙에 근사 확률 계산 방법으로 조건부 확률을 구할 때 사용하는 베이즈 룰(Bayes' Rule)을 사용한다. 이에 따라, 문장 패턴과 패턴 추론 규칙에서 최적 매칭을 탐색하기 위해 다음의 [수식 2]의 나이브 베이즈 모델을 사용한다.
[수식 2]
Figure 112015099447766-pat00071
여기서,
Figure 112015099447766-pat00072
는 질의 문장에서 추출한 의미 패턴이 패턴 추론 규칙
Figure 112015099447766-pat00073
에 속할 확률 값을 의미하며,
Figure 112015099447766-pat00074
는 패턴 추론 규칙
Figure 112015099447766-pat00075
에 속하는 질의 문장의 다중 의미 패턴들에서 임의 의미 패턴
Figure 112015099447766-pat00076
일 확률 값을 의미한다.
Figure 112015099447766-pat00077
는 질의 문장에서 의미 패턴
Figure 112015099447766-pat00078
일 확률 값을 의미한다.
다음의 [수식 3]을 이용하여, 질의 문자의 의미 패턴이 여러 개일 경우 각 패턴 추론 규칙에 해당 베이즈 룰을 이용하여 확률을 계산할 수 있으며, 이중 가장 높은 확률로 계산되는 질의 패턴이 해당 질의 문장이 의미하는 바를 패턴 추론 규칙으로 추론될 수 있다.
[수식 3]
Figure 112015099447766-pat00079
또한, 질의 문장에서 추출된 다중 의미 패턴 집합
Figure 112015099447766-pat00080
Figure 112015099447766-pat00081
개의 의미 패턴
Figure 112015099447766-pat00082
과 각 의미 패턴
Figure 112015099447766-pat00083
에 속해 있는
Figure 112015099447766-pat00084
개의 의미 엔트리
Figure 112015099447766-pat00085
로 구성될 때, [수식 4]에서와 같이 확률적으로 패턴 추론 규칙
Figure 112015099447766-pat00086
을 추정하는 것이 가능하다.
[수식 4]
Figure 112015099447766-pat00087
여기서, 다중 의미 패턴
Figure 112015099447766-pat00088
와 패턴 추론 규칙
Figure 112015099447766-pat00089
의 확률을 계산하면, 특정 의미 패턴이 특정한 패턴 추론 규칙에 적합한지를 결정할 수 있다. 즉, 특정 의미 패턴이 확률이 가장 높은 패턴 추론 규칙에 매칭되는 가능성이 가장 높은 것이다.
나이브 베이즈 모델은 [수식 4]의 베이즈 룰에 각 단어들이 독립적이라는 가정을 고려하여, 추론 규칙의 매칭 확률을 계산할 수 있다.
우선, 질의 문장에서 여러 개의 단어들로 이루어져 있으며, 각 단어는 1개 이상의 의미 엔트리를 갖는다고 할 때, 그 의미 엔트리들을 카티션 곱 연산에 의해 유도된 집합 {
Figure 112015099447766-pat00090
}으로 이루어진 특정 의미 패턴
Figure 112015099447766-pat00091
이라고 가정한다. 그러면,
Figure 112015099447766-pat00092
는 [수식 5]에 의해 나이브 베이즈 모델의 조건부 확률을 손쉽게 계산하여 패턴 추론 규칙에 확률적으로 매칭할 수 있다. 이에 따라, 각각의 단어의 의미 엔트리들은 독립적이므로 [수식 5]의 조건부 확률은 다음과 같이 계산된다.
[수식 5]
Figure 112015099447766-pat00093
따라서, 의미 기반의 다중 의미 패턴에서 패턴 추론 규칙을 베이즈 룰로 계산하는 매칭 확률 방법은 다음 [수식 6]과 같다.
[수식 6]
Figure 112015099447766-pat00094
여기서, 질의 문장에서 생성된 패턴으로 패턴 추론 규칙 확률을 계산하는 데 새로운 단어의 의미가 존재 시 확률이 0이 되는 문제가 발생한다. 질의 문장에서 전체 단어의 의미 중에서 패턴 추론 규칙에 존재하는 의미들이 발생할 수 있으므로 본 발명의 실시예에서는 스무딩(Smoothing) 기법을 사용하여 확률값을 계산할 수 있다. 이에 대해서는 추후 구체적으로 설명한다.
이하에서는 예를 통해 주어진 문장에서 의미 패턴 생성 후, 패턴 추론 규칙을 매칭하는 방법에 대해 설명한다.
우선, [표 2]와 같은 지식 베이스(340)가 필요하다. 지식 베이스(340)는 질의 문장이 어느 패턴 추론 규칙과 매칭되는 지 계산하는 조건부 확률
Figure 112015099447766-pat00095
을 위해 사용된다.
지식 베이스(340)의 구성요소는 패턴 추론(Pattern Infernece)으로 common_leg_pain, head_pain, find_around_hosp,… 등이 존재하고, 각각 패턴 추론 규칙(Pattern List)으로 leg+sick, head+sick, near+hosp 등이 구성되며, Pain, Hospital 등과 같은 카테고리(영역 추론 시 사용), 패턴 추론 규칙과 대응되는 답변 문장(Answer)이 있다. 여기서, 답변 문장은 ${leg}, ${head}와 같은 메타 데이터를 사용하여 답변 제공 시 주요 핵심어와 대체하면 유용한 답변을 제공할 수 있다.
[표 2]
Figure 112015099447766-pat00096
이제, 질의 문장 "다리가 너무 아파요"가 주어질 때, 형태소 과정을 거쳐 "다리, 너무, "아파요"라는 3개의 단어가 있는 질의 문장이 어떤 패턴 추론 규칙과 매칭이 되는 지 설명한다.
앞서 설명한 바와 같이, 추론 규칙의 매칭 과정은 질의 문장에서 형태소를 통해 단어로 분절 후, 패턴 의미 사전을 이용하여 단어의 여러 의미를 태깅하고, 이들을 기반으로 다중 의미 패턴을 생성한다. 그러면, 단어들의 의미 엔티티의 조합으로 구성된 다중 의미 패턴들이 [표 3]과 같이 생성된다.
[표 3]
Figure 112015099447766-pat00097
다음으로, 다중 의미 패턴이 어느 패턴 추론 규칙과 매칭되는지 확률을 계산한다. 다중 의미 패턴 중 임의의 의미 패턴
Figure 112015099447766-pat00098
이 패턴 추론 comm_leg_pain일 확률은
Figure 112015099447766-pat00099
이며, head_pain일 확률은
Figure 112015099447766-pat00100
이 된다.
만약,
Figure 112015099447766-pat00101
이면 comm_leg_pain로 근사 될 수 있다. 그러므로,
Figure 112015099447766-pat00102
은 패턴 추론 규칙 comm_leg_pain 중 의미 패턴
Figure 112015099447766-pat00103
에서 의미 엔트리로 분류하면,
Figure 112015099447766-pat00104
(leg, so, sick|comm_leg_pain)이며, 의미 엔트리 leg, so, sick는 서로 연관 관계가 없이 독립적이라는 가정 하에
Figure 112015099447766-pat00105
(leg|comm_leg_pain)*
Figure 112015099447766-pat00106
(so|comm_leg_pain)*
Figure 112015099447766-pat00107
(sick|comm_leg_pain)으로 계산할 수 있다. 예를 들어, comm_leg_pain에서 총 패턴 엔트리 개수는 3개이고,
Figure 112015099447766-pat00108
에서 의미 엔트리의 개수는 comm_leg_pain이면서 leg인 것이 1번, so인 것이 0번 그리고 sick인 것이 1번으로 다음의 [수식 7]과 같이 확률 값이 계산된다.
[수식 7]
Figure 112015099447766-pat00109
그런데,
Figure 112015099447766-pat00110
(so|comm_leg_pain)에서 "so"는 의미 사전에는 존재하지만, 패턴 추론 규칙에서 관측이 되지 않은 엔트리로 단순히 빈도수를 가지고 매칭 확률을 계산할 경우 0이 되어 문제가 발생한다. 이러한 문제는 스무딩(Smoothing) 기법을 적용하여 해소할 수 있으며, 이를 적용한
Figure 112015099447766-pat00111
계산식은 [수식 8]과 같다.
[수식 8]
Figure 112015099447766-pat00112
여기서,
Figure 112015099447766-pat00113
는 모든 단어에서 중복되지 않은 유일한 개수이다. [수식 8]을 이용하여, 재계산한 패턴 추론 규칙 comm_leg_pain의 매칭 확률 값과 다른 패턴 추론 규칙 head_pain과의 매칭 확률 값은 다음과 같다. 특히, 질문 문장에서 특정 성격을 대표하는 주제단어일 경우 가중치를 부여할 수 있다.
Figure 112015099447766-pat00114
상기 결과에 따라, 주어진 문장 "다리가 너무 아파요"의 패턴 추론 결과는 다중 의미 패턴들과 패턴 추론 규칙의 매칭 확률로 계산한 결과 가장 근사한 확률 값을 갖는 패턴 추론 규칙 comm_leg_pain으로 추론 가능성이 높다고 판단한다.
다음, 본 발명의 실시예에 따라 대화 생성부(400)가 답변 스크립트를 생성하는 방법에 대해 설명한다.
이상과 같이, 의미 기반의 다중 패턴과 패턴 추론 규칙의 확률적 매칭 과정이 이루어지면, 질의에 대한 답변을 제공하기 위해서 필요한 지식 정보들을 답변 스크립트에 기술하여 제공해야 한다.
도 8은 본 발명의 실시예에 따른 음성 대화 시스템에서 질문 문장의 다중 의미 패턴과 이와 매칭된 패턴 추론 규칙를 매칭하는 과정을 도시한 도면이다.
도 8을 참조하면, 좌측 부분에서는 질의 문장에서 의미 패턴을 추출하고, 추출된 다중 의미 패턴에 기반하여 패턴 추론 규칙을 발견하며, 우측 부분에서는 이와 관련된 대화의 주제를 통해 응답 문장, 주제 등의 최적화된 지식 정보를 메모리에 상주된 지식베이스(340)에서 찾는다. 이를 바탕으로 찾은 지식 정보들은 구조적으로 기술한 답변 스크립트로 사용자에게 제공된다.
답변 스크립트는 원격의 클라이언트에게 전달하는 목적으로 JSON 형태로 구성하여 전달한다. 이는 지식 베이스(340)에서 카테고리, 패턴 추론 등의 기반으로 데이터베이스에서 검색한 지식 정보의 결과들을 가지고 생성된 스크립트이다.
답변 스크립트의 JSON 형태는 정형화된 정보 전달 형식으로 그 예가 도 9에 도시되어 있다.
도 9를 참조하면, 대화 스크립트는 지식베이스(340)에서 추출된 정보를 찾아 패턴 태그(pattern), 액션 태그(action), 응답 태그(answer), 결과 태그(result) 등을 추가하여 생성된 스크립트이다. 그 외에 응답 시간, 검색된 횟수 등의 여러 정보들도 필요에 의해 포함될 수 있다. 여기서, 스크립트 내의 패턴 태그는 패턴 추론 규칙(예, "comm_leg_pain"), 액션 태그는 클라이언트의 동작 명령(예, showList(병원 리스트 제공)), 응답 태그는 질의에 대한 답변 문장(예, "다리가 아프면 병원에 가세요!"), 그리고 결과 태그는 데이터베이스에서 검색된 지식 정보 및 관련 정보 목록 (예, "category: 개인병원, title: 다사랑 외과병원, …")을 나타낸다.
이러한 대화 스크립트는 사용자에게 디스플레이 등으로 출력되어 답변 제공은 물론 시각화 정보도 함께 제공할 수 있다.
이상과 같이, 본 발명의 실시예에서는 사용자 질의의 의미를 해석하고 패턴 추론 규칙과 매칭하는 과정을 거쳐 답변 및 지식 정보를 기술한 답변 스크립트를 제공하는 방법에 대해 설명하였다. 특히, 본 실시예에서는 의미 기반의 다중 의미 패턴을 생성하고 이들과 패턴 추론 규칙과의 확률적 매칭을 수행하는 방법에 대해 설명하였다. 이러한 방법은 사용자의 질의 의도를 의미 패턴을 통해 정확하게 판단하고 이를 이용하여 패턴 추론 규칙을 확률적으로 매칭함으로써 질의 의도에 보다 근접한 답변을 제공할 수 있다.
이와 같이 제안한 다중 의미 패턴 기반 패턴 추론 규칙 매칭은 단어의 의미 다중성을 포함하여 사용자의 의도를 보다 정확하게 판단할 수 있으며, 여러 유사 문장 수집, 어휘 불일치로 인한 공간 및 관리 측면에서 기존 방법에 비해 우수하다.
한편, 본 발명의 실시예에 따른 다중 의미 기반 패턴 추론 매칭은 확률 매칭을 계산하는 다양한 방법으로 적용할 수 있으며, 추론된 패턴 규칙을 이용하여 차별화된 카테고리의 주제 추론은 물론, 이전 대화 문장의 패턴 추론 규칙을 이용하여 다음 대화 상황을 지식 매칭 기반의 패턴 규칙을 추론하여 대화의 문맥을 유지하는 방법 등 다양한 응용 분야에서 적용될 수 있을 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. 사용자로부터 입력되는 질의 문장에 대해 형태소 분석, 어휘 분석 및 의미 분석을 포함하는 언어 처리를 수행하여 패턴 추론 매칭을 위한 핵심어 단위로 분절하되, 핵심어 추출시 단어별로 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미 엔트리를 구성하는 대화 이해부;
    상기 대화 이해부에 의해 분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행하되, 핵심어가 다수 의미 엔트리로 구성되는 경우 상기 다수 의미 엔트리들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 상기 다중 의미 패턴과 미리 설정된 패턴 추론 규칙과의 매칭을 수행하는 대화 관리부; 및
    상기 대화 관리부에 의해 매칭된 패턴 추론 규칙에 해당되는 응답을 생성하는 대화 생성부를 포함하고,
    상기 대화 관리부는,
    상기 대화 이해부에서 추출된 핵심어들의 다수 의미 엔트리들의 조합으로 다중 의미 패턴을 생성하는 다중 패턴 생성부;
    상기 다중 패턴 생성부에서 생성되는 다중 의미 패턴들 중에서 미리 구축된 지식 베이스의 패턴 추론 규칙과의 매칭을 수행하여 매칭되는 패턴 추론 규칙을 추출하는 패턴 추론부; 및
    상기 패턴 추론부에서 추출되는 패턴 추론 규칙 결과에 의해 상기 지식 베이스를 분석하여 질의 문장에 대응되는 응답을 분석하는 추론 분석부를 포함하며,
    상기 다중 패턴 생성부는,
    단어별 다수 의미 엔트리에 해당되는 열 벡터들에 대해 모든 의미 엔트리들을 순서대로 옆으로 연결하여 새로운 관계를 만드는 카티션 곱(Cartesian product)를 이용하여 다중 의미 패턴을 생성하는
    것을 특징으로 하는 음성 대화 시스템.
  2. 제1항에 있어서,
    상기 대화 이해부는,
    상기 질의 문장의 형태소를 형태소 사전을 기반으로 최소 단위인 형태소로 분절 및 분석하여 체언 및 용언을 추출하는 형태소 분석부;
    상기 형태소 분석부에 의해 형태소 분석된 단어들에 대해 미리 정의된 의미 사전을 참조하여 단어의 의미를 해석하며, 단어가 다수의 의미를 가지는 경우 해당 단어에 대해 다수 의미 엔트리를 구성하는 의미 분석부; 및
    상기 의미 분석부의 결과를 사용하여 핵심어를 추출하는 핵심어 추출부
    를 포함하는 음성 대화 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 대화 생성부는 상기 대화 관리부에 의해 매칭되는 패턴 추론 규칙에 해당되는 응답 문장과 상기 지식 베이스에서 검색되는 지식 정보들을 구조적으로 기술한 답변 스크립트로 생성하여 사용자에게 제공하는 것을 특징으로 하는 음성 대화 시스템.
  5. 삭제
  6. 제1항에 있어서,
    상기 패턴 추론부는 상기 질의 문장의 다중 의미 패턴들 중에서 구축된 패턴 추론 규칙과의 매칭을 수행하는 과정에서 패턴 추론 규칙에 근사 확률 계산 방법으로 조건부 확률을 구할 때 사용하는 베이즈 룰(Bayes'Rule)을 사용하는 것을 특징으로 하는 음성 대화 시스템.
  7. 제6항에 있어서,
    상기 패턴 추론부는 상기 대화 이해부에서 추출되는 핵심어 단어의 의미 엔트리들이 각각 독립적인 경우 패턴 추론 규칙의 매칭 결과는 의미 엔트리에 속한 각 의미별 상기 패턴 추론 규칙과의 패턴 매칭 결과의 곱에 의해 결정되는 것을 특징으로 하는 음성 대화 시스템.
  8. 제6항에 있어서,
    상기 패턴 추론부는, 의미 사전에는 존재하지만 패턴 추론 규칙에서는 관측이 되지 않는 의미 엔트리에 대해 빈도수를 가지고 매칭 확률을 계산하는 경우 0이 되는 것을 방지하기 위해 스무딩(smoothing) 기법을 적용하는 것을 특징으로 하는 음성 대화 시스템.
  9. 제4항에 있어서,
    상기 답변 스크립트는,
    패턴 추론 규칙을 나타내는 패턴 태그;
    사용자에 대한 동작 명령을 나타내는 액션 태그;
    질의 문장에 대한 답변 문장을 나타내는 응답 태그; 및
    상기 지식 베이스에서 검색된 지식 정보의 목록을 나타내는 결과 태그
    를 포함하는 음성 대화 시스템.
  10. 제1항, 제2항, 제4항 및 제6항 내지 제9항 중 어느 한 항에 있어서,
    대화를 위한 사용자 음성을 인식하고, 인식되는 음성을 분석하여 특징을 추출한 후 대응되는 질의 문장으로 변환하여 상기 대화 이해부로 전달하는 음성 입력부; 및
    상기 대화 생성부에서 생성되는 응답에 대응되는 음성을 인공적으로 합성하여 사용자에게 출력하는 음성 합성부
    를 더 포함하는 음성 대화 시스템.
  11. 사용자로부터 입력되는 질의 문장에 대해 형태소 분석, 어휘 분석 및 의미 분석을 포함하는 언어 처리를 수행하여 패턴 추론 매칭을 위한 핵심어 단위로 분절하되, 핵심어 추출시 단어별로 하나 이상의 의미들로 해석될 수 있는 핵심어에 대해서는 다수 의미 엔트리를 구성하는 단계;
    분절된 핵심어를 기반으로 대화 패턴 및 의미 영역 추론을 수행하되, 핵심어가 다수 의미 엔트리로 구성되는 경우 상기 다수 의미 엔트리들의 조합으로 구성되는 다중 의미 패턴을 생성하고, 상기 다중 의미 패턴과 미리 설정된 패턴 추론 규칙과의 매칭을 수행하는 단계; 및
    매칭된 패턴 추론 규칙에 해당되는 응답을 생성하여 사용자에게 출력하는 단계를 포함하고,
    상기 패턴 추론 규칙을 추출하는 단계는,
    상기 질의 문장의 다중 의미 패턴들 중에서 구축된 패턴 추론 규칙과의 매칭을 수행하는 과정에서 다음의 관계식
    Figure 112016123852316-pat00146

    여기서,
    Figure 112016123852316-pat00147
    는 패턴 추론 규칙
    Figure 112016123852316-pat00148
    Figure 112016123852316-pat00149
    번째 패턴 규칙이고,
    Figure 112016123852316-pat00150
    는 질의 문장
    Figure 112016123852316-pat00151
    의 다중 의미 패턴 집합이며,
    Figure 112016123852316-pat00152
    Figure 112016123852316-pat00153
    Figure 112016123852316-pat00154
    번째 다중 의미 패턴이고,
    Figure 112016123852316-pat00155
    는 질의 문장
    Figure 112016123852316-pat00156
    Figure 112016123852316-pat00157
    번째에서
    Figure 112016123852316-pat00158
    번째 단어의 의미 엔트리임
    을 사용하여 패턴 추론 규칙을 추출하는
    것을 특징으로 하는 음성 대화 방법.
  12. 제11항에 있어서,
    상기 다수 의미 엔트리를 구성하는 단계는,
    상기 질의 문장의 형태소를 형태소 사전을 기반으로 최소 단위인 형태소로 분절 및 분석하여 체언 및 용언을 추출하는 단계;
    형태소 분석된 단어들에 대해 미리 정의된 의미 사전을 참조하여 단어의 의미를 해석하며, 단어가 다수의 의미를 가지는 경우 해당 단어에 대해 다수 의미 엔트리를 구성하는 단계; 및
    단어의 의미 해석 결과를 사용하여 핵심어를 추출하는 단계
    를 포함하는 음성 대화 방법.
  13. 제11항에 있어서,
    상기 패턴 추론 규칙과의 매칭을 수행하는 단계는,
    추출된 핵심어들의 다수 의미 엔트리들의 조합으로 다중 의미 패턴을 생성하는 단계;
    상기 다중 의미 패턴들 중에서 미리 구축된 지식 베이스의 패턴 추론 규칙과의 매칭을 수행하여 매칭되는 패턴 추론 규칙을 추출하는 단계; 및
    추출되는 패턴 추론 규칙 결과에 의해 상기 지식 베이스를 분석하여 질의 문장에 대응되는 응답을 분석하는 단계
    를 포함하는 음성 대화 방법.
  14. 삭제
  15. 제11항에 있어서,
    상기 질의 문장
    Figure 112016123852316-pat00128
    Figure 112016123852316-pat00129
    개의 단어
    Figure 112016123852316-pat00130
    로 구성되고,
    상기 질의 문장
    Figure 112016123852316-pat00131
    중에서 연속된 두 단어
    Figure 112016123852316-pat00132
    Figure 112016123852316-pat00133
    에 대해 의미 엔트리가 각각
    Figure 112016123852316-pat00134
    ,
    Figure 112016123852316-pat00135
    인 경우, 두 단어의 모든 의미 엔트리들에 대해 카티션 곱을 이용하여
    Figure 112016123852316-pat00136
    의 다중 의미 패턴을 생성하는
    것을 특징으로 하는 음성 대화 방법.



KR1020150143681A 2015-10-14 2015-10-14 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법 KR101763407B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150143681A KR101763407B1 (ko) 2015-10-14 2015-10-14 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150143681A KR101763407B1 (ko) 2015-10-14 2015-10-14 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법

Publications (2)

Publication Number Publication Date
KR20170043955A KR20170043955A (ko) 2017-04-24
KR101763407B1 true KR101763407B1 (ko) 2017-07-31

Family

ID=58704334

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150143681A KR101763407B1 (ko) 2015-10-14 2015-10-14 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법

Country Status (1)

Country Link
KR (1) KR101763407B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026273B1 (ko) * 2017-08-03 2019-09-27 (주) 헬로팩토리 스크립트 생성 시스템
KR101974129B1 (ko) * 2018-01-30 2019-08-23 동서대학교 산학협력단 실시간 이벤트 처리 모듈 기반의 음성 인식 챗봇 ifttt 서비스 시스템 및 이를 이용한 챗봇 ifttt 서비스 방법
KR102103273B1 (ko) * 2018-02-27 2020-04-22 주식회사 와이즈넛 계층적으로 사용자 표현을 이해하고 답변을 생성하는 대화형 상담 챗봇 장치 및 방법
KR20190107351A (ko) 2018-03-12 2019-09-20 순천향대학교 산학협력단 사용자 음성에 대한 서비스 지연을 최소화하는 단말기 중심의 음성대화 시스템 및 방법
KR102133825B1 (ko) 2018-06-22 2020-07-16 서강대학교 산학협력단 단어자질을 강화한 음성 대화 방법 및 시스템
KR20220137437A (ko) * 2021-04-02 2022-10-12 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
CN113569020B (zh) * 2021-06-22 2023-10-10 复旦大学 智能会话系统中融合知识推理及知识导向的对话管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100286649B1 (ko) * 1996-06-27 2001-04-16 이구택 연어패턴에 기초한 어휘 변환방법
KR101309042B1 (ko) * 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100286649B1 (ko) * 1996-06-27 2001-04-16 이구택 연어패턴에 기초한 어휘 변환방법
KR101309042B1 (ko) * 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Also Published As

Publication number Publication date
KR20170043955A (ko) 2017-04-24

Similar Documents

Publication Publication Date Title
KR101763407B1 (ko) 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법
KR102256240B1 (ko) 논팩토이드형 질의 응답 시스템 및 방법
EP1349145B1 (en) System and method for providing information using spoken dialogue interface
WO2019046463A1 (en) SYSTEM AND METHOD FOR THE DEFINITION OF DIALOGUE INTENTIONS AND THE CONSTRUCTION OF INTENTION RECOGNITION MODELS WITHOUT PRIOR KNOWLEDGE
US20160189029A1 (en) Displaying Quality of Question Being Asked a Question Answering System
CN116775847B (zh) 一种基于知识图谱和大语言模型的问答方法和系统
CN111914568A (zh) 文本修辞句的生成方法、装置、设备及可读存储介质
CN113836277A (zh) 用于数字助理的机器学习系统
CN110895559B (zh) 模型训练、文本处理方法、装置以及设备
US20140351228A1 (en) Dialog system, redundant message removal method and redundant message removal program
JP2018028752A (ja) 対話システム及びそのためのコンピュータプログラム
JP4699954B2 (ja) マルチメディアデータ管理方法とその装置
US20220414463A1 (en) Automated troubleshooter
CN116127095A (zh) 一种序列模型与知识图谱结合的问答方法
CN116719520B (zh) 代码生成方法及装置
CN113392265A (zh) 多媒体处理方法、装置及设备
CN116541493A (zh) 基于意图识别的交互应答方法、装置、设备、存储介质
CN112447172B (zh) 一种语音识别文本的质量提升方法和装置
Gygli et al. Efficient object annotation via speaking and pointing
CN117435716B (zh) 电网人机交互终端的数据处理方法及系统
US11288265B2 (en) Method and apparatus for building a paraphrasing model for question-answering
CN114391142A (zh) 使用结构化和非结构化数据的解析查询
CN116414958A (zh) 文本语料的生成方法、装置、存储介质及电子设备
CN115238705A (zh) 语义解析结果重排序方法及系统
CN114238595A (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