KR101072890B1 - 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법 - Google Patents

데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법 Download PDF

Info

Publication number
KR101072890B1
KR101072890B1 KR1020090081935A KR20090081935A KR101072890B1 KR 101072890 B1 KR101072890 B1 KR 101072890B1 KR 1020090081935 A KR1020090081935 A KR 1020090081935A KR 20090081935 A KR20090081935 A KR 20090081935A KR 101072890 B1 KR101072890 B1 KR 101072890B1
Authority
KR
South Korea
Prior art keywords
word
semantic
expression
layer
sentence
Prior art date
Application number
KR1020090081935A
Other languages
English (en)
Other versions
KR20110024074A (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 KR1020090081935A priority Critical patent/KR101072890B1/ko
Publication of KR20110024074A publication Critical patent/KR20110024074A/ko
Application granted granted Critical
Publication of KR101072890B1 publication Critical patent/KR101072890B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 의미 표현 역색인표를 이용하여 입력 음성에 대한 의미 표현을 결정하는 기법에 관한 것으로, 입력된 음성을 인식하고, 그 음성 인식 결과의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변환하며, 변환된 의미 표현에 대한 층위를 분석하고, 의미 표현 역색인표 데이터베이스를 참조하여 해당 의미 표현을 검색한 후, 검색된 의미 표현들에 대한 중요도를 분석하여 입력 음성에 대한 의미 표현을 결정함으로써, 입력된 음성에 대한 의미 표현을 그 의미에 따라 효과적으로 결정하여 출력할 수 있는 것이다.
음성 인식, 의미 표현, 역색인표

Description

데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법{DATABASE REGULARITY APPARATUS AND ITS METHOD, IT USED SPEECH UNDERSTANDING APPARATUS AND ITS METHOD}
본 발명은 문장 데이터베이스를 정제하여 음성을 인식하는 기법에 관한 것으로, 더욱 상세하게는 문장 데이터베이스를 정제하고, 정제된 문장 데이터베이스를 이용하여 입력된 음성의 의미 표현을 결정하는데 적합한 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-019-02, 과제명: 휴대형 한/영 자동통역 기술개발].
잘 알려진 바와 같이, 자연 언어를 이해하는 장치는 사람이 입력하는 언어를 분석하여 사용자의 의도를 파악하고, 그에 상응하는 응답을 제공하기 위한 것으로, 그 장치 자체로서, 인터넷 검색 사이트에 이용되거나 음성 인식 장치와 결합하여 서비스 센터 등에 이용될 수 있다.
이러한 장치는 기 구축된 규칙과 대량의 문장 데이터베이스에서 구축된 예제 들을 기반으로 하여 예를 들면, 형태소 분석, 언어 구조 분석, 기 구축된 문맥 자유 문법 등에 의존하는 경우가 대부분을 차지하고 있기 때문에, 이러한 장치에 구축된 규칙에 어긋나거나 예제 데이터베이스를 벗어나는 형태의 문장의 경우 해당 문장에 대한 명확한 이해를 수행할 수 없고, 사용자의 의도를 정확히 파악할 수 없으며, 이에 따라 언어 구조 분석 시 분석 가능 범위에 따른 입력 가능한 문장이 제한될 수 있다.
또한, 이러한 장치가 음성 인식 장치와 결합할 경우, 음성으로 입력되기 때문에 사용자가 음성을 발성하는 중에 말을 더듬거나, 예를 들면, '아', '어', '좀' 등의 간투사(감탄사)와 같은 사용자의 의도와는 상관없는 단어가 삽입되거나, 심지어 문법적으로 오류가 있는 발화를 하는 경우가 발생하게 된다. 이러한 음성 입력의 특성에 따라 언어 분석을 통해 사용자가 발성한 문장의 성분을 정확하게 분석하기 어려운 문제점이 있으며, 음성 인식 장치의 출력의 경우 다양한 인식 오류를 포함할 수 있기 때문에 사용자가 발성한 문장의 성분을 정확하게 분석하는데 더 어려움이 있다.
이러한 제한으로 인해 음성 언어를 이해하는 장치의 실용화는 예를 들면, 항공 예약 콜 센터, 가정용 로봇 등과 같이 사용자가 발성할 수 있는 문장의 종류가 매우 한정적인 분야에 국한되고 있는 실정이다.
그러나 사용자의 다양한 발화를 이해하는 장치에 대한 필요성이 지속적으로 제기되고 있으며, 특히 자동 통역 장치의 경우 해외 여행, 국제 비즈니스 등의 영역에서의 자동 통역 기능을 수행하여야 하기 때문에 사용자의 다양한 발화를 이해 하는 장치의 탑재가 필수적으로 요구된다.
이러한 자동 통역 장치는 서로 다른 언어를 사용하는 사람들이 자신들의 모국어로도 의사 소통을 할 수 있도록 자동 통역 기능을 제공하는 장치로서, 음성이 입력되면, 그에 대한 음성 인식을 수행하고, 그 음성 인식 결과를 제 2 언어로 자동 번역한 후에, 자동 번역된 결과를 다시 제 2 언어의 음성으로 합성하여 출력하게 되는데, 음성 인식을 수행하는 과정과 음성 인식 결과를 이용하여 자동 번역하는 과정에서 각각 음성 인식 오류, 자동 번역 오류 등의 오류 발생 위험에 노출되어 있으며, 이러한 오류 발생 위험이 노출된 장치를 다른 장치와 연결하여 사용할 경우 그 오류 발생 위험은 더욱 더 높아지게 된다.
하지만, 자동 통역 장치의 경우 사용자 관점에서 볼 때 통역 결과가 자신이 발화한 의도를 정확하게 출력 및 전달했는지의 여부가 가장 중요할 뿐, 사용자가 발화한 문장을 얼마나 정확히 인식했는지 혹은 인식 결과에 대응하는 원문의 문장을 얼마나 정확히 번역했는지의 여부는 크게 중요하지 않기 때문에, 사용자의 발화를 한 단어라도 더 정확히 전달하는 것보다는 사용자의 의도를 파악하고 이를 번역해주는 자동 통역 장치게 더욱 요구된다.
상술한 바와 같이 종래에 음성 언어를 이해하는 장치는 첫째, 기 구축된 규칙에 어긋나거나 음성 언어를 이해하는데 이용되는 문장 데이터베이스에 없는 형태의 문장은 분석할 수 없기 때문에 발화 가능한 문장의 종류가 제한적이고, 둘째, 음성 인식 오류, 비문법적인 발성, 간투사 삽입 등의 음성 입력에는 취약하며, 셋째, 다양한 형태의 음성 입력에 따른 발성 의도를 전달하는데 취약하다는 문제점이 있다.
이에 따라, 본 발명은 문장 데이터베이스에서 각각의 문장을 의미 표현으로 변환하고, 이에 대한 층위를 각각 분석하며, 분석된 층위에 대응하는 역색인표를 데이터베이스화함으로써, 입력 음성에 대응하는 의미 표현을 결정하도록 의미 표현 역색인표 데이터를 제공할 수 있는 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 입력된 음성을 의미 표현으로 변환하고, 의미 표현 역색인표 데이터베이스를 이용하여 분석된 층위에 따라 각각의 의미 표현을 검색한 후, 입력된 음성에 대응하는 의미 표현을 결정할 수 있는 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법을 제공하고자 한다.
본 발명의 일 실시 예의 일 양태에 따르면, 문장 데이터베이스에서 추출된 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 의미 표현 변환부와, 상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 층위 분석부와, 상기 전달되는 층위 정보에 따라 상기 의미 표현에 의미 표현 식별 번호를 부여하고, 상기 부여된 의미 표현 식별 번호를 갖는 역색인표를 구성하여 의미 표현 역색인표 데이터베이스에 저장하는 역색인표 기록부를 포함하는 데이터베이스 정제 장치가 제공된다.
바람직하게는, 상기 의미 표현 변환부는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는 데이터베이스 정제 장치가 제공된다.
바람직하게는, 상기 역색인표는, 단어 뭉치 이름, 층위 번호 및 상기 의미 표현 식별 번호를 포함하는 데이터베이스 정제 장치가 제공된다.
본 발명의 일 실시 예의 다른 양태에 따르면, 문장 데이터베이스에서 추출된 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 단계와, 상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 단계와, 상기 전달되는 층위 정보에 따라 상기 의미 표현에 의미 표현 식별 번호를 부여하는 단계와, 상기 부여된 의미 표현 식별 번호를 갖는 역색인표를 구성하여 의미 표현 역색인표 데이터베이스에 저장하는 단계를 포함하는 데이터베이스 정제 방법이 제공된다.
바람직하게는, 상기 의미 표현으로 변환하는 단계는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하는 방식으로 수행되는 데이터베이스 정제 방법이 제공된다.
바람직하게는, 상기 역색인표는, 단어 뭉치 이름, 층위 번호 및 상기 의미 표현 식별 번호를 포함하는 데이터베이스 정제 방법이 제공된다.
본 발명의 다른 실시 예의 일 양태에 따르면, 입력된 음성을 인식하여 음성 인식 결과를 전달하는 음성 인식부와, 상기 전달된 음성 인식 결과에 따른 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 의미 표현 변환부와, 상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 층위 분석부와, 상기 전달되는 층위 정보에 따라 층위 순으로 상기 단어 뭉치가 각각 어떤 의미 표현에 속하는지 의미 표현 역색인표 데이터베이스를 검색하여 모든 층위에 대한 각각의 후보 의미 표현을 추출하는 색인 검색부와, 상기 추출된 후보 의미 표현이 유일하지 않은 경우 각각의 중요도를 분석하고, 상기 모든 층위에 대한 분석이 완료되면 분석 결과를 전달하는 중요도 분석부와, 상기 전달된 분석 결과에 따라 최적 의미 표현을 결정하는 의미 표현 결정부를 포함하는 음성 이해 장치가 제공된다.
바람직하게는, 상기 의미 표현 변환부는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는 음성 이해 장치가 제공된다.
바람직하게는, 상기 색인 검색부는, 어느 하나의 층위에 대해 추출된 상기 후보 의미 표현이 포함하는 상기 단어 뭉치의 조합이 유일할 경우 다음 층위에 대해 상기 후보 의미 표현을 추출하고, 추출하고, 상기 단어 뭉치의 조합이 유일하지 않은 경우 상기 중요도 분석부를 통해 상기 중요도를 분석하는 방식으로 마지막 층위까지 상기 중요도를 분석한 후, 상기 후보 의미 표현을 추출하는 음성 이해 장치가 제공된다.
본 발명의 다른 실시 예의 다른 양태에 따르면, 입력되는 음성의 인식 결과에 따른 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 단계와, 상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 단계와, 상기 전달되는 층위 정보에 따라 층위 순으로 상기 단어 뭉치가 각각 어떤 의미 표현에 속하는지 의미 표현 역색인표 데이터베이스를 검색하여 모든 층위에 대한 각각의 후보 의미 표현을 추출하는 단계와, 상기 추출된 후보 의미 표현이 유일하지 않은 경우 각각의 중요도를 분석하는 단계와, 상기 모든 층위에 대한 분석이 완료되면 분석 결과를 전달하는 단계와, 상기 전달된 분석 결과에 따라 최적 의미 표현을 결정하는 단계를 포함하는 음성 이해 방법이 제공된다.
바람직하게는, 상기 의미 표현으로 변환하는 단계는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는 음성 이해 방법이 제공된다.
바람직하게는, 상기 후보 의미 표현을 추출하는 단계는, 어느 하나의 층위에 대해 추출된 상기 후보 의미 표현이 포함하는 상기 단어 뭉치의 조합이 유일할 경우 다음 층위에 대해 상기 후보 의미 표현을 추출하고, 추출하고, 상기 단어 뭉치의 조합이 유일하지 않은 경우 상기 중요도 분석부를 통해 상기 중요도를 분석하는 방식으로 마지막 층위까지 상기 중요도를 분석한 후, 상기 후보 의미 표현을 추출하는 음성 이해 방법이 제공된다.
본 발명은, 입력된 문장 또는 음성이 입력되어 음성 인식기를 통해 출력된 결과 문장으로부터 의미 표현을 추출하고, 이를 기반으로 기 구축된 의미 표현 역색인표 데이터베이스를 참조하여 가장 유사한 의미 표현을 검색함으로써, 사용자의 의도에 맞는 정확한 의미 표현을 결정할 수 있다.
또한, 본 발명은 음성 인식 결과를 제 2의 언어로 통역하는 자동 통역 장치와 같이 사용자가 입력하는 문장이나 음성 인식 결과에서 불필요한 부분을 생략하고, 문장의 각 부분의 종속 관계를 분석하여 획득된 의미 표현과 기 구축된 의미 표현 역색인표 데이터베이스를 참조하여 검색함으로써, 사용자의 다양한 의도를 구분할 수 있다.
본 발명은, 입력된 음성을 인식하고, 그 음성 인식 결과의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변환하며, 변환된 의미 표현에 대한 층위를 분석하고, 의미 표현 역색인표 데이터베이스를 참조하여 해당 의미 표현을 검색한 후, 검색된 의미 표현들에 대한 중요도를 분석하여 입력 음성에 대한 의미 표현을 결정한다는 것이며, 이러한 기술적 수단을 통해 종래 기술에서의 문제점을 해결할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형 태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따라 입력된 음성에 대한 의미 표현을 결정하는데 적합한 음성 이해 시스템의 블록 구성도로서, 데이터베이스 정제 장치(100), 음성 이해 장치(200) 등을 포함할 수 있다.
도 1을 참조하면, 데이터베이스 정제 장치(100)는 다양한 문장이 구축되어 있는 데이터베이스에서 각 문장을 추출하고, 추출된 각 문장에 대해 단어 뭉치를 구분하고, 단어 뭉치의 종속 관계를 구분하는 등의 과정을 수행하여 의미 표현으로 변환하며, 변환된 의미 표현에서 각 단어 뭉치의 층위를 분석한 후에, 분석된 층위별로 각 단어 뭉치의 식별 번호를 부여하여 이를 역색인표로서 데이터베이스에 저장한다.
그리고, 음성 이해 장치(200)는 음성이 입력되면, 입력된 음성을 전처리하여 음성 인식 특징을 추출하고, 추출된 음성 인식 특징을 단어들의 음향 모델 및 언어 모델을 참조하여 음성을 인식하며, 그 음성 인식 결과의 단어열에 대해 단어 뭉치를 구분하고, 단어 뭉치의 종속 관계를 구분하는 등의 과정을 수행하여 의미 표현으로 변환하며, 변환된 의미 표현에서 각 단어 뭉치의 층위를 분석한 후에, 분석된 층위별로 각 단어 뭉치가 어떤 의미 표현에 속하는지 데이터베이스 정제 장치(100)의 의미 표현 역색인표를 저장하는 데이터베이스에서 검색하고, 그 검색 결과에 따른 의미 표현 목록과 단어 뭉치들의 목록에 대한 각각의 중요도를 평가한 후, 그 평가 결과에 따라 입력 음성에 대한 의미 표현을 결정한다.
다음에, 상술한 바와 같은 구성을 갖는 음성 이해 시스템에서 다양한 문장이 구축되어 있는 데이터베이스에서 각 문장을 추출하고, 추출된 각 문장에 대해 단어 뭉치를 구분하고, 단어 뭉치의 종속 관계를 구분하는 등의 과정을 수행하여 의미 표현으로 변환하며, 변환된 의미 표현에서 각 단어 뭉치의 층위를 분석한 후에, 분석된 층위별로 각 단어 뭉치의 식별 번호를 부여하여 이를 역색인표로서 데이터베이스에 저장하는 데이터베이스 정제 장치에 대해 상세히 설명한다.
도 2는 본 발명의 실시 예에 따라 다수의 문장에 대한 의미 표현을 정제하는데 적합한 데이터베이스 정제 장치의 블록 구성도로서, 문장 데이터베이스(102), 제 1 의미 표현 변환부(104), 제 1 층위 분석부(106), 역색인표 기록부(108), 의미 표현 역색인표 데이터베이스(110) 등을 포함할 수 있다.
도 2를 참조하면, 문장 데이터베이스(102)는 다양한 문장들이 저장되어 있는 것으로, 저장된 다양한 문장들은 의미 표현의 역색인표 데이터베이스를 구축하기 위해 추출되어 전달된다.
그리고, 제 1 의미 표현 변환부(104)는 문장 데이터베이스(102)로부터 추출된 다양한 문장들 각각을 의미 표현으로 변환하는 것으로, 전달되는 문장의 단어열에서 묶여 사용되는 단어들을 연결하여 단어 뭉치를 구성하고, 각 단어 뭉치가 어떤 단어 뭉치에 종속되는지를 판단하며, 생략 가능한 단어의 경우 별도로 표시하고, 특정 단어 그룹에 속하는 단어는 해당 그룹의 이름으로 대체해 놓는 방식으로 수행되는데, 이 때 문장의 의도와는 상관없는 간투사(감탄사, 예를 들면, '아', '예' 등)들의 그룹 역시 특정 단어 그룹에 포함된다.
예를 들면, '멋진 철수는 학교에 갑니다.'와 같은 문장의 경우 문장의 일부인 '철수는'은 '철수'와 '는'의 조합으로 형태소 분석에 따르면 두 단어지만, '는'은 '철수'의 기능을 나타내는 조사로 붙어서 쓰이므로, '철수+는'과 같은 하나의 단어 뭉치가 되고, '학교에'의 '에'와 같은 경우 '학교'의 기능을 나타내는 조사로 붙어 쓰여야 하므로 '학교+에'와 같이 하나의 단어 뭉치가 된다.
그리고, 주어진 문장에서 문장의 주동사에 해당하는 '갑니다'는 가장 중요한 성분으로 문장의 나머지 부분 모두를 포괄하며, 문장의 주어부인 '철수+는'은 '갑니다'의 주어이므로 '갑니다'에 종속되고, '학교+에'도 '갑니다'에 필요한 성분이므로 '갑니다'에 종속된다고 판단할 수 있으며, '철수+는'을 꾸미는 형용사의 활용형 '멋진'은 '철수+는'에 종속되는 것으로 판단할 수 있다.
또한, '멋진 철수 학교 갑니다.' 역시 처음 문장과 동일한 의미를 가지므로 '철수'의 조사인 '는'과 '학교'의 조사인 '에'는 생략 가능하다고 판단할 수 있으며, '학교'와 같은 단어의 경우 장소 그룹에 포함되는 명사라 볼 수 있으므로 '$장소'와 같이 그룹 이름으로 대체할 수 있고, '철수'역시 사람 이름 그룹에 포함되는 명사이므로 '$사람이름'으로 대체할 수 있다. 이 때, 본 발명에서는 생략 가능한 부분은 예를 들면, '[]'를 이용해 표시하는 것으로 한다. 일 예로서, 도 4a는 본 발명의 실시 예에 따라 변환된 의미 표현을 의존 문법 형태로 표현한 것을 예시한 도면이다.
즉, 제 1 의미 표현 변환부(104)는 상술한 바와 같이 단어열을 단어 뭉치로 묶고, 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 의미 표현을 출력 및 전달한다. 여기에서, 제 1 의미 표현 변환부(104)는 각 문장의 단어열에 대한 의미 표현을 추출하기 위해 예를 들면, 형태소 분석, 문장 구조 분석 등의 언어 분석 기법을 이용할 수 있다.
그리고, 제 1 층위 분석부(106)는 전달되는 의미 표현에서 각 단어 뭉치의 층위를 분석 및 계산하는 것으로, 예를 들어 도 4a에 도시한 바와 같은 의미 표현이 전달되면, 그 의미 표현으로부터 각 단어 뭉치의 층위를 계산하는데, 도 4b는 본 발명의 실시 예에 따라 층위 분석을 통해 계산된 각 단어 뭉치의 층위를 예시한 도면으로, 도 4b에 도시한 바와 같이 네 개의 단어 뭉치 중 '갑니다'가 문장이 담고 있는 의미 중 가장 큰 비중을 차지하고 있으며, '$사람이름+[은/는]'과 '$장소+[에]'에 각각 해당하는 '철수는'과 '학교에'가 그 다음으로 큰 비중을 차지하고 있으며, '멋진'은 가장 낮은 비중을 차지하고 있는 것으로 분석할 수 있고, 이와 같이 문장 전체에서 차지하는 의미의 비중에 따라 문장 내의 각 단어 뭉치를 층위별로 구분할 수 있다.
다음에, 역색인표 기록부(108)는 각 의미 표현들에 대한 층위별 단어 뭉치들의 역색인표를 기록하는 것으로, 같은 단어 뭉치라 할지라도 대응되는 층위가 다를 경우 다른 단어 뭉치로 파악하는 방식으로, 각 단어 뭉치의 의미 표현에 식별 번호를 부여하고, 예를 들어 단어 뭉치 이름, 층위 번호, 의미 표현 식별 번호 등을 포함하는 역색인표를 구성하며, 구성된 역색인표를 의미 표현 역색인표 데이터베이스(110)에 저장한다.
따라서, 상술한 바와 같이 입력 문장의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변환하며, 변환된 의미 표현에 대한 층위를 분석하고, 이에 따라 역색인표를 기록 및 저장함으로써, 다양한 문장을 정제하여 음성 이해를 위한 의미 표현 역색인표 데이터베이스를 효과적으로 구축할 수 있다.
다음에, 입력된 음성을 인식하고, 그 음성 인식 결과의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변환하며, 변환된 의미 표현에 대한 층위를 분석하고, 상술한 바와 같은 구성을 갖는 데이터베이스 정제 장치를 참조하여 해당 의미 표현을 검색한 후, 검색된 의미 표현들에 대한 중요도를 분석하여 입력 음성에 대한 의미 표현을 결정하는 음성 이해 장치에 대해 상세히 설명한다.
도 3은 본 발명의 실시 예에 따라 입력 음성에 대응하는 의미 표현을 결정하는데 적합한 음성 이해 장치의 블록 구성도로서, 음성 인식부(202), 제 2 의미 표현 변환부(204), 제 2 층위 분석부(206), 색인 검색부(208), 중요도 분석부(210), 의미 표현 결정부(212) 등을 포함할 수 있다.
도 3을 참조하면, 음성 인식부(202)는 음성이 입력되면, 입력된 음성을 전처리하여 음성 인식을 위한 특징을 추출하고, 추출된 특징과 단어들의 음향 모델 및 단어들 간의 연결 확률을 나타내는 언어 모델과 비교하여 가장 높은 확률을 갖는 단어열을 선택 및 출력한다. 여기에서, 출력되는 단어열은 가장 높은 확률을 갖는 단어열(1??best), 가장 높은 확률을 갖는 n개의 단어 열(n??best), 가장 높은 확률을 갖는 단어들의 네트워크 연결 구조(lattice) 중 어느 하나로 출력될 수 있다.
그리고, 제 2 의미 표현 변환부(204)는 전달되는 단어열을 단어 뭉치로 묶고, 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 의미 표현을 출력하고, 제 2 층위 분석부(206)는 전달되는 의미 표현에서 각 단어 뭉치의 층위를 분석 및 계산한다. 이러한 제 2 의미 표현 변환부(204)와 제 2 층위 분석부(206)는 상술한 바와 같은 데이터베이스 정제 장치(100)의 제 1 의미 변환부(104) 및 제 1 층위 분석부(106)와 동일한 기능을 수행한다.
다음에, 색인 검색부(208)는 의미 표현의 각 단어 뭉치에 대한 층위를 전달받아 층위 순으로 각 단어 뭉치가 어떤 의미 표현에 속하는지 데이터베이스 정제 장치(100)의 의미 표현 역색인표 데이터베이스(110)를 검색하는 것으로, 입력 음성에 대응하는 문장의 각 단어 뭉치에 대한 층위가 전달되면, 먼저 층위 1인 단어 뭉치들이 의미 표현 역색인표 데이터베이스(110) 중 어떤 의미 표현에 속하는지를 검색하고, 어떤 의미 표현이 층위 1인 단어 뭉치를 가장 많이 포함하고 있는지 판단한다. 이 때, 의미 표현 역색인표 데이터베이스(110) 내 복수의 의미 표현들이 층위 1인 단어 뭉치를 동일한 개수만큼 포함하는 경우 그 의미 표현들의 목록과 각 의미 표현들이 포함하는 층위 1인 단어 뭉치들의 목록을 수집 및 전달한다.
또한, 색인 검색부(208)는 중요도 분석부(210)로부터 층위 1에 대응하여 추출된 의미 표현들의 목록 또는 중요도 순으로 출력되는 의미 표현들의 목록이 전달되면, 이들이 의미 표현의 층위 2에 대응하는 단어 뭉치를 얼마나 포함하고 있는지 의미 표현 역색인표 데이터베이스(110)를 참조하여 검색한다. 이 때, 의미 표현 역색인표 데이터베이스(110) 내 복수 개의 의미 표현들이 층위 2인 단어 뭉치를 동일한 개수만큼 포함하는 경우가 발생할 수 있는데, 이러한 결과를 수집하여 층위 2인 단어 뭉치를 동일한 개수만큼 포함하는 의미 표현들의 목록과 각 의미 표현들이 포함하는 층위 2인 단어 뭉치들의 목록을 수집하여 중요도 분석부(210)에 전달한다. 이러한 과정은 마지막 층위까지 모두 검색을 완료할 때까지 수행될 수 있다.
다음에, 중요도 분석부(210)는 색인 검색부(208)로부터 전달되는 의미 표현들의 목록과 층위 1인 단어 뭉치들의 목록에 따라 의미 표현들이 포함하는 층위 1인 단어 뭉치들 각각의 중요도를 평가하고, 의미 표현들 중 재검색해야 하는 의미 표현의 목록을 추출하거나 의미 표현들이 포함하는 층위 1인 단어 뭉치들의 중요도 에 따라 의미 표현들을 중요도 순으로 출력(즉, 중요도 순으로 각각의 점수를 부여하여 출력)한다. 이때, 추출된 의미 표현들의 목록 또는 중요도 순으로 출력되는 의미 표현들의 목록은 색인 검색부(208)로 다시 전달되며, 다음 층위(즉, 층위 2)의 검색을 수행한다. 즉, 층위 1의 검색 및 중요도 분석이 완료되면, 층위 2의 검색 및 중요도 분석을 수행하고, 이후에 층위 3의 검색 및 중요도 분석을 수행하는 방식으로 층위 순으로 순차적으로 검색 및 중요도 분석을 수행할 수 있다.
여기에서, 색인 검색부(208)와 중요도 분석부(210)는 층위 1, 층위 2, 층위 3 등과 같이 순차적으로 검색 및 중요도 분석을 수행하게 되는데, 그 의미 표현들 중 마지막 층위에 대한 검색 및 중요도 분석이 완료되거나 특정 층위에서 의미 표현의 단어 뭉치를 더 이상 포함하는 의미 표현이 의미 표현 역색인표 데이터베이스(110)에 없을 경우 이러한 검색 및 중요도 분석을 완료하고, 이에 따라 추출된 후보 의미 표현들의 목록과 중요도 순으로 출력된 후보 의미 표현들의 목록을 의미 표현 결정부(212)에 전달한다.
이어서, 의미 표현 결정부(212)는 전달되는 후보 의미 표현들의 목록과 중요도 순으로 출력된 후보 의미 표현들의 목록을 이용하여 입력 음성에 대한 최적 의미 표현을 결정한 후 출력한다.
따라서, 입력된 음성의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변환하며, 변환된 의미 표현에 대한 층위를 분석하고, 의미 표현 역색인표 데이터베이스를 참조하여 해당 의미 표현을 검색한 후, 검색된 의미 표현들에 대한 중요도를 분석하여 입력 음성에 대한 의미 표현을 결정함으로써, 입력 음성에 대응하는 의미 표현을 효과적으로 결정할 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 데이터베이스 정제 장치에서 다양한 문장이 구축되어 있는 데이터베이스에서 각 문장을 추출하고, 추출된 각 문장에 대해 단어 뭉치를 구분하고, 단어 뭉치의 종속 관계를 구분하는 등의 과정을 수행하여 의미 표현으로 변환하며, 변환된 의미 표현에서 각 단어 뭉치의 층위를 분석한 후에, 분석된 층위별로 각 단어 뭉치의 식별 번호를 부여하여 이를 역색인표로서 데이터베이스에 저장하는 과정에 대해 설명한다.
도 5는 본 발명의 일 실시 예에 따라 다수의 문장에 대한 의미 표현을 정제하는하는 과정을 도시한 플로우차트이다. 이하에서는, 제 1 문장으로 '지금 머무는 방 현금으로 얼마인가요?'와 같은 문장이, 제 2 문장으로 '그 방은 얼마인가요?'와 같은 문장이 문장 데이터베이스(102)에 저장되어 있는 것으로 하여 설명한다.
도 5를 참조하면, 데이터베이스 정제 장치(100)의 데이터베이스 정제 모드에서(단계502), 제 1 의미 표현 변환부(104)에서는 데이터베이스 정제를 위한 임의의 문장이 입력되는지를 체크한다(단계504).
상기 단계(504)에서의 체크 결과, 임의의 문장이 입력될 경우 제 1 의미 표현 변환부(104)에서는 제 1 문장 및 제 2 문장에 대한 형태소 분석, 문장 구조 분석 등의 언어 분석을 각각 수행하여 의미 표현으로 변환한다(단계506).
예를 들면, 도 6a는 본 발명의 일 실시 예에 따라 제 1 문장에 대한 의미 변환을 수행하는 것을 예시한 도면으로, 제 1 문장인 '지금 머무는 방 현금으로 얼마인가요?'와 같은 문장에서 '현금으로'는 '현금'과 '으로'로 이루어진 어절이지만, '으로'는 '현금'의 문장에서의 기능을 나타내는 조사이므로, '현금+으로'와 같이 묶어 쓸 수 있고, 본 문장에서 '얼마인가요'는 문장의 서술어로 가장 중요한 부분이므로 다른 모든 부분을 포함한다고 정할 수 있으며, '현금+으로'는 '얼마인가요'라는 서술어를 꾸며주는 말이므로, '얼마인가요'에 종속되고, '방' 역시 '얼마인가요?'의 목적어이므로, '얼마인가요'에 종속되는 것으로 판단할 수 있다.
또한, '머무는'은 '방'을 꾸미는 말이므로, '방'에 종속되며, '지금'은 '머무는'에 종속되는 말이고, '현금'은 '카드', '수표'와 같이 결제 수단을 나타내는 말로, '$결제수단'으로 대체될 수 있다. 이러한 의미 변환을 의존 문법 표현으로 나타내면 도 6a에 도시한 바와 같다.
한편, 도 6b는 본 발명의 일 실시 예에 따라 제 2 문장에 대한 의미 변환을 수행하는 것을 예시한 도면으로, 제 2 문장인 '그 방은 얼마인가요?'의 경우 같은 과정을 거쳐 도 6b에 도시한 바와 같이 의존 문법 표현으로 나타낼 수 있다. 이 문장의 경우 '그 방 얼마인가요?'와 같이 써도 그 뜻이 동일하므로 조사 '은'은 생략 가능 표시를 할 수 있다.
다음에, 제 1 층위 분석부(106)에서는 제 1 의미 표현 변환부(104)로부터 의미 표현을 전달 받아 의미 표현이 포함하는 단어 뭉치 각각의 층위를 계산(층위 분석)한다(단계508).
예를 들면, 도 6c 및 도 6d는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장 각각에 대한 층위 분석을 나타낸 도면으로, '지금 머무는 방 현금으로 얼마인가요?'와 같은 제 1 문장의 경우 도 6c에 도시한 바와 같이 '얼마인가요'는 층위 1, '$결제수단+으로/로'는 층위 2, '방'은 층위 2, '머무는'은 층위 3, '지금'은 층위 4로 나타낼 수 있고, '그 방은 얼마인가요?'와 같은 제 2 문장의 경우 도 6d에 도시한 바와 같이 '얼마인가요'는 층위 1, '방+[은]'은 층위 2, '그'는 층위 3으로 나타낼 수 잇다.
그리고, 역색인 표 기록부(108)에서는 층위 분석된 의미 표현이 입력되면, 이들에게 식별 번호를 부여하고(단계510), 각 단어 뭉치에 층위 정보를 부가한 항목에 해당 의미 표현의 식별 번호를 추가한 역색인표를 의미 표현 역색인표 데이터베이스(110)에 저장한다(단계512). 여기에서, 역색인표는 예를 들면, 단어 뭉치 이름, 층위 번호, 의미 표현의 식별 번호 등을 포함할 수 있다.
예를 들면, 도 6e 및 도 6f는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장 각각의 역색인 정보를 나타낸 도면으로, 제 1 문장인 '지금 머무는 방 현금으로 얼마인가요?'의 경우 도 6e에 도시한 바와 같이 제 1 문장으로부터 변환된 의미 표현을 100번으로 정한다면, 100번 의미 표현에 '얼마인가요'라는 단어 뭉치가 층위 1로 포함되어 있으므로, 해당되는 역색인 정보는 '['얼마인가요', 층위 1, 100]'와 같은 구조를 이루고, 이와 함께 '['$결제수단+로/으로', 층위 2, 100]', '['방', 층위 2, 100]', '['머무는', 층위 3, 100]', '['지금', 층위 4, 100]'으로 나타낼 수 있다
또한, 제 2 문장인 '그 방은 얼마인가요?'의 경우 제 6f에 도시한 바와 같이 제 2 문장으로부터 추출되는 의미 표현을 200번이라고 할 때, 역색인 정보는 '['얼마인가요', 층위 1, 200]', ['방+[은]', 층위 2, 200]', '['방', 층위 2, 200]', '[그', 층위 3, 200]'으로 나타낼 수 있다. 여기에서, '방+[은]'과 같은 경우 '은'이 생략 가능하므로 실제로 이 의미 표현은 '방'이라는 단어 뭉치 역시 포함하는 것이기 때문에, '방'에 해당하는 역색인 정보가 삽입될 수 있다.
한편, 도 6g는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장의 역색인 정보에 따라 데이터베이스화된 역색인표를 나타낸 도면으로, '지금 머무는 방 현금으로 얼마인가요?'와 같은 제 1 문장과 '그 방은 얼마인가요?'와 같은 제 2 문장 각각에 대한 역색인 정보(즉, 도 6e 및 도 6f에 도시한 바와 같은 각각의 역색인 정보)를 이용하여 의미 표현 역색인표를 구성하면, 도 6g에 도시한 바와 같이 '['얼마인가요', 층위 1, 100, 200]', '['$결제수단+로/으로', 층위 2, 100]', '['방', 층위 2, 100, 200]', '['머무는', 층위 3, 100]', '['지금', 층위 4, 100]', ['방+[은]', 층위 2, 200]', '[그', 층위 3, 200]'으로 나타낼 수 있으며, 이러한 의미 표현 역색인표는 데이터베이스화되어 의미 표현 역색인표 데이터베이스(110)에 저장된다.
따라서, 문장 데이터베이스에서 추출된 다양한 문장들의 단어열에 대해 의미 표현으로 변환하고, 의미 표현들에 대한 층위 분석을 통해 각각의 층위를 계산하며, 각각의 층위에 대한 역색인 정보를 이용하여 의미 표현 역색인표를 데이터베이스화하여 저장함으로써, 다양한 문장에 대한 의미 표현을 역색인표로 정제하여 데이터베이스화할 수 있다.
다음에, 상술한 바와 같은 음성 이해 장치에서 입력된 음성을 인식하고, 그 음성 인식 결과의 단어열에서 단어 뭉치로 구분하고, 이에 대한 의미 표현으로 변 환하며, 변환된 의미 표현에 대한 층위를 분석하고, 상술한 바와 같은 구성을 갖는 데이터베이스 정제 장치를 참조하여 해당 의미 표현을 검색한 후, 검색된 의미 표현들에 대한 중요도를 분석하여 입력 음성에 대한 의미 표현을 결정하는 과정에 대해 설명한다.
도 7은 본 발명의 다른 실시 예에 따라 입력 음성에 대응하는 의미 표현을 결정하는 과정을 도시한 플로우차트이다.
도 7을 참조하면, 음성 이해 장치(200)의 대기 모드에서(단계702), 음성 인식부(202)에서는 사용자가 발화한 음성이 입력되는지를 체크한다(단계704).
상기 단계(704)에서의 체크 결과, 음성이 입력되면, 음성 인식부(202)에서는 사용자가 발화한 음성에 대한 음성 인식을 수행하여 그 음성 인식 결과를 출력한다(단계706)
예를 들면, 사용자가 '어 지금 제가 머무는 그 방 얼마인가요?'라고 발화하였고, 이를 음성 인식부(202)에서 음성 인식한 결과 입력된 음성과 동일하게 '어 지금 제가 머무는 그 방 얼마인가요?'라고 인식될 수 있고, 이에 따른 음성 인식 결과의 문장이 출력되어 제 2 의미 표현 변환부(204)로 전달될 수 있다.
그리고, 제 2 의미 표현 변환부(204)에서는 음성 인식 결과를 전달 받아 의미 표현 변환을 수행한다(단계708).
예를 들면, 도 8a 및 도 8b는 본 발명의 다른 실시 예에 따라 음성 인식 결과에 대응하여 변환된 의미 표현을 나타낸 도면으로, '어 지금 제가 머무는 그 방 얼마인가요?'라는 음성 인식 결과에 대한 의미 표현 변환을 수행할 경우 도 8a에 도시한 바와 같이 '얼마인가요', '방', '그', '머무는', '제+가', '지금', '$간투사'와 같은 의존 문법 표현으로 나타낼 수 있고, 여기에서, '$간투사'의 경우 문장의 의미에 영향을 주지 않으므로 생략하여 실제 의미 표현은 도 8b에 도시한 바와 같이 '얼마인가요', '방', '그', '머무는', '제+가', '지금'과 같은 의존 문법 표현으로 나타낼 수 있다.
다음에, 제 2 층위 분석부(206)에서는 제 2 의미 표현 변환부(204)로부터 의미 표현을 입력 받아 각 단어 뭉치의 층위를 분석 및 계산한다(단계710)
예를 들면, 도 8c는 본 발명의 다른 실시 예에 따라 각각의 의미 표현에 대한 층위를 나타낸 도면으로, 단계708에서 변환된 의미 표현들에 대한 각각의 층위를 분석하여 계산하면, 도 8c에 도시한 바와 같이 '얼마인가요'는 층위 1, '방'은 층위 2, '그'는 층위 3, '머무는'은 층위 3, '제+가'는 층위 4, '지금'은 층위 4로 분석 및 계산될 수 있고, 이러한 층위 정보는 색인 검색부(208)로 전달될 수 있다.
그리고, 색인 검색부(208)에서는 의미 표현에 대한 단어 뭉치의 목록과 각 단어 뭉치의 층위 정보를 받아 의미 표현 역색인표 데이터베이스(110)를 참조하여 의미 표현을 검색하는데, 처음으로 층위 정보가 전달될 경우 층위 1부터 검색하기 시작한다(단계712). 이 때, 색인 검색부(208)에서는 층위 1의 단어 뭉치가 의미 표현 역색인표 데이터베이스(110)에 있는지 검사한 후, 의미 표현 역색인표 데이터베이스(110)에 있을 경우 해당 층위(즉, 층위 1)로 검색을 진행한다.
또한, 색인 검색부(208)에서는 층위 1에 해당하는 단어 뭉치가 어떤 의미 표현에 포함되는지 의미 표현 역색인표 데이터베이스(110)를 이용하여 후보 의미 표 현을 검색한다(단계714).
이 때, 색인 검색부(208)에서는 후보 의미 표현이 존재하는지 체크한다(단계716).
상기 단계(716)에서의 체크 결과 후보 의미 표현이 존재할 경우 색인 검색부(208)에서는 목록에 포함된 의미 표현들이 갖는 단어 뭉치의 조합이 유일한지를 체크한다(단계718). 한편, 상기 단계(716)에서의 체크 결과, 후보 의미 표현이 존재하지 않을 경우 색인 검색부(208)에서는 검색을 종료하여 최적 의미 표현을 결정하는 단계(724)를 수행할 수 있다.
상기 단계(718)에서의 체크 결과, 의미 표현들이 갖는 단어 뭉치의 조합이 유일한 경우 색인 검색부(208)에서는 다음 층위 검색을 수행한다(단계720). 이에 따라, 다음 층위에 대해 단계714 내지 단계718의 과정을 수행한다.
한편, 상기 단계(718)에서의 체크 결과, 의미 표현들이 갖는 단어 뭉치의 조합이 유일하지 않을 경우 색인 검색부(208)에서는 이러한 후보 의미 표현의 목록과 그들이 포함하는 단어 뭉치의 조합을 중요도 분석부(210)로 전달하고, 중요도 분석부(210)에서는 후보 의미 표현 목록 및 그들이 포함하는 단어 뭉치의 조합을 받아 각 단어 뭉치 조합의 중요도를 분석한다(단계722).
그리고, 중요도 분석부((210)에서 중요도 분석이 마직막 층위까지 완료되었는지를 체크한다(단계724).
상기 단계(724)에서의 체크 결과, 중요도 분석이 마지막 층위까지 완료되지 않은 경우 색인 검색부(208)에서는 다음 층위 검색을 수행하고(단계720), 이에 따 라, 다음 층위에 대해 단계714 내지 단계724의 과정을 수행한다.
한편, 상기 단계(724)에서의 체크 결과, 중요도 분석이 마지막 층위까지 완료된 경우 의미 표현 결정부(212)에서는 분석이 완료된 각 단어 뭉치 조합의 중요도에 따라 입력 음성에 대응하는 최적 의미 표현을 결정한다(단계724).
예를 들면, 도 8d 및 도 8e는 본 발명의 다른 실시 예에 따라 층위 분석에 따라 의미 표현을 검색하여 결정하는 것을 설명하기 위한 도면으로, 변환된 의미 표현에 따른 층위 1에 해당하는 단어 뭉치는 '얼마인가요'이므로, 이 단어 뭉치를 층위 1로 포함하는 의미 표현이 있는지 의미 표현 역색인표 데이터베이스(110)를 참고하여 검색하게 되는데, 일 실시 예에서의 제 1 문장과 제 2 문장의 역색인표는 도 8d에 도시한 바와 같이 '['얼마인가요', 층위 1, 100, 200]', '['$결제수단+로/으로', 층위 2, 100]', '['방', 층위 2, 100, 200]', '['머무는', 층위 3, 100]', '['지금', 층위 4, 100]', ['방+[은]', 층위 2, 200]', '[그', 층위 3, 200]'를 포함하고, '의미 표현 100번:', '얼마인가요', '$결제수단+으로/로', '방', '머무는', '지금', '의미 표현 200번:', '얼마인가요', '방+[은]', '그'를 포함하여 나타낼 수 있다.
여기에서, 의미 표현 역색인 표의 첫번째 행에서 알 수 있듯이 '얼마인가요'를 층위 1로 포함하는 의미 표현은 100번과 200번이기 때문에 색인 검색부(208)에서는 의미 표현 100번과 200번을 후보 의미 표현으로 지정하게 되고, 후보 의미 표현이 존재하며, 그 후보 의미 표현들인 100번과 200번이 층위 1에서 포함하는 단어 뭉치는 '얼마인가요'로 동일하고, 후보 의미 표현이 포함하는 단어 뭉치의 조합 은 유일한 경우이기 때문에, 다음 층위 검색으로 진행할 수 있다.
또한, 층위 1까지 비교하였을 때 후보 의미 표현 목록은 100번과 200번이므로 층위 2에서 역색인 검색할 시에는 의미 표현 100번과 200번만을 대상으로 검색하게 되며, 의미 표현에서 층위 2에 해당하는 단어 뭉치인 '방'은 의미 표현 100번과 200번에 모두 포함되므로, 층위 1에서와 동일한 과정을 거쳐 후보 의미 표현 목록은 100번과 200번으로 유지될 수 있다.
다음에, 층위 3에서 역색인 검색할 시에는 입력 의미 표현에서 층위 3에 해당하는 단어 뭉치가 '머무는'과 '그'이고, 의미 표현 100번은 '머무는'을 층위 3에 포함하고, 의미 표현 200번은 '그'를 층위 3에 포함하기 때문에, 후보 의미 표현들이 포함하는 단어 뭉치의 조합이 유일하지 않으며, 이 경우에는 이러한 의미 표현에 대한 중요도 분석을 수행할 수 있다.
즉, 중요도 분석부(210)에서는 중요도를 분석하여 출력하게 되는데, 예를 들어 층위 3 검색에서 입력 의미 표현은 '그'와 '머무는'을 포함하고 있고, 의미 표현 역색인표 데이터베이스(110)에서 의미 표현 100번은 '머무는'을 층위 3에 포함하고 있으며, 200번은 '그'를 층위 3에 포함하고 있고, 이 때 '그'와 '머무는'의 특성을 분석하여 둘 중 어느 것이 상대적으로 더 중요한지 판단하여 출력한다.
한편, 상술한 바와 같은 본 발명의 다른 실시 예에서는 단어 뭉치의 조합이 하나씩이지만, 중요도 분석부(116)에서 판단하여야 하는 단어 뭉치의 조합이 복수 개의 단어 뭉치를 가지고 있을 경우, 단어 뭉치의 중요도는 예를 들면, 각 단어의 형태소 태그, 구조 분석 결과에서 속하는 구조, 현 입력 문장의 문형 및 시제 등 다양한 언어학적 지식을 이용하여 판단할 수 있으며 언어학적 지식들을 이용하는 것으로 예를 들면, 최대 자유도 모델링(maximum entropy modeling) 등의 방식을 적용할 수 있다.
또한, 본 발명의 다른 실시 예에서는 '머무는'이 '그'보다 문장의 의미 파악에 더 중요한 역할을 할 가능성이 높다고 판단하는 것으로 하여 설명하면, 후보 의미 표현이 포함하는 단어 뭉치의 조합들 중 '머무는'이 선택되었으므로, 후보 의미 표현은 100번 하나로 정해지지만, 의미 표현은 층위 4를 갖고 있으므로, 다음 층위의 검색을 동일한 과정을 거쳐 검색한 후, 층위 4까지 검색되고 나면 다음 층위가 없기 때문에, 최적 의미 표현을 결정하기 위해 층위별로 검색한 정보를 출력한다.
이에 따라, 본 발명의 다른 실시 예에서는 의미 표현 100번만이 층위 4까지 검색했을 때 후보 의미 표현 목록에 속하며, 입력 음성에 대응하는 최적의 의미 표현 출력 시에는 도 8e에 도시한 바와 같이 의미 표현 100번과 입력되는 의미 표현의 공통되는 부분을 출력할 수 있다.
한편, 상술한 바와 같은 본 발명의 다른 실시 예에서는 최적의 의미 표현을 결정하는 데에 있어서 층위가 앞서는 단어 뭉치를 많이 포함하는 것을 선택하고, 나머지는 탈락시키는 방식을 적용하였으나, 각 의미 표현에 대해 층위에 따라 포함하는 단어 뭉치에 대해 점수를 적용하고, 데이터베이스 내 각각의 의미 표현이 각 층위에서가지는 단어 뭉치의 점수를 합산하여 비교하는 방식을 적용하여 최적의 의미 표현을 결정할 수도 있다.
이러한 경우 각 의미 표현의 점수를 계산하는 것을 상세히 설명하면, 입력 문장의 의미 표현 s가 층위 l에서 w _{1} ^{l} ,w _{2} ^{l}, ... ,w _{k_{1}} ^{l} 을 포함한다고 가정하고 층위는 1,...,n1까지 갖고 있다고 가정할 경우 의미 표현 역색인표 데이터베이스(110) 내 의미 표현 t의 점수는 아래의 수학식 1과 같다.
Figure 112009053795349-pat00001
여기에서,
Figure 112009053795349-pat00002
는 의미 표현 t가 층위 l에서 w _{1} ^{l} 을 포함하면 1, 아니면 0의 값을 갖게 되고, f(l)는 층위 l의 단어 뭉치 하나를 포함했을 때 더해지는 점수를 의미하며, f(l)=α l 과 같은 할인 함수(discounting function) 등을 예로 들면, 수학식 1은 다음의 수학식 2와 같이 나타낼 수 있다.
Figure 112009053795349-pat00003
여기에서, 층위 1의 단어 뭉치를 포함할 때 더 높은 점수를 받아야 하므로 α의 값은 '0<α<1'의 범위값을 가져야 한다.
그리고, 층위 별로 상기 수학식 2에 따라 점수를 계산하는 중에 가지치기(pruning) 기법을 적용하여 현재 층위에서 가장 좋은 점수를 가진 의미 표현과 일정 점수 이상 차이를 가지는 의미 표현은 검색에서 제외함으로써, 검색 과정을 고속화 할 수 있다.
이와 같이 본 발명에 따르면, 순서가 지켜져야 하는 단어들은 단어 뭉치로 묶어준 상태에서, 입력 문장의 어떤 부분이 사용자의 의도를 표현하는 데에 중요한지 판단하여 층위 별로 단어 뭉치들을 나누고, 특정 단어 그룹에 포함될 수 있는 단어들은 그룹 이름으로 표시하고, 생략이 가능하거나 고려하지 않아도 되는 단어 뭉치들은 생략을 가능하게 하거나 완전히 삭제한 의미 표현을 기반으로 하여, 층위가 앞서는 것을 우선적으로 검색하고, 단어 뭉치로 묶인 것들을 제외하고는 순서를 고려하지 않고 검색을 수행함으로써, 기 구축된 규칙이나 예제에 의해 제한되지 않고 음성 인식 오류나 음성 입력 시 발생하는 간투사 등에 강인하며 사용자의 의도가 담긴 부분을 우선적으로 전달할 수 있다.
이상의 설명에서는 본 발명의 다양한 실시 예들을 제시하여 설명하였으나 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함을 쉽게 알 수 있을 것이다.
도 1은 본 발명의 실시 예에 따라 입력된 음성에 대한 의미 표현을 결정하는데 적합한 음성 이해 시스템의 블록 구성도,
도 2는 본 발명의 실시 예에 따라 다수의 문장에 대한 의미 표현을 정제하는데 적합한 데이터베이스 정제 장치의 블록 구성도,
도 3은 본 발명의 실시 예에 따라 입력 음성에 대응하는 의미 표현을 결정하는데 적합한 음성 이해 장치의 블록 구성도,
도 4a는 본 발명의 실시 예에 따라 변환된 의미 표현을 의존 문법 형태로 표현한 것을 예시한 도면,
도 5는 본 발명의 일 실시 예에 따라 다수의 문장에 대한 의미 표현을 정제하는하는 과정을 도시한 플로우차트,
도 6a는 본 발명의 일 실시 예에 따라 제 1 문장에 대한 의미 변환을 수행하는 것을 예시한 도면,
도 6b는 본 발명의 일 실시 예에 따라 제 2 문장에 대한 의미 변환을 수행하는 것을 예시한 도면,
도 6c 및 도 6d는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장 각각에 대한 층위 분석을 나타낸 도면,
도 6e 및 도 6f는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장 각각의 역색인표를 나타낸 도면,
도 6g는 본 발명의 일 실시 예에 따라 제 1 문장과 제 2 문장의 역색인 정보 에 따라 데이터베이스화된 역색인표를 나타낸 도면,
도 7은 본 발명의 다른 실시 예에 따라 입력 음성에 대응하는 의미 표현을 결정하는 과정을 도시한 플로우차트,
도 8a 및 도 8b는 본 발명의 다른 실시 예에 따라 음성 인식 결과에 대응하여 변환된 의미 표현을 나타낸 도면,
도 8c는 본 발명의 다른 실시 예에 따라 각각의 의미 표현에 대한 층위를 나타낸 도면,
도 8d 및 도 8e는 본 발명의 다른 실시 예에 따라 층위 분석에 따라 의미 표현을 검색하여 결정하는 것을 설명하기 위한 도면.
<도면의 주요부분에 대한 부호의 설명>
100 : 데이터베이스 정제 장치 102 : 문장 데이터베이스
104 : 제 1 의미 표현 변환부 106 : 제 1 층위 분석부
108 : 역색인표 기록부 110 : 의미 표현 역색인표 데이터베이스
200 : 음성 이해 장치 202 : 음성 입력부
204 : 제 2 의미 표현 변환부 206 : 제 2 층위 분석부
208 : 색인 검색부 210 : 중요도 분석부
212 : 의미 표현 결정부

Claims (12)

  1. 문장 데이터베이스에서 추출된 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 의미 표현 변환부와,
    상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 층위 분석부와,
    상기 전달되는 층위 정보에 따라 상기 의미 표현에 의미 표현 식별 번호를 부여하고, 상기 부여된 의미 표현 식별 번호를 갖는 역색인표를 구성하여 의미 표현 역색인표 데이터베이스에 저장하는 역색인표 기록부를 포함하는
    데이터베이스 정제 장치.
  2. 제 1 항에 있어서,
    상기 의미 표현 변환부는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는
    데이터베이스 정제 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 역색인표는, 단어 뭉치 이름, 층위 번호 및 상기 의미 표현 식별 번호를 포함하는
    데이터베이스 정제 장치.
  4. 문장 데이터베이스에서 추출된 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 단계와,
    상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 단계와,
    상기 전달되는 층위 정보에 따라 상기 의미 표현에 의미 표현 식별 번호를 부여하는 단계와,
    상기 부여된 의미 표현 식별 번호를 갖는 역색인표를 구성하여 의미 표현 역색인표 데이터베이스에 저장하는 단계를 포함하는
    데이터베이스 정제 방법.
  5. 제 4 항에 있어서,
    상기 의미 표현으로 변환하는 단계는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하는 방식으로 수행되는
    데이터베이스 정제 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 역색인표는, 단어 뭉치 이름, 층위 번호 및 상기 의미 표현 식별 번호 를 포함하는
    데이터베이스 정제 방법.
  7. 입력된 음성을 인식하여 음성 인식 결과를 전달하는 음성 인식부와,
    상기 전달된 음성 인식 결과에 따른 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 의미 표현 변환부와,
    상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 층위 분석부와,
    상기 전달되는 층위 정보에 따라 층위 순으로 상기 단어 뭉치가 각각 어떤 의미 표현에 속하는지 의미 표현 역색인표 데이터베이스를 검색하여 모든 층위에 대한 각각의 후보 의미 표현을 추출하는 색인 검색부와,
    상기 추출된 후보 의미 표현이 유일하지 않은 경우 각각의 중요도를 분석하고, 상기 모든 층위에 대한 분석이 완료되면 분석 결과를 전달하는 중요도 분석부와,
    상기 전달된 분석 결과에 따라 최적 의미 표현을 결정하는 의미 표현 결정부를 포함하는
    음성 이해 장치.
  8. 제 7 항에 있어서,
    상기 의미 표현 변환부는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단 어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는
    음성 이해 장치.
  9. 제 7 항에 있어서,
    상기 색인 검색부는, 어느 하나의 층위에 대해 추출된 상기 후보 의미 표현이 포함하는 상기 단어 뭉치의 조합이 유일할 경우 다음 층위에 대해 상기 후보 의미 표현을 추출하고, 상기 단어 뭉치의 조합이 유일하지 않은 경우 상기 중요도 분석부를 통해 상기 중요도를 분석하는 방식으로 마지막 층위까지 상기 중요도를 분석한 후, 상기 후보 의미 표현을 추출하는
    음성 이해 장치.
  10. 입력되는 음성의 인식 결과에 따른 문장의 단어열을 층위 구조를 갖는 의미 표현으로 변환하는 단계와,
    상기 문장에서 차지하는 의미에 따라 구분된 단어 뭉치를 층위별로 분석 및 계산하여 층위 정보를 전달하는 단계와,
    상기 전달되는 층위 정보에 따라 층위 순으로 상기 단어 뭉치가 각각 어떤 의미 표현에 속하는지 의미 표현 역색인표 데이터베이스를 검색하여 모든 층위에 대한 각각의 후보 의미 표현을 추출하는 단계와,
    상기 추출된 후보 의미 표현이 유일하지 않은 경우 각각의 중요도를 분석하 는 단계와,
    상기 모든 층위에 대한 분석이 완료되면 분석 결과를 전달하는 단계와,
    상기 전달된 분석 결과에 따라 최적 의미 표현을 결정하는 단계를 포함하는
    음성 이해 방법.
  11. 제 10 항에 있어서,
    상기 의미 표현으로 변환하는 단계는, 형태소 분석 또는 문장 구조 분석을 통해 상기 단어열을 상기 단어 뭉치로 구분하고, 상기 단어 뭉치들의 종속 관계를 판단한 후, 생략 가능한 부분을 생략 처리하여 상기 의미 표현으로 변환하는
    음성 이해 방법.
  12. 제 10 항에 있어서,
    상기 후보 의미 표현을 추출하는 단계는, 어느 하나의 층위에 대해 추출된 상기 후보 의미 표현이 포함하는 상기 단어 뭉치의 조합이 유일할 경우 다음 층위에 대해 상기 후보 의미 표현을 추출하고, 추출하고, 상기 단어 뭉치의 조합이 유일하지 않은 경우 상기 중요도 분석부를 통해 상기 중요도를 분석하는 방식으로 마지막 층위까지 상기 중요도를 분석한 후, 상기 후보 의미 표현을 추출하는
    음성 이해 방법.
KR1020090081935A 2009-09-01 2009-09-01 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법 KR101072890B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090081935A KR101072890B1 (ko) 2009-09-01 2009-09-01 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090081935A KR101072890B1 (ko) 2009-09-01 2009-09-01 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110024074A KR20110024074A (ko) 2011-03-09
KR101072890B1 true KR101072890B1 (ko) 2011-10-17

Family

ID=43931983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090081935A KR101072890B1 (ko) 2009-09-01 2009-09-01 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101072890B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986345B1 (ko) * 2019-02-08 2019-06-10 주식회사 스위트케이 기계독해 성능향상을 위해 표·이미지에 메타 문장을 생성하는 장치
CN113505143A (zh) * 2021-07-22 2021-10-15 浙江大华技术股份有限公司 语句类型的转换方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
KR20110024074A (ko) 2011-03-09

Similar Documents

Publication Publication Date Title
Ghannay et al. End-to-end named entity and semantic concept extraction from speech
KR101309042B1 (ko) 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
WO2019153737A1 (zh) 用于对评论进行评估的方法、装置、设备和存储介质
WO2013080406A1 (ja) 対話システム、冗長メッセージ排除方法および冗長メッセージ排除プログラム
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
KR20080068844A (ko) 텍스트 메타데이터를 갖는 음성문서의 인덱싱 및 검색방법, 컴퓨터 판독가능 매체
KR20110024075A (ko) 패턴 데이터베이스화 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법
Kumar et al. A knowledge graph based speech interface for question answering systems
US20050159953A1 (en) Phonetic fragment search in speech data
KR102267561B1 (ko) 음성 언어 이해 장치 및 방법
JP6033136B2 (ja) 情報処理装置およびナビゲーション装置
KR20140026703A (ko) 문법의 오류 검출 방법 및 이를 위한 장치
CN115116428B (zh) 韵律边界标注方法、装置、设备、介质及程序产品
KR101149521B1 (ko) 도메인 온톨로지를 이용한 음성 인식 방법 및 그 장치
CN108364655A (zh) 语音处理方法、介质、装置和计算设备
KR101025814B1 (ko) 운율 모델을 이용한 형태소 품사 태깅 방법 및 그 장치
JP5360414B2 (ja) キーワード抽出モデル学習システム、方法およびプログラム
KR101072890B1 (ko) 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법
KR101757222B1 (ko) 한글 문장에 대한 의역 문장 생성 방법
JP2018181181A (ja) 文処理装置および文処理方法
JP3016779B1 (ja) 音声理解装置及び音声理解システム
JP3088364B2 (ja) 音声言語理解装置及び音声言語理解システム
JP3059413B2 (ja) 自然言語理解装置及び自然言語理解システム
JP2022055334A (ja) テキスト処理方法、装置、デバイス及びコンピュータ可読な記憶媒体
KR101318674B1 (ko) 엔그램을 이용한 단어 의미 인식 장치

Legal Events

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