KR100735559B1 - 언어 모델 구축 장치 및 방법 - Google Patents

언어 모델 구축 장치 및 방법 Download PDF

Info

Publication number
KR100735559B1
KR100735559B1 KR1020050110934A KR20050110934A KR100735559B1 KR 100735559 B1 KR100735559 B1 KR 100735559B1 KR 1020050110934 A KR1020050110934 A KR 1020050110934A KR 20050110934 A KR20050110934 A KR 20050110934A KR 100735559 B1 KR100735559 B1 KR 100735559B1
Authority
KR
South Korea
Prior art keywords
state
grammar
dependent
head
database
Prior art date
Application number
KR1020050110934A
Other languages
English (en)
Other versions
KR20070053015A (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 KR1020050110934A priority Critical patent/KR100735559B1/ko
Priority to US11/545,484 priority patent/US8255220B2/en
Publication of KR20070053015A publication Critical patent/KR20070053015A/ko
Application granted granted Critical
Publication of KR100735559B1 publication Critical patent/KR100735559B1/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/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

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

Abstract

본 발명은 음성 인식을 위한 언어 모델 구축 장치 및 방법에 관한 것으로서, 본 발명의 실시예에 따른 언어 모델 구축 장치는, 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장하는 스키마 확장부; 상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 문법 구조 확장부; 및 상기 확장된 문법 구조에 대해 상기 일반 문법 데이터베이스를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 문법 구조 필터부를 포함한다.
스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장함으로써 학습하지 않은 문법 구조에 대한 인식률을 향상시킬 수 있는 효과가 있다.
음성 인식, n-그램, FST(Finite State Transducer), 스테이트 스키마

Description

언어 모델 구축 장치 및 방법{APPARATUS AND METHOD FOR CONSTRUCTING LANGUAGE MODEL}
도 1은 종래 기술에 따른 일반적인 연속 음성 인식 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 언어 모델 구축 방식의 개념을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 언어 모델 구축 장치의 전체 구성을 나타내는 도면이다.
도 4는 상기 도 3에 도시된 언어 모델 구축 장치 중 스키마 확장부의 구성을 나타내는 도면이다.
도 5a는 상기 도 3에 도시된 언어 모델 구축 장치 중 문법 구조 확장부의 구성을 나타내는 도면이다.
도 5b는 상기 도 5a에 도시된 문법 구조 확장부의 대체 과정을 예시한 도면이다.
도 5c는 상기 도 5a에 도시된 문법 구조 확장부의 첨가 과정을 예시한 도면이다.
도 5d는 상기 도 5a에 도시된 문법 구조 확장부의 문법 구조 확장 과정을 예 시한 도면이다.
도 6a는 상기 도 3에 도시된 언어 모델 구축 장치 중 문법 구조 필터부의 구성을 나타내는 도면이다.
도 6b는 상기 도 6a에 도시된 문법 구조 필터부의 필터링 과정을 예시한 도면이다.
도 7은 본 발명의 실시예에 따른 언어 모델 구축 방법의 전체 흐름을 나타내는 도면이다.
도 8a는 상기 도 7의 전체 흐름 중 스테이트 스키마의 확장 과정의 흐름을 나타내는 도면이다.
도 8b는 상기 도 7의 전체 흐름 중 문법 구조의 확장 과정의 흐름을 나타내는 도면이다.
도 8c는 상기 도 7의 전체 흐름 중 필터링 과정의 흐름을 나타내는 도면이다.
*도면의 주요 부분에 대한 설명*
10: 특징 추출부 20: 탐색부
30: 후처리부 40: 음향 모델 데이터베이스
50: 발음 사전 데이터베이스 60: 언어모델 데이터베이스
110: 일반 문법 데이터베이스 120: 스테이트 스키마
200: 스키마 확장부 210: 스테이트 분류부
212: 태그 정보 추출부 214: 어구 정보 추출부
216: 분류부 220: 문법 검색부
230: 비교 확장부 300: 문법 구조 확장부
310: 헤드 스테이트 확장부 320: 의존 스테이트 확장부
400: 문법 구조 필터부 410: 특성값 비교부
420: 필터부 500: 확장 언어모델 데이터베이스
본 발명은 음성 인식을 위한 언어 모델 구축 장치 및 방법에 관한 것으로서, 더욱 상세하게는, 유한 스테이트 문법에 따르는 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장함으로써 학습하지 않은 문법 구조에 대한 인식을 향상시킬 수 있는, 언어 모델 구축 장치 및 방법에 관한 것이다.
음성 인식(Speech Recognition) 기술이란, 인간의 음성을 컴퓨터가 분석해 이를 인식 또는 이해하는 기술을 말하는데, 발음에 따라 입 모양과 혀의 위치 변화로 특정한 주파수를 갖는 인간의 음성을 이용하여 발성된 음성을 전기 신호로 변환한 후 음성 신호의 주파수 특성을 추출해 발음을 인식하는 기술이다. 최근에는 이와 같은 음성 인식 기술이 전화 다이얼링, 장난감 제어, 어학 학습 또는 가전 기기 제어 등과 같은 다양한 분야에 응용되고 있다.
일반적으로 연속 음성 인식 장치는 도 1에 도시된 바와 같은 구성으로 이루어지는데, 도 1은 일반적인 연속 음성 인식 장치의 구성을 나타내는 도면이다. 상 기 도 1을 참조하면, 특징 추출부(10)에서 음성 인식 장치에 입력된 음성을 인식에 유용한 정보만을 추출한 특징 벡터로 변환시키고, 탐색부(20)에서는 학습 과정에서 미리 구해진 음향 모델 데이터베이스(40), 발음 사전 데이터베이스(50) 및 언어 모델 데이터베이스(60)를 참조하여 비터비 알고리즘을 이용하여 특징 벡터로부터 가장 확률이 높은 단어열을 찾게 된다. 여기서, 대어휘 인식을 위하여 인식 대상 어휘들은 트리(tree)를 구성하고 있으며, 탐색부(20)에서는 이러한 트리를 탐색한다. 후처리부(30)는 탐색부(20)의 탐색 결과로부터 발음 기호와 태그 등을 제거하고, 음절 단위로 모아 쓰기를 하여 최종 인식 결과인 텍스트를 제공한다. 상기와 같은 음성 특징 추출 방법으로는 LPC Cepstrum, PLP Cepstrum, MFCC(Mel Frequency Cepstral Coefficient), 필터 뱅크 에너지 기법 등이 있다.
상기와 같은 음성 인식 장치는 음성 인식을 위해서 음향 모델 데이터베이스(40), 발음 사전 데이터베이스(50) 및 언어 모델 데이터베이스(60)를 이용하고 있는데, 이 중 언어 모델 데이터베이스(60)는 학습용 텍스트 데이터베이스에 구축된 단어와 단어 간의 발생 빈도 데이터 및 그를 이용하여 연산된 바이그램(Bigram) 또는 트라이그램(Trigram)의 확률인 발생 확률 데이터로 이루어진다. 즉, 발생 확률 데이터는 일정 길이의 단어열 다음에 어떤 단어가 나올 수 있는 확률로 표현된 데이터인 것이다. 일반적으로, 언어 모델은 문장 내에서 임의의 단어열 다음에 어떤 단어가 나올 수 있는 확률로서 데이터를 표현한다. 하나의 단어 다음에 다른 단어가 나오는 확률을 표현한 것을 바이그램(bigram), 두 개의 연속된 단어 다음에 다른 단어가 나오는 확률을 표현한 것을 트라이그램(trigram)이라고 부르며, 일반적 으로 n-1 개의 연속된 단어에 이어서 다른 단어가 나오는 확률을 표현한 것을 n-그램이라고 부른다. n이 커질수록 언어 모델이 더 많은 정보를 제공하지만 기억 용량이 많이 필요하고 탐색하는 시간이 길어지게 된다.
이와 같이, n-그램 언어 모델을 이용하는 음성 인식 장치는 사전에 학습되지 않은 문장에 대해서도 인식할 수 있어 자유도가 상대적으로 높지만, 인식의 오류 가능성도 함께 존재한다는 문제가 있다. 이에 반하여, 유한 상태 변환기(Finite State Transducer; 이하, FST 라 함)를 이용하는 음성 인식 장치는 사전에 학습된 다양한 문장 세트가 데이터로 구축되어 있기에 해당 문장에 대해서는 인식의 오류 가능성이 낮으나, 사전에 학습되지 않은 문장에 대해서는 아예 인식조차도 할 수 없어 문장 인식에 대한 자유도가 매우 낮다는 문제가 있다. 한편, 상기의 두 가지 방식을 혼합하여 n-그램 언어 모델의 적용 범위 내에서 다시 FST를 적용하는 방식이 존재하지만, 이 방식도 상기 FST 방식이 가지는 단점을 그대로 가지고 있으며, 정형화된 문법에 들어 맞지 않는 구어체 환경에서 다양한 형태의 문장에 대한 인식의 자유도와 높은 인식률을 동시에 만족할 수 없다는 문제가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 고안된 것으로서, 본 발명이 이루고자 하는 기술적 과제는, 유한 스테이트 문법에 따르는 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장함으로써 학습하지 않은 문법 구조에 대한 인식을 향상시킬 수 있는 언어 모델 구축 장치 및 방법을 제공하는 데 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 실시예에 따른 언어 모델 구축 장치는, 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장하는 스키마 확장부; 상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 문법 구조 확장부; 및 상기 확장된 문법 구조에 대해 상기 일반 문법 데이터베이스를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 문법 구조 필터부를 포함한다.
또한, 상술한 목적을 달성하기 위한 본 발명의 실시예에 따른 언어 모델 구축 방법은, (a) 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장하는 단계; (b) 상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 단계; 및 (c) 상기 확장된 문법 구조에 대해 상기 일반 문법 데이터베이스를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 바람직한 실시예들에 의하여 미리 정의된, 언어 모델 구축 장치 및 방법을 설명하기 위한 블럭도 또는 흐름도들을 참조하여 보다 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 언어 모델 구축 방식의 개념을 나타내는 도면이다. 상기 도 2를 참조하여 본 발명의 실시예에 따른 언어 모델 구축 방식의 개념을 설명한다. 먼저, "이 드라마 다음에 어떤 프로 하니?"라는 문장 구조가 언어 모델 데이터베이스에 저장되어 있다면, 발화자가 상기 문장과 동일하거나 거의 유사한 문장을 발화해야만 음성 인식 장치가 인식을 할 수 있게 된다. 그런데, 만약 발화자가 드라마를 본 후에 "이제 뭐해?"라고 발화한다면, "이 드라마 다음에 어떤 프로 하니?" 라는 문장과 동일한 의미인데도 불구하고 인식을 하지 못하게 된다. 따라서, 상기 도 2에 나타나듯이, 상기 문장을 도메인 기반의 스테이트로 분리한 스테이트 스키마를 트리 구조의 일반 문법 데이터베이스를 이용하여 확장하게 되면, "이제 뭐해?" 와 같이, 의미는 유사하지만 문법 구조는 전혀 다른 문장에 대해서도 데이터베이스에 구축할 수 있게 된다. 이러한 언어 모델 구축 방식을 수행하는 언어 모델 구축 장치를 도시한 것이 도 3이다. 여기서, 언어 모델(Language Model)이란 음성 인식 시스템의 일종의 문법이라 할 수 있다. 대화체 연속 음성 인식 시스템이라고 해서 임의의 아무 문장을 다 인식할 수 있는 것은 아니고 어떤 정해진 문법에 맞는 문장만을 인식하므로, 언어 모델을 음성 인식 시스템의 탐색 과정에서 사용함으로써 음성 인식 시스템의 탐색 공간을 감소시킬 수 있으며, 문법에 맞는 문장에 대한 확률을 높여 주는 역할을 하므로 인식률 향상에도 기여하게 되는 것이다.
도 3은 본 발명의 실시예에 따른 언어 모델 구축 장치의 전체 구성을 나타내는 도면이다. 상기 도 3을 참조하면, 상기 언어 모델 구축 장치는 일반 문법 데이터베이스(110)를 이용하여 스테이트 스키마(120)를 다양하게 확장하는 스키마 확장부(200), 문법 구조를 확장하는 문법 구조 확장부(300) 및 문법에 맞지 않는 문장을 필터링하는 문법 구조 필터부(400)를 포함하고 있으며, 상기 필터링의 결과 확장 언어모델 데이터베이스(500)가 생성된다.
스키마 확장부(200)는 문장을 구성하는 요소로서 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트(State)로 구성된 스테이트 스키마(state schema)를 일반 문법 데이터베이스(110)를 이용하여 확장하는 역할을 한다. 여기서, 일반 문법 데이터베이스(110)는 품사구 또는 품사절의 구조와 의미, 상기 구조를 구성하는 어휘 및 상기 어휘의 품사에 대한 데이터를 포함하는 트리 구조 데이터를 구성 요소로 가지며, 이러한 트리 구조의 형태를 가지는 데이터베이스는 상기 도 2에 도시되어 있다.
스키마 확장부(200)는 복수개의 모듈을 포함하는데, 이를 나타낸 것이 도 4 이므로, 상기 도 4를 참조하여 함께 설명한다. 도 4는 상기 도 3에 도시된 언어 모델 구축 장치 중 스키마 확장부(200)의 구성을 나타내는 도면이다. 스키마 확장부(200)는 태그 정보 추출부(212), 어구 정보 추출부(214) 및 분류부(216)로 구성된 스테이트 분류부(210)와 문법 검색부(220) 및 비교 확장부(230)를 포함한다.
스테이트 분류부(210)는 문장 내의 적어도 하나 이상의 스테이트들을 헤드 스테이트(head state)와 의존 스테이트(dependent state)로 분류하게 되는데, 상기 헤드 스테이트란 유한 스테이트 문법에 중심적 의미를 전달할 수 있는 스테이트로서, 문장 성분이 서술어가 되는 용언이 이에 해당할 것이다. 의존 스테이트란 상기 헤드 스테이트를 제외한 스테이트로서, 주로 상기 헤드 스테이트를 수식하는 역할을 한다.
그리고, 스테이트 분류부(210)는 스테이트를 분류하는 과정을 수행하기 위해 소정의 역할을 담당하는 3 개의 구성 모듈을 포함하고 있는데, 각 구성 모듈에 대해 설명한다. 태그 정보 추출부(212)는 적어도 하나 이상의 스테이트로부터 상기 스테이트에 대한 정보를 포함하는 태그 정보를 추출하며, 어구 정보 추출부(214)는 태그 정보 추출부(212)에 의해 추출된 태그 정보로부터 상기 스테이트가 단독으로 표현할 수 있는 어구(phrase) 또는 상기 스테이트 간 연결에 의해 표현할 수 있는 어구에 대한 정보를 추출하는 역할을 한다. 그리고, 분류부(216)는 어구 정보 추출부(214)에 의해 추출된 정보를 이용하여 상기 헤드 스테이트와 상기 의존 스테이트로 분류하는 역할을 한다. 상기 헤드 스테이트와 상기 의존 스테이트는 문장 내에서의 역할이 구분되며, 중심적 의미를 제공하는 헤드 스테이트에 대한 확장 과정 이 선행될 필요가 있기 때문에 분류 과정을 거치는 것이다.
상기와 같은 방식으로 분류된 헤드 스테이트와 동일한 스테이트가 트리 구조의 루트 노드에 존재할 수 있는데, 상기 도 4에 도시된 문법 검색부(220)는 상기 헤드 스테이트가 루트 노드에 존재하는 트리 구조 데이터를 일반 문법 데이터베이스(110)로부터 검색하는 역할을 한다.
비교 확장부(230)는 문법 검색부(220)에 의해 검색된 트리 구조 데이터의 문장 성분의 수와 상기 헤드 스테이트에 부가된 의존 스테이트의 수를 비교하여 상기 비교 결과에 따라 상기 스테이트 스키마를 확장하는 역할을 한다. 구체적으로 설명하면, 상기 문장 성분의 수가 상기 의존 스테이트의 수보다 큰 경우에는, 더 많은 스테이트를 이용하여 동일한 의미를 표현할 수 있다고 유추할 수 있기에 상기 검색된 트리 구조 데이터의 문장 성분에 상응하는 스테이트를 상기 의존 스테이트로 추가 삽입(insertion)할 수 있다. 상기 문장 성분의 수가 상기 의존 스테이트의 수보다 작은 경우에는, 더 적은 수의 스테이트로도 동일한 의미를 표현할 수 있다고 유추 가능하기에 상기 트리 구조 데이터에 표현되지 않고 있는 스테이트를 상기 의존 스테이트로부터 삭제(deletion)하게 된다. 그리고, 상기 문장 성분의 수와 상기 의존 스테이트의 수가 동일한 경우에는, 스테이트의 삽입이나 삭제를 수행하지 않으며, 대신 상기 트리 구조 데이터의 어순과 상기 의존 스테이트의 어순의 차이가 존재할 경우에는, 해당 언어의 어순 자유도에 따라 구축되어 있는 트리 구조 데이터의 어순 배열을 참조하여 상기 의존 스테이트의 어순 배열을 조절(reordering)하게 된다.
이제, 스테이트 스키마를 상기와 같이 확장한 후에는, 문법 구조 확장부(300)에 의해 스테이트 간에 결합될 수 있는 문법 구조를 다양하게 확장하게 되는데, 문법 구조 확장부(300)의 모듈 구성에 대해 도 5a를 참조하여 설명한다. 도 5a는 상기 도 3에 도시된 언어 모델 구축 장치 중 문법 구조 확장부(300)의 구성을 나타내는 도면이다.
문법 구조 확장부(300)는 스키마 확장부(200)에 의해 확장된 스테이트 스키마를 구성하는 각각의 스테이트가 표현할 수 있는 문법 구조(structure)를 일반 문법 데이터베이스(110)를 이용하여 다양하게 확장하는 역할을 한다. 상기 도 5a를 참조하면, 문법 구조 확장부(300)는 헤드 스테이트 확장부(310)와 의존 스테이트 확장부(320)로 구성되어 있는데, 헤드 스테이트 확장부(310)는 스테이트 스키마에 포함되어 있는 헤드 스테이트가 표현할 수 있는 문법 구조를 일반 문법 데이터베이스(110)를 이용하여 확장하는 역할을 하며, 의존 스테이트 확장부(320)는 상기 확장된 헤드 스테이트를 수식하는 의존 스테이트가 표현할 수 있는 문법 구조를 일반 문법 데이터베이스(110)를 이용하여 확장하는 역할을 한다. 헤드 스테이트와 의존 스테이트가 표현할 수 있는 문법 구조의 성질이 다르고, 헤드 스테이트가 전체 스키마 중에서 중심적 의미를 제공하므로 헤드 스테이트에 대한 문법 구조를 먼저 확장하는 것이다.
여기서, 문법 구조의 확장의 구체적 실시예를 도 5b, 도 5c 및 도 5d를 참조하여 설명한다. 도 5b는 상기 도 5a에 도시된 문법 구조 확장부(300)의 대체(substitution) 과정을 예시한 도면이고, 도 5c는 문법 구조 확장부(300)의 첨가 (adjunction) 과정을 예시한 도면이며, 도 5d는 상기 대체 과정과 상기 첨가 과정을 이용한 문법 구조 확장 과정을 예시한 도면이다.
상기 도 5b를 참조하여 대체(substitution) 과정을 살펴보면, 헤드 또는 의존 스테이트의 하부 노드에 상기 스테이트와 동일한 품사구에 상응하는 트리 구조 데이터를 대체 결합시키는 과정이라고 할 수 있다. 즉, 상기 도 5b의 상단에서, N1 노드 대신에 트리 구조 데이터인 N2 노드가 결합함으로써 대체되는 것이다. "MBC 틀어"라는 문장을 예로 들면, "MBC(로)"라는 명사구와 "틀어"라는 동사구가 결합되어 있고, "틀어"라는 동사구가 유한 스테이트 문법에 따른 중심적 의미를 제공하는 헤드 스테이트가 된다. 여기서, "MBC(로)"라는 명사구는 하나의 명사로 이루어진 명사구이다. 일반적으로, 명사구는 하나 이상의 명사로 구성될 수 있으며, 이는 일반 문법 데이터베이스(110)을 검색하여 알 수 있다. 따라서, 예문에서 하나의 명사로 구성된 명사구인 "MBC(로)"는 두 개의 명사로 구성된 명사구인 "채널 11 번으로"로 대체 가능하다. 즉, "MBC(로)"라는 명사구 스테이트가 "채널 11 번으로"라는 명사구 트리 구조 데이터로 대체(substitution)된 것이다. 상기 도 5b의 우측 그림은 영어 문장으로 예시한 것으로서 좌측의 그림과 동일한 의미를 가지므로 설명을 생략하기로 한다.
상기 도 5c를 참조하여 첨가(adjunction) 과정을 살펴보면, 헤드 스테이트와 의존 스테이트가 결합되어 있는 스테이트 스키마에서, 상기 헤드 스테이트와 상기 의존 스테이트의 사이에 트리 구조 데이터를 삽입시키는 과정이라고 할 수 있다. 즉, 상기 도 5c의 상단에서, N1 노드 자리에 N2 노드가 삽입되고, N2 노드의 하위 노드인 N3 노드 자리에 다시 상기 N1 노드가 결합되는 방식이다. "채널 11 번으로 틀어"라는 문장을 예로 들면, "11 번으로"라는 명사구와 "틀어"라는 동사구가 결합되어 있고 여기에 다시 "채널"이라는 명사구가 결합되어 "채널 11 번으로 틀어"라는 문장이 존재하며, "틀어"라는 동사구가 유한 스테이트 문법에 따른 중심적 의미를 제공하는 헤드 스테이트가 된다. 여기서, "틀어"라는 동사구는 하나의 동사로 구성되어 있다. 그러나, 일반적으로 동사구는 동사를 수식하는 부사구와 함께 구성될 수 있으며, 이는 일반 문법 데이터베이스(110)에서 검색하여 알 수 있다. 따라서, 예문에서 하나의 동사로 구성된 동사구인 "틀어"는 부사구와 동사구로 구성된 새로운 동사구인 "좀 틀어"로 변환되어 부사구가 첨가된 문장 형태를 갖는다. 즉, "채널 11 번으로 틀어"라는 문장을 이용하여 "채널 11 번으로 좀 틀어"라는 새로운 문장이 생성된 것이다. 상기 도 5c의 우측 그림은 영어 문장으로 예시한 것으로서 좌측의 그림과 동일한 의미를 가지므로 설명을 생략하기로 한다.
상기 도 5d는 상기 대체 과정과 상기 첨가 과정을 이용하여 실제로 문법 구조가 확장되는 과정을 예시한 도면인데, "다음 프로는 뭐야"라는 문장을 품사 태그를 부가하여 나타내고 있다. 즉, "다음 프로는"이라는 의존 스테이트 명사구가 "뭐야"라는 헤드 스테이트 동사구를 수식하고 있는 구조인데, 상기 도 5d와 같이 대체 과정과 첨가 과정을 계속 수행하게 되면, "이 드라마 다음에 하는 프로는 뭐야"라는, 의미는 동일하지만 전혀 다른 문법 구조의 문장을 생성해 낼 수 있게 된다.
도 6a는 상기 도 3에 도시된 언어 모델 구축 장치 중 문법 구조 필터부(400)의 구성을 나타내는 도면이다. 상기 문법 구조 필터부(400)는 상술한 방식으로 확 장된 문법 구조 중에서 문법적으로나 의미적으로 맞는 구조만을 필터링하고, 문법적으로 또는 의미적으로 맞지 않는 구조에 대해서는 확장을 하지 않고 걸러내게 되는 것이다. 즉, 문법 구조 필터부(400)는 문법 구조 확장부(300)에 의해 확장된 문법 구조에 대해 일반 문법 데이터베이스(110)를 이용하여 잘못된 문법 구조를 필터링함으로써 걸러내는 역할을 한다.
상기 도 6a를 참조하여 문법 구조 필터부(400)의 구성 모듈을 살펴보면, 특성값 비교부(410) 및 필터부(420)를 포함하고 있다. 특성값 비교부(410)는 상기 대체 과정 및 상기 첨가 과정을 수행하여 생성되는 결합 스테이트의 결합 노드를 구성하는 제 1 결합 노드와 제 2 결합 노드의 특성값을 서로 비교하는 역할을 한다. 필터부(420)는 특성값 비교부(410)에 의해 비교된 두 특성값이 일치하는 경우에는, 상기 일치된 특성값을 상기 결합 스테이트의 특성값으로 부여하고, 그 결과로서 상기 결합 스테이트를 일반 문법 데이터베이스(110)에 저장하며, 상기 비교된 두 특성값이 일치하지 않는 경우에는, 상기 대체 과정 및 상기 첨가 과정이 실패한 것으로 보아 상기 결합 스테이트를 일반 문법 데이터베이스(110)에 저장하지 않는다. 또한, 상기 제 1 결합 노드 또는 상기 제 2 결합 노드의 특성값이 복수로 존재할 수도 있는데, 이 경우에 필터부(420)는 상기 제 1 결합 노드와 상기 제 2 결합 노드의 특성값의 교집합에 해당하는 특성값만을 상기 결합 스테이트의 특성값으로 부여하게 된다.
도 6b를 참조하여 상술한 필터링 과정의 구체적 예를 살펴본다. 도 6b는 상기 도 6a에 도시된 문법 구조 필터부(400)의 필터링 과정을 예시한 도면이다. 상 기 도 6b의 상단부의 그림에서, N2 노드가 N1 노드에 결합을 하여 새로운 결합 노드 Nu가 생성되는 것을 알 수 있는데, 이때 Nu 노드가 유효하기 위해서는 상술한 필터링 과정을 거쳐서 노드 결합을 승인받아야 하는 것이 전제된다. 상기 도 6b의 하단 그림을 참조하면, "틀어"라는 동사구에 결합할 수 있는 명사구의 후보로서 "11 번에서"라는 명사구와 "11 번으로"라는 명사구가 존재하는데, "11 번에서"라는 명사구는 해당 지점에서 머무른다는 "source"의 의미이고, "11 번으로"라는 명사구는 해당 지점을 향하는 "목적(target)"의 의미이다. 두 명사구의 의미는 모두 "채널"에 관련된 것이므로 필터링 과정에 영향을 미치지 못하며 문장 성분을 나타내는 "case"가 "target"인지 "source"인지가 영향을 미칠 것이다. 따라서, 두 후보 명사구가 가지는 특성값 중 결합될 노드(NP1)의 특성값과 일치하는 명사구는 "11번으로"라는 명사구가 되어 "11 번으로 틀어" 라는 문장이 생성되는 것이다.
상기와 같은 본 발명의 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만, 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프 로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이제, 도 7 및 도 8a 내지 도 8c를 참조하여, 언어 모델 구축 방법의 시간적 순서에 따른 흐름을 설명한다. 도 7은 본 발명의 실시예에 따른 언어 모델 구축 방법의 전체 흐름을 나타내는 도면이고, 도 8a는 상기 도 7의 전체 흐름 중 스테이트 스키마의 확장 과정의 흐름을 나타내는 도면이고, 도 8b는 상기 도 7의 전체 흐름 중 문법 구조의 확장 과정의 흐름을 나타내는 도면이며, 도 8c는 상기 도 7의 전체 흐름 중 필터링 과정의 흐름을 나타내는 도면이다.
먼저, 상기 도 7을 참조하면, 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장하는 단계를 수행한다(S200). 여기서, 상기 일반 문법 데이터베이스(110)는 품사구 또는 품사절의 구조와 의미, 상기 구조를 구성하는 어휘 및 상기 어휘의 품사에 대한 데이터를 포함하는 트리 구조 데이터를 구성 요소로 가지게 된다. 상기 스테이트 스키마의 확장 단계를 상기 도 8a를 참조하여 상세히 설명한다.
먼저, 스테이트 스키마를 구성하고 있는 적어도 하나 이상의 스테이트로부터 상기 스테이트에 대한 정보를 포함하는 태그 정보를 추출하며(S210), 상기 추출된 태그 정보로부터 상기 스테이트가 단독으로 표현할 수 있는 어구(phrase) 또는 상기 스테이트 간 연결에 의해 표현할 수 있는 어구에 대한 정보를 추출하게 된다(S220). 그리고, 상기 추출된 정보를 이용하여 상기 스테이트 스키마를 구성하는 스테이트를 헤드 스테이트와 의존 스테이트로 분류하게 된다(S230). 여기서, 헤드 스테이트란 문장 내에서 중심적 의미를 가지는 스테이트로서 주로 서술어 역할을 하는 용언이 이에 해당하며, 의존 스테이트란 상기 헤드 스테이트를 제외한 스테이트로서 상기 헤드 스테이트를 수식하는 명사구나 형용사구 등이 이에 해당할 것이다.
스테이트를 헤드와 의존 스테이트로 분류한 다음에는, 상기 헤드 스테이트와 동일한 스테이트가 루트 노드에 존재하는 트리 구조 데이터를 일반 문법 데이터베이스로(110)부터 검색하게 된다(S240). 상기 검색된 트리 구조 데이터의 문장 성분의 수와 상기 헤드 스테이트에 부가된 의존 스테이트의 개수를 비교하게 되는데(S250), 상기 비교 결과에 따라 상기 스테이트 스키마를 확장하게 된다. 즉, 트리 구조 데이터의 문장 성분의 수를 N1이라고 하고, 헤드 스테이트에 부가된 의존 스테이트의 수를 N2라고 하였을 때, 상기 문장 성분의 수(N1)가 상기 의존 스테이트의 수(N2)보다 큰 경우에는, 더 많은 스테이트를 이용하여 동일한 의미를 표현할 수 있다고 유추할 수 있기에 상기 트리 구조 데이터의 문장 성분에 상응하는 스테이트를 상기 의존 스테이트로 추가 삽입(insertion)할 수 있다(S251). 상기 문장 성분의 수(N1)가 상기 의존 스테이트의 수(N2)보다 작은 경우에는, 더 적은 수의 스테이트로도 동일한 의미를 표현할 수 있다고 유추 가능하기에 상기 트리 구조 데이터에 표현되지 않고 있는 스테이트를 상기 의존 스테이트로부터 삭제(deletion)할 수 있다(S253). 그리고, 상기 N1과 상기 N2가 동일할 경우에는, 스테이트의 삽입이나 삭제를 수행하지 않으며, 대신 상기 트리 구조 데이터의 어순과 상기 의존 스테이트의 어순의 차이가 존재할 경우에는, 해당 언어의 어순 자유도에 따라 구축되어 있는 트리 구조 데이터의 어순 배열을 참조하여 상기 의존 스테이트의 어순 배열을 조절(reordering)하게 된다(S252).
다음으로, 상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조(structure)를 확장하는 단계(S300)에 대해 상기 도 8b를 참조하여 설명한다. 상기 확장된 스테이트 스키마에 포함되어 있는 헤드 스테이트가 표현할 수 있는 문법 구조를 일반 문법 데이터베이스(110)를 이용하여 확장하고(S310) 난 후에, 상기 확장된 헤드 스테이트를 수식하는 의존 스테이트가 표현할 수 있는 문법 구조를 다시 일반 문법 데이터베이스(110)를 이용하여 확장하게 된다(S320). 여기서, 상기 확장을 수행한다는 것은, 상기 헤드 또는 의존 스테이트를 동일한 품사구에 상응하는 트리 구조 데이터로 대체하는 대체 과정 및 상기 대체 과정을 수행한 스테이트와 스테이트 사이에 상기 트리 구조 데이터를 첨가하는 첨가 과정을 수행한다는 의미로서, 상세한 설명은 상기 도 5b 및 상기 도 5c 부분에서 상술하였기에 여기서는 상세한 설명을 생략하기로 한다.
마지막 단계로서, 상기 확장된 문법 구조에 대해 일반 문법 데이터베이스(110)를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 단계를 수행한다 (S400). 이러한 과정을 상세히 설명하면, 상기 대체 과정 및 상기 첨가 과정을 수행하여 생성되는 결합 스테이트의 결합 노드를 구성하는 제 1 결합 노드와 제 2 결합 노드의 특성값을 서로 비교하게 된다(S410). 상기 비교된 두 특성값이 일치하는 경우에는 상기 일치된 특성값을 상기 결합 스테이트의 특성값으로 부여하고, 상기 비교된 두 특성값이 일치하지 않는 경우에는, 상기 대체 과정 및 상기 첨가 과정이 실패한 것으로 보아 상기 결합 스테이트를 일반 문법 데이터베이스(110)에 저장하지 않는다(S420). 또한, 상기 제 1 결합 노드 또는 상기 제 2 결합 노드의 특성값이 복수로 존재하는 경우에는, 상기 제 1 결합 노드와 상기 제 2 결합 노드의 특성값의 교집합에 해당하는 특성값만을 상기 결합 스테이트의 특성값으로 부여한다(S430).
한편, 본 발명의 실시예에 따른 언어 모델 구축 장치 및 방법의 권리 범위는 상기와 같은 방법을 컴퓨터에서 실행하기 위한 프로그램 코드를 기록한 컴퓨터로 읽을 수 있는 기록 매체에도 미침은 당업자에게 있어서 자명하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 벗어나지 않는 범위 내에서 여러 가지로 치환, 변형 및 변경이 가능하므로 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균 등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명의 실시예에 따른 언어 모델 구축 장치 및 방법에 따르면, 스테이트 스키마를 일반 문법 데이터베이스를 이용하여 확장함으로써 학습하지 않은 문법 구조에 대한 인식률을 향상시킬 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.

Claims (19)

  1. 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 트리 구조 데이터를 구성 요소로 가지는 일반 문법 데이터베이스를 이용하여 확장하는 스키마 확장부;
    상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 문법 구조 확장부; 및
    상기 확장된 문법 구조에 대해 상기 일반 문법 데이터베이스를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 문법 구조 필터부를 포함하며,
    상기 스테이트는 문장 내에서 중심적 의미를 가지는 헤드 스테이트와 상기 헤드 스테이트를 제외한 스테이트인 의존 스테이트로 분류되는, 언어 모델 구축 장치.
  2. 제 1 항에 있어서,
    상기 일반 문법 데이터베이스는,
    품사구 또는 품사절의 구조와 의미, 상기 구조를 구성하는 어휘 및 상기 어휘의 품사에 대한 데이터를 포함하는 트리 구조 데이터를 구성 요소로 가지는, 언어 모델 구축 장치.
  3. 제 2 항에 있어서,
    상기 스키마 확장부는,
    상기 적어도 하나 이상의 스테이트를 상기 헤드 스테이트와 상기 의존 스테이트로 분류하는 스테이트 분류부;
    상기 분류된 헤드 스테이트와 동일한 스테이트가 루트 노드에 존재하는 트리 구조 데이터를 상기 일반 문법 데이터베이스로부터 검색하는 문법 검색부; 및
    상기 검색된 트리 구조 데이터의 문장 성분의 수와 상기 헤드 스테이트에 부가된 의존 스테이트의 수를 비교하여 상기 비교 결과에 따라 상기 스테이트 스키마를 확장하는 비교 확장부를 포함하는, 언어 모델 구축 장치.
  4. 제 3 항에 있어서,
    상기 스테이트 분류부는,
    상기 적어도 하나 이상의 스테이트로부터 상기 스테이트에 대한 정보를 포함하는 태그 정보를 추출하는 태그 정보 추출부;
    상기 추출된 태그 정보로부터 상기 스테이트가 단독으로 표현할 수 있는 어구(phrase) 또는 상기 스테이트 간 연결에 의해 표현할 수 있는 어구에 대한 정보를 추출하는 어구 정보 추출부; 및
    상기 어구 정보 추출부에 의해 추출된 정보를 이용하여 상기 적어도 하나 이상의 스테이트를 상기 헤드 스테이트와 상기 의존 스테이트로 분류하는 분류부를 포함하는, 언어 모델 구축 장치.
  5. 제 3 항에 있어서,
    상기 비교 확장부는,
    상기 문장 성분의 수가 상기 의존 스테이트의 수보다 큰 경우에는, 상기 문장 성분에 상응하는 스테이트를 상기 의존 스테이트로 추가하고,
    상기 문장 성분의 수가 상기 의존 스테이트의 수보다 작은 경우에는, 상기 트리 구조 데이터에 표현되지 않고 있는 스테이트를 상기 의존 스테이트로부터 삭제하며,
    상기 문장 성분의 수와 상기 의존 스테이트의 수가 동일한 경우에는, 상기 트리 구조 데이터의 어순 배열을 참조하여 상기 의존 스테이트의 어순 배열을 조절하는, 언어 모델 구축 장치.
  6. 제 5 항에 있어서,
    상기 문법 구조 확장부는,
    상기 확장된 스테이트 스키마에 포함되어 있는 헤드 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 헤드 스테이트 확장부; 및
    상기 확장된 헤드 스테이트를 수식하는 의존 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 의존 스테이트 확장부를 포함하는, 언어 모델 구축 장치.
  7. 제 6 항에 있어서,
    상기 확장은,
    상기 헤드 또는 의존 스테이트를 동일한 품사구에 상응하는 트리 구조 데이터로 대체하는 대체 과정 및 상기 대체 과정을 수행한 스테이트와 스테이트 사이에 상기 트리 구조 데이터를 첨가하는 첨가 과정을 포함하는, 언어 모델 구축 장치.
  8. 제 7 항에 있어서,
    상기 문법 구조 필터부는,
    상기 대체 과정 및 상기 첨가 과정을 수행하여 생성되는 결합 스테이트의 결합 노드를 구성하는 제 1 결합 노드와 제 2 결합 노드의 특성값을 서로 비교하는 특성값 비교부; 및
    상기 비교된 두 특성값이 일치하는 경우에는 상기 일치된 특성값을 상기 결합 스테이트의 특성값으로 부여함으로써 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하고, 상기 비교된 두 특성값이 일치하지 않는 경우에는 상기 대체 과정 및 상기 첨가 과정이 실패한 것으로 보아 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하지 않는 필터부를 포함하는, 언어 모델 구축 장치.
  9. 제 8 항에 있어서,
    상기 필터부는,
    상기 제 1 결합 노드 또는 상기 제 2 결합 노드의 특성값이 복수로 존재하는 경우에는, 상기 제 1 결합 노드와 상기 제 2 결합 노드의 특성값의 교집합에 해당하는 특성값만을 상기 결합 스테이트의 특성값으로 부여함으로써 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하는, 언어 모델 구축 장치.
  10. (a) 유한 스테이트 문법(Finite State Grammar)에 의해 규정된 적어도 하나 이상의 스테이트로 구성된 스테이트 스키마를 트리 구조 데이터를 구성 요소로 가지는 일반 문법 데이터베이스를 이용하여 확장하는 단계;
    (b) 상기 확장된 스테이트 스키마를 구성하는 각 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 단계; 및
    (c) 상기 확장된 문법 구조에 대해 상기 일반 문법 데이터베이스를 이용하여 잘못된 문법 구조를 필터링하여 걸러내는 단계를 포함하며,
    상기 스테이트는 문장 내에서 중심적 의미를 가지는 헤드 스테이트와 상기 헤드 스테이트를 제외한 스테이트인 의존 스테이트로 분류되는, 언어 모델 구축 방법.
  11. 제 10 항에 있어서,
    상기 일반 문법 데이터베이스는,
    품사구 또는 품사절의 구조와 의미, 상기 구조를 구성하는 어휘 및 상기 어휘의 품사에 대한 데이터를 포함하는 트리 구조 데이터를 구성 요소로 가지는, 언어 모델 구축 방법.
  12. 제 11 항에 있어서,
    상기 (a) 단계는,
    (a1) 상기 적어도 하나 이상의 스테이트를 상기 헤드 스테이트와 상기 의존 스테이트로 분류하는 단계;
    (a2) 상기 분류된 헤드 스테이트와 동일한 스테이트가 루트 노드에 존재하는 트리 구조 데이터를 상기 일반 문법 데이터베이스로부터 검색하는 단계; 및
    (a3) 상기 검색된 트리 구조 데이터의 문장 성분의 수와 상기 헤드 스테이트에 부가된 의존 스테이트의 수를 비교하여 상기 비교 결과에 따라 상기 스테이트 스키마를 확장하는 단계를 포함하는, 언어 모델 구축 방법.
  13. 제 12 항에 있어서,
    상기 (a1) 단계는,
    상기 적어도 하나 이상의 스테이트로부터 상기 스테이트에 대한 정보를 포함하는 태그 정보를 추출하는 단계;
    상기 추출된 태그 정보로부터 상기 스테이트가 단독으로 표현할 수 있는 어구(phrase) 또는 상기 스테이트 간 연결에 의해 표현할 수 있는 어구에 대한 정보를 추출하는 단계; 및
    상기 추출된 어구에 대한 정보를 이용하여 상기 적어도 하나 이상의 스테이트를 상기 헤드 스테이트와 상기 의존 스테이트로 분류하는 단계를 포함하는, 언어 모델 구축 방법.
  14. 제 12 항에 있어서,
    상기 (a3) 단계는,
    상기 문장 성분의 수가 상기 의존 스테이트의 수보다 큰 경우에는, 상기 문장 성분에 상응하는 스테이트를 상기 의존 스테이트로 추가하고,
    상기 문장 성분의 수가 상기 의존 스테이트의 수보다 작은 경우에는, 상기 트리 구조 데이터에 표현되지 않고 있는 스테이트를 상기 의존 스테이트로부터 삭제하며,
    상기 문장 성분의 수와 상기 의존 스테이트의 수가 동일한 경우에는, 상기 트리 구조 데이터의 어순 배열을 참조하여 상기 의존 스테이트의 어순 배열을 조절하는, 언어 모델 구축 방법.
  15. 제 14 항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 확장된 스테이트 스키마에 포함되어 있는 헤드 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 단계; 및
    (b2) 상기 확장된 헤드 스테이트를 수식하는 의존 스테이트가 표현할 수 있는 문법 구조를 상기 일반 문법 데이터베이스를 이용하여 확장하는 단계를 포함하는, 언어 모델 구축 방법.
  16. 제 15 항에 있어서,
    상기 확장은,
    상기 헤드 또는 의존 스테이트를 동일한 품사구에 상응하는 트리 구조 데이터로 대체하는 대체 과정 및 상기 대체 과정을 수행한 스테이트와 스테이트 사이에 상기 트리 구조 데이터를 첨가하는 첨가 과정을 포함하는, 언어 모델 구축 방법.
  17. 제 16 항에 있어서,
    상기 (c) 단계는,
    (c1) 상기 대체 과정 및 상기 첨가 과정을 수행하여 생성되는 결합 스테이트의 결합 노드를 구성하는 제 1 결합 노드와 제 2 결합 노드의 특성값을 서로 비교하는 단계; 및
    (c2) 상기 비교된 두 특성값이 일치하는 경우에는 상기 일치된 특성값을 상기 결합 스테이트의 특성값으로 부여함으로써 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하고, 상기 비교된 두 특성값이 일치하지 않는 경우에는 상기 대체 과정 및 상기 첨가 과정이 실패한 것으로 보아 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하지 않는 단계를 포함하는, 언어 모델 구축 방법.
  18. 제 17 항에 있어서,
    상기 (c2) 단계는,
    상기 제 1 결합 노드 또는 상기 제 2 결합 노드의 특성값이 복수로 존재하는 경우에는, 상기 제 1 결합 노드와 상기 제 2 결합 노드의 특성값의 교집합에 해당 하는 특성값만을 상기 결합 스테이트의 특성값으로 부여함으로써 상기 결합 스테이트를 상기 일반 문법 데이터베이스에 저장하는 단계를 포함하는, 언어 모델 구축 방법.
  19. 제 10 항 내지 제 18 항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램 코드를 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020050110934A 2005-11-18 2005-11-18 언어 모델 구축 장치 및 방법 KR100735559B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050110934A KR100735559B1 (ko) 2005-11-18 2005-11-18 언어 모델 구축 장치 및 방법
US11/545,484 US8255220B2 (en) 2005-11-18 2006-10-11 Device, method, and medium for establishing language model for expanding finite state grammar using a general grammar database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050110934A KR100735559B1 (ko) 2005-11-18 2005-11-18 언어 모델 구축 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070053015A KR20070053015A (ko) 2007-05-23
KR100735559B1 true KR100735559B1 (ko) 2007-07-04

Family

ID=38098642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050110934A KR100735559B1 (ko) 2005-11-18 2005-11-18 언어 모델 구축 장치 및 방법

Country Status (2)

Country Link
US (1) US8255220B2 (ko)
KR (1) KR100735559B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1331630A3 (en) * 2002-01-07 2006-12-20 AT&T Corp. Systems and methods for generating weighted finite-state automata representing grammars
KR101149521B1 (ko) * 2008-12-10 2012-05-25 한국전자통신연구원 도메인 온톨로지를 이용한 음성 인식 방법 및 그 장치
US9576570B2 (en) * 2010-07-30 2017-02-21 Sri International Method and apparatus for adding new vocabulary to interactive translation and dialogue systems
US8527270B2 (en) 2010-07-30 2013-09-03 Sri International Method and apparatus for conducting an interactive dialogue
EP2758958A4 (en) * 2011-09-21 2015-04-08 Nuance Communications Inc EFFICIENT STEP-BY-STEP MODIFICATION OF OPTIMIZED FSTS FOR USE IN LANGUAGE APPLICATIONS
JP2013072974A (ja) * 2011-09-27 2013-04-22 Toshiba Corp 音声認識装置、方法及びプログラム
US10083685B2 (en) * 2015-10-13 2018-09-25 GM Global Technology Operations LLC Dynamically adding or removing functionality to speech recognition systems
US9966066B1 (en) * 2016-02-03 2018-05-08 Nvoq Incorporated System and methods for combining finite state transducer based speech recognizers
CN111858645A (zh) * 2020-07-09 2020-10-30 上海达梦数据库有限公司 一种数据库对象处理方法、装置、设备及存储介质
KR102476104B1 (ko) * 2022-06-27 2022-12-09 한국과학기술정보연구원 사전학습 언어모델 구축장치 및 사전학습 언어모델의 어휘 확장 방법
CN114860942B (zh) * 2022-07-05 2022-10-04 北京云迹科技股份有限公司 文本意图分类方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010087328A (ko) * 2000-03-06 2001-09-15 포만 제프리 엘 문법적 제한사항을 갖는 라벨러를 이용한 구두 발언 거절
JP2004271764A (ja) 2003-03-06 2004-09-30 Nagoya Industrial Science Research Inst 有限状態変換器作成装置、プログラム、記録媒体、作成方法、及び漸進的構文解析装置
KR20050101695A (ko) * 2004-04-19 2005-10-25 대한민국(전남대학교총장) 인식 결과를 이용한 통계적인 음성 인식 시스템 및 그 방법
KR20050101694A (ko) * 2004-04-19 2005-10-25 대한민국(전남대학교총장) 문법적 제약을 갖는 통계적인 음성 인식 시스템 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806032A (en) * 1996-06-14 1998-09-08 Lucent Technologies Inc. Compilation of weighted finite-state transducers from decision trees
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6836760B1 (en) * 2000-09-29 2004-12-28 Apple Computer, Inc. Use of semantic inference and context-free grammar with speech recognition system
US7181386B2 (en) * 2001-11-15 2007-02-20 At&T Corp. Systems and methods for generating weighted finite-state automata representing grammars

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010087328A (ko) * 2000-03-06 2001-09-15 포만 제프리 엘 문법적 제한사항을 갖는 라벨러를 이용한 구두 발언 거절
JP2004271764A (ja) 2003-03-06 2004-09-30 Nagoya Industrial Science Research Inst 有限状態変換器作成装置、プログラム、記録媒体、作成方法、及び漸進的構文解析装置
KR20050101695A (ko) * 2004-04-19 2005-10-25 대한민국(전남대학교총장) 인식 결과를 이용한 통계적인 음성 인식 시스템 및 그 방법
KR20050101694A (ko) * 2004-04-19 2005-10-25 대한민국(전남대학교총장) 문법적 제약을 갖는 통계적인 음성 인식 시스템 및 그 방법

Also Published As

Publication number Publication date
US8255220B2 (en) 2012-08-28
US20070118353A1 (en) 2007-05-24
KR20070053015A (ko) 2007-05-23

Similar Documents

Publication Publication Date Title
KR100735559B1 (ko) 언어 모델 구축 장치 및 방법
US10134388B1 (en) Word generation for speech recognition
US9934777B1 (en) Customized speech processing language models
US7299178B2 (en) Continuous speech recognition method and system using inter-word phonetic information
US6501833B2 (en) Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system
US9361879B2 (en) Word spotting false alarm phrases
WO2003010754A1 (fr) Systeme de recherche a entree vocale
US20200273449A1 (en) Method, system and apparatus for multilingual and multimodal keyword search in a mixlingual speech corpus
US8849668B2 (en) Speech recognition apparatus and method
JPH08278794A (ja) 音声認識装置および音声認識方法並びに音声翻訳装置
US7949527B2 (en) Multiresolution searching
US8504359B2 (en) Method and apparatus for speech recognition using domain ontology
Sak et al. Discriminative reranking of ASR hypotheses with morpholexical and n-best-list features
KR100930714B1 (ko) 음성인식 장치 및 방법
KR100573870B1 (ko) 대화체 연속음성인식을 위한 의사형태소 기반다중발음사전 구축 방법 및 그 시스템과 이를 이용한대화체 음성인식 방법
JP4764203B2 (ja) 音声認識装置及び音声認識プログラム
Norouzian et al. An approach for efficient open vocabulary spoken term detection
KR100277690B1 (ko) 화행 정보를 이용한 음성 인식 방법
KR101095864B1 (ko) 연속 숫자의 음성 인식에 있어서 혼동행렬과 신뢰도치 기반의 다중 인식후보 생성 장치 및 방법
Choueiter Linguistically-motivated sub-word modeling with applications to speech recognition.
KR100908444B1 (ko) 음소 인식 기반의 탐색공간 제한을 이용한 연속음성인식장치 및 방법
Chung Towards multi-domain speech understanding with flexible and dynamic vocabulary
Soltau et al. Automatic speech recognition
Wang et al. An iterative approach to model merging for speech pattern discovery
MAUČEC et al. Using data-driven subword units in language model of highly inflective Slovenian 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: 20130530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 12