KR20040104420A - 텍스트 및 음성 분류를 위하여 언어 모델을 구별하는트레이닝 - Google Patents

텍스트 및 음성 분류를 위하여 언어 모델을 구별하는트레이닝 Download PDF

Info

Publication number
KR20040104420A
KR20040104420A KR1020040040068A KR20040040068A KR20040104420A KR 20040104420 A KR20040104420 A KR 20040104420A KR 1020040040068 A KR1020040040068 A KR 1020040040068A KR 20040040068 A KR20040040068 A KR 20040040068A KR 20040104420 A KR20040104420 A KR 20040104420A
Authority
KR
South Korea
Prior art keywords
training
class
parameters
data
conditional
Prior art date
Application number
KR1020040040068A
Other languages
English (en)
Other versions
KR101143030B1 (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 마이크로소프트 코포레이션
Publication of KR20040104420A publication Critical patent/KR20040104420A/ko
Application granted granted Critical
Publication of KR101143030B1 publication Critical patent/KR101143030B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • 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
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (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

단어 스트링이 주어지면 분류 정확성과 매우 밀접한 관련이 있는, 클래스의 조건부 라이크리후드(maximum likelihood)가 최대가 되는 언어 모델을 추정하는 방법이 개시된다. 이 방법은 분류자가 소정의 트레이닝 문장 또는 어터런스에 대해 정확한 클래스와 부정확한 클래스를 구별하도록 통계적인 언어 모델 파라미터를 모든 클래스에 대하여 연대하여 조정하는 단계를 포함한다. 본 발명의 특정 실시예는 n-그램 분류자(n-gram classifier)에 대한 특수 트레이닝 기법에 관련하여 유리 함수 증가 변환(rational function growth transform)의 구현에 관한 것이다.

Description

텍스트 및 음성 분류를 위하여 언어 모델을 구별하는 트레이닝{DISCRIMINATIVE TRAINING OF LANGUAGE MODELS FOR TEXT AND SPEECH CLASSIFICATION}
본 발명은 텍스트 및 음성 분류(classification)에 관한 것으로, 보다 상세히는 분류의 정확성을 증진시키기 위한 언어 모델의 향상에 관한 것이다.
자연 언어 이해는 컴퓨터를 사용하여 사용자에 의해 생성되는 텍스트 또는 음성의 의미를 결정하는 것을 의미한다. 자연 언어 입력의 의미를 결정하는 1단계는 그 입력을 소정의 클래스(class)들의 집합 중 하나로 분류하는 것이다. 예를 들면, "나는 로마행 항공편을 예약하길 원한다"와 같은 특정 입력은 여행 준비 클래스로 분류될 수 있다. 그러면, 이러한 클래스 전용 애플리케이션이 호출되어 그 입력으로부터 상세한 정보를 판독하고 그 입력에 의해 표현되는 사용자의 목적을 수행한다.
이러한 분류는 자연어 처리에서 명확히 정의된 문제이다. 실제적인 애플리케이션들의 특정 예는 자동적 콜 센터 및 자연 언어 기반의 도움말 시스템에서의 콜 라우팅을 포함한다.
분류 절차를 용이하게 하기 위해서 분류자(classifier)가 사용될 수 있다. 분류자의 일반적인 예로는 n-그램(n-gram), 나이브 베이즈(Naive Bayes) 및 최대 앤트로피 분류자(Maximum Entropy classifier)와 같은 통계적 분류자들을 포함한다. n-그램 분류자에서, 통계적 언어 모델은 자연어 단어 스트링(즉, 문장)을 클래스에 할당하기 위해 사용된다. 상술하자면, 개별적인 n-그램 언어 모델이 각 클래스에 대해서 형성된다. 실행중에는, 언어 모델들을 병렬적으로 사용하여 소정의 테스트 단어 스트링 또는 음성 어터런스(utterance)에 확률을 할당한다. 그 테스트 단어 스트링 또는 어터런스에 최대 확률을 표시하는 언어 모델과 관련된 클래스는 스트링/어터런스가 속한 클래스로서 지정된다. 클래스 할당은 일대일일 필요는 없다. 테스트 문장 또는 어터런스는 테스트 스트링이나 어터런스가 주어지면 각각의 클래스가 받는 확률에 의존하여 N-최적 클래스(N-best class) 후보자들의 집합에 할당될 수 있다. 음성 분류에 있어서, n-그램 분류자는 자신들이 음성 어터런스 인식 및 분류가 통합되는 1단계 시나리오에서 사용될 수 있는 이점이 있다.
n-그램 분류자를 트레이닝하는 직접적인 방법은 최대 라이크리후드(maximum likelihood: ML) 추정을 이용하여 각각의 클래스 당 개별적으로 언어 모델을 트레이닝하는 것이다. 이러한 트레이닝 방식은 구현하기는 쉽지만, 분류의 정확성이 제한된 분류자를 제공할 수 있다.
본 발명의 실시예는 분류의 정확성과 매우 밀접한 상호 관련이 있는, 단어 스트링이 주어지면 클래스의 조건부 라이크리후드(conditional likelihood)가 최대가 되는 언어 모델을 트레이닝하는 방법에 관한 것이다. 이 방법은 분류자가 소정의 트레이닝 문장 및 어터런스의 정확한 클래스와 부정확한 클래스를 구별하는 모든 클래스에 관하여 함께 통계적 언어 모델(statistical language model) 파라미터를 조정하는 것을 포함한다. 본 발명의 특정 실시예는 n-그램 분류자에 대한 특수 트레이닝 기법의 관점에서 유리 함수 증가 변환(rational function growthtransform)의 구현에 관련된 것이다.
도 1은 본 발명이 사용될 수 있는 하나의 예시적인 환경의 블럭도.
도 2는 자연어 분류 시스템의 일부의 블럭도.
도 3은 다른 자연어 분류 시스템의 일부의 블럭도.
도 4는 태스크나 클래스 식별에 관련된 단계를 도시하는 흐름도.
도 5는 특정 클래스 언어 모델의 트레이닝에 관련된 단계를 도시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
134: 오퍼레이팅 시스템
135: 애플레케이션 프로그램
170: 네트워크 인터페이스
185: 원격 애플리케이션 프로그램
204: 통계적 분류자
205: 트레이닝 데이터
209: 트레이너
Ⅰ. 예시적인 동작 환경
본 발명의 다양한 측면은 텍스트 또는 음성 어터런스 분류에서 사용되는 언어 모델의 조건부 최대 라이크리후드(conditional maximum likelihood: CML) 추정에 관한 것이다. 그러나, 본 발명을 좀더 세부적으로 설명하기 전에, 본 발명이 구현될 수 있는 예시적인 환경의 일 실시예가 설명될 것이다.
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 예를 나타낸다. 컴퓨팅 시스템 환경(100)은 단지 적절한 컴퓨팅 환경의 일 예이며 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(100)은 예시적인 오퍼레이팅 환경(100)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성(dependency) 또는 요구사항(requirement)을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 다른 범용 또는 특수목적 컴퓨팅 시스템 환경들 또는 구성들에서 동작될 수 있다. 본 발명에서 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 탑 박스(set top box), 프로그램가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 텔레폰 시스템, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함될 수 있지만, 이에 한정되지 않는다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령어에 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실행되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하여 국부 및 원격 컴퓨터 저장 매체 내에 위치한다. 그 프로그램들 및 모듈들에 의해 수행되는 태스크는 이하에서 도면과 관련하여 기술된다. 본 기술 분야에서 숙련된 기술을 가진자라면 임의의 형태의 컴퓨터 판독가능 매체에 기록될 수 있는, 프로세서 실행가능한 명령어로 그 기술 및 도면을 구현할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들로는, 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하여 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하여 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 한정되지 않는다.
통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의의 임의의 조합이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(110) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(120)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(140), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(156)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(155)가 도시되어 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
앞서 기술되고 도 1에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다.
사용자는 일반적으로 마우스, 트랙볼, 터치 패드와 같은 포인팅 장치, 키보드(162) 및 마이크로폰(163)과 같은 입력 장치를 통해 컴퓨터(110)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해 종종 프로세싱유닛(120)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 포트(USB) 와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터외에도, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며 컴퓨터(110)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 1은 메모리 장치(181)에 상주하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다는 것을 알 수 있다.
본 발명은 도 1에 관하여 기술된 바와 같이 컴퓨팅 시스템에서 수행될 수 있음을 유의한다. 그러나, 본 발명은 서버, 메세지 취급 전용 컴퓨터 또는, 본 발명의 다른 부분이 분산 컴퓨팅 시스템의 다른 부분에서 수행될 수 있는 분산 시스템에서 수행될 수 있다.
Ⅱ. 태스크 분류 시스템의 개요
도 2는 자연어 분류 시스템(200)의 일부의 블럭도이다. 시스템(200)은 통계적 분류자(204)를 포함한다. 시스템(200)은 또한 선택적인 음성 인식 엔진(206)을 포함한다. 인터페이스(200)가 음성 신호를 입력으로 받아야 하는 경우에는, 인식기(206)를 포함한다. 그러나, 인터페이스(200)가 텍스트 형태의 입력을 받아야 하는 경우에는, 인식기(206)가 필요 없다. 본 발명의 설명은 음성 인식기(206)가 존재하는 실시예에 관련하여 진행될 것이지만, 다른 실시예에서는 존재할 필요가 없다는 것을 인식할 것이다. 또한, 수서 문자(handwriting) 또는 다른 모드들과 같은, 다른 자연어 통신 모드들이 사용될 수 있다. 이러한 경우는, 수서 문자 인식(handwriting recognition) 컴포넌트와 같은, 적절한 인식 컴포넌트가 이용된다.
클래스 또는 태스크 분류를 수행하기 위해, 시스템(200)은 먼저 사용자가 말한 자연어 음성을 나타내는 음성 신호 형태로 어터런스(208)를 수신한다. 음성 인식기(206)는 어터런스(208)에 대해 음성 인식을 수행하고, 그것의 출력에, 자연어 텍스트(210)를 제공한다. 텍스트(210)는 음성 인식기(206)에 의해 수신된 자연어 어터런스(208)의 텍스트 형태의 표현이다. 음성 인식기(206)는 음성 입력에 대해 음성 인식을 수행하는 임의의 알려진 음성 인식 시스템이 될 수 있다. 음성 인식기(206)는 특수 용도 구술 언어 모델을 포함하지만, 음성 인식기(206)가 음성을 인식하는 특정한 방법이 본 발명의 주요 부분을 형성하는 것은 아니다. 유사하게, 다른 실시예에서, 음성 인식기(206)는 각각의 확률들에 대한 결과 또는 해석의 리스트를 산출한다. 그 후에 컴포넌트는 각각의 해석에 대해 동작하고 클래스 또는 태스크 분류에서 관련 확률들을 사용한다.
일 실시예에 따르면, 자연어 텍스트(210)의 모두 혹은 일부는 분석 및 분류를 위해 통계적 분류자(204)에 제공된다. 전처리 작업이 텍스트(210)에서 특정 요소(즉, a, an, the와 같은 관사)들을 제거하는 데에 이용되는 경우에 일부가 제공될 수 있다. 다른 실시예에 따르면, 자연어 텍스트(210)의 덜 직접적인 표현(즉 벡터 표현)이 분석 및 분류를 위해 통계적 분류자(204)에 제공된다.
일 실시예에 따르면, 특징들의 집합이 통계적 분류자(204)로의 제출을 위하여 자연 언어 텍스트에서 추출된다. 특징의 집합은 예를 들어 설명하면 태스크 분류를 수행함에 있어서 가장 유익한 것으로 발견된 것들일 것이다. 이는 경험적으로, 혹은 다른 방법으로, 결정될 수 있다.
일 실시예에서, 추출된 특징들은 자연어 입력 텍스트(210)에서 단어의 존재와 부재를 표시하는 단어 식별자의 집합이다. 예를 들면, 특정 애플리케이션으로 설계된 특정 어휘의 단어들만이 분류자(204)에 의해 고려사항이라고 태깅(tag)될 수 있고, 그 어휘 이외의 단어들은 <UNKNOWN>이라는 구별되는 단어 유형으로 매핑된다.
특징들의 더 복잡한 유형도 고려사항으로 선택될 수 있음을 유의한다. 예를 들면, 단어의 공기(co-occurrence)가 특징으로 선택될 수 있다. 이는, 예를 들면, 수행될 태스크를 보다 명백하게 식별하기 위해서 사용될 수 있다. 예를 들면, 단어 "send mail"의 공기는 통계적 분류자(204)에 의한 처리를 위해 특정 임포턴스(importance)로 표시되는 특징이 될 수 있다. 입력 텍스트에서, 이들 2개의 단어가 이러한 순서로 발견되면, 통계적인 분류자(204)는 그 사실의 통지를 받을 것이다. 바이-그램(bi-gram), 트리-그램(tri-gram), 다른 n-그램, 및 임의의 다른 원하는 특징들과 같은 여러가지 다른 특징들도 선택될 수 있다.
특징 추출 프로세스 이전에 텍스트(210)의 처리를 용이하게 하기 위해 전처리를 선택적으로 자연어 텍스트(210)에서 수행할 수 있다. 예를 들면, 자연어 텍스트(210)는 특정 유형의 콘텐츠를 전달하도록 미리 결정된 단어의 존재 또는 부재를 표시만을 포함하는 것이 바람직할 수 있다.
스테밍(stemming) 또한 특징 추출 이전에 사용될 수 있다. 스테밍은 단어의 루트 형태를 얻기 위해 그 단어의 형태 변형을 제거하는 프로세스이다. 형태 변형의 예로는 (복수형, 시제 등과 같은)어미 변화 및 단어의 문법적인 법칙을 바꾸는 (느린 VS 느리게와 같은 형용사 VS 부사와 같이)어원 변화를 포함한다. 스테밍은 동일한 기본 의미론들을 갖는 복수의 특징을 하나의 특징으로 압축하는 데에 사용될 수 있다. 이는 데이터 희박성을 극복하고, 계산적인 효율성을 향상시키고, 통계적인 분류 방법에서 사용되는 특징 독립성 가정의 충돌을 감소시키는 것에 도움이 될 수 있다.
어떤 경우라도, 통계적 분류자(204)는 자연 언어 텍스트(210)의 정보를 수신하고 통계적 분류 컴포넌트(207)를 이용하여 그 정보를 하나 이상의 복수의 소정의 클래스 또는 태스크로 분류한다. 컴포넌트(207)는 예를 들어 설명하면 n-그램, 나이브 베이즈 또는 최대 앤트로피 분류자와 관련된 것들처럼 다양한 통계적 언어 모델 중 임의의 것이다. 트레이너(209)는 예를 들어 설명하면 트레이닝 데이터(205) 및 테스트 데이터(213)의 집합체를 이용하여 언어 모델을 트레이닝한다. 테스트 데이터(213)는 예를 들어 설명하면 트레이닝 프로세스를 용이하게 하기 위해 트레이닝 데이터(205)로부터 제공된 제한된 개수의 데이터이다.
분류자(204)에 의해서 수행되는 태스크 또는 클래스 분류에 기초가 되는 이론에 대해 이제부터 보다 상세히 기술하기로 한다. 표시를 정하기 위해서, 하나의 음성 어터런스를 본 명세서에서 이하 A로 표시한다. 어터런스 A를 발생시키는 단어 스트링은 W = w1...wn으로 표시된다. 어터런스 A의 클래스는 C(A)로 표시된다. 단어 어휘는로 표시되고, 클래스 어휘는 C로 표시된다. 트레이닝 데이터와 테스트 데이터, 각각 T와 ε,로 분열되는, 코퍼스(corpus)는 다음을 포함하는 튜플(또는 샘플) s로 구성된다:
어터런스 A, 트랜스크립션(transcription) W 및 어터런스 클래스 C(A).
참조로, 소정의 분류자의 성능은 클래스 오류율(class error rate: CER)로 측정된다:
여기에서 s.A는 샘플 s에서의 음향을 나타내고, δ(.,.)는 이 독립변수들이 서로 같으면 1이 되고, 그렇지 않으면 0이 되는 크로네커 델타 연산자(Kronecker-δ operator)이다.
n-그램 언어 모델 분류자와 관련하여, 2단계 시나리오를 가정하면, 클래스 C라벨이 붙은 트랜스크립션을 풀링(pooling)함으로써 클래스각각에 대해 n-그램 모델가 형성된다. 특정 클래스 언어 모델외에 풀링된 n-그램 언어 모델 P(w i|w i-1,w i-n+1)이 모든 트레이닝 트랜스크립션으로부터 형성된다. 그 다음 풀링된 언어 모델, 즉 이하의 수학식 2 및 3을 이용하여 제1 최적의 인식 출력에 대한 텍스트 분류를 함으로써 각각의 테스트 어터런스에 클래스를 할당한다.
이는 수학식 2의 제1단계는 음성 인식기(206)에 의해 수행되고 수학식 2의 제2단계는 통계적 분류자(204)에서 수행되는 2단계 접근법이다. 이 2단계 접근법 중 제2단계는 예를 들어 설명하면 n-그램 텍스트 분류자를 구현한다.
n-그램 유형의 분류자는 소정의 음성 어터런스에 클래스 할당이 음성 인식과 동시에 이루어지는 1단계 시스템에서 사용할 수 있다는 점에서 특수한 잠재적인 효율적 이점을 가진다. 또한, n-그램 유형의 분류자가 상대적으로 높은 순위의 단어 공기를 고려할 수 있다는 점에서 이점을 갖는다는 것은 주목할만한 가치가 있다. 예를 들면, 트리-그램의 고려사항은 3개로된 단어의 검사를 포함한다. 유니-그램(uni-gram)만을 고려한다 하더라도, 단어 어커런스(occurrence)의 개수가 n-그램 분류자에서 고려될 것이다.
도 3은 1단계 분류 시스템(220)의 일부를 도시한 것이다. 도 2의 요소와 동일하거나 유사한 기능을 가지는 도 3의 요소는 동일하거나 유사한 참조 번호로 도시된다.
(도 3의)시스템(220)은 통계적 분류자/디코더(211)를 포함한다는 점에서 (도 2의)시스템(200)과 다르다. 분류자/디코더(211)는 예를 들어 설명하면 1단계만에 어터런스(208)들을 디코딩하고 분류한다. 분류자/디코더(211)는 트레이너(209)에의해 트레이닝되는 통계적 분류 컴포넌트(207)(즉, 언어 모델)들을 포함한다. 컴포넌트(207)는 예를 들어 설명하면 단어 스트링를 찾아내는 음성 디코딩과 동시에 소정의 어터런스 A에 클래스가 할당되는 1단계 시스템에서 구성되는 n-그램 언어 모델이다.
도 3의 1단계 시스템에 따르면, n-그램 모델는 클래스 C라벨이 붙은 모든 트레이닝 트랜스크립션을 풀링함으로써 각각의 클래스에 대하여 형성된다. 인식 네트워크는 각 클래스와 관련된 라벨들을 갖는, 각각의 언어 모델을 병렬로 쌓음으로써 구성된다. 각 언어 모델으로의 전환은 스코어 log P(C)를 갖는다. 1단계에서, 가장 근접한 경로는 다음과 같이 식별된다.
따라서, 어터런스(208)의 수신에 의해, 분류자/디코더(211)는 음성 디코딩과 동시에 클래스를 할당할 수 있다. 가장 근접하다고 인식되는 단어 스트링은 그 스트링과 함께 반환되는 클래스 태그를 갖는다. 출력은 태스크 또는 클래스 ID(214) 및 디코딩된 스트링(215)이다. 디코딩된 스트링(215)은 예를 들어 설명하면 어터런스(208)의 단어 스트링 표현이다.
1단계 및 2단계 시스템 모두에 관련하여, n-그램 언어 모델은 보이지 않는 트레이닝 데이터에 적합하도록 평활화(smoothing) 될 수 있다. 일 실시예에 따르면, 특정 클래스 트레이닝 모델에 대한 n-그램 확률은 (단일 형태의 모델에는 0, n-그램 모델에는 n-1과 같은)다른 순위의 상대적인 빈도 추정치들의 선형 보간법(linear interpolation)을 이용하여 추정된다. 다른 등급에서의 선형 보간 가중치는 문맥 카운트에 따라서 버킷되고(bucket), 그들의 값들은 교차-확인(cross-validation) 데이터에 대한 최대 라이크리후드 기법(maximum likelihood technique)을 이용하여 추정된다. 그 다음 상대적인 빈도 추정치의 품질을 향상시키기 위해서 교차-확인 데이터로부터의 n-그램 카운트가 주 트레이닝 데이터로부터 모아진 카운트에 추가된다. 이러한 평활화는 Jelinek과 Mercer가 저술하고, Gelsema와 Kanal이 편집하고, 1980년 노쓰홀랜드에서 출판한 "Interpolated Estimation of Markov Source Parameters From Sparse Data, Pattern Recognition in practice"에 보다 상세히 설명된다. 이는 평활화의 일례이다.
평활화 프로세스를 정의하는 다른 방법들이 있다. 평활화의 다른 실시예에 따르면, n-그램 언어 모델을 추정하기 위하여, 반복적으로 삭제되는 보간법 방식이 다른 순위의 상대적인 빈도 추정치, fk(ㆍ),k=0...n 사이에서 이용된다:
상대적인 빈도들,, 및 보간 가중치,는 각각, 소정의 언어 모델에 이용 가능한 트레이닝 데이터의 70/30% 임의 분할에 의해서 얻는 주 데이터 및 제공된(held-out) 데이터로부터 최대 라이크리후드 추정을 이용하여 추정된다. 보간 가중치는 문맥 카운트에 따라서 버킷된다.
여기에서 CML(hn) 은 문맥 hn이 클래스에 할당된 트레이닝 데이터에서 발견되는 빈도수이다.
일반적으로 말하자면, 분류자(204 및 211)는 대응하는 자연어 입력에 할당되는 특정 태스크 또는 클래스를 식별하는 태스크 또는 클래스 식별자를 출력하도록 구성된다. 식별자(214)는 다른 대안으로는 태스크 또는 클래스 식별자의 순위화된 리스트(또는 n번째 최적 리스트)일 수 있다. 식별자(214)는 식별된 태스크에 기반하여 조취를 취할 수 있는 애플리케이션 또는 다른 컴포넌트에 제공된다. 예를 들면, 식별된 태스크가 메일 보내기라면, 식별자(214)는 전자 메일 애플리케이션으로보내져 사용자에 의해 사용되도록 전자 메일 템플릿이 디스플레이 될 수 있다. 물론, 임의의 다른 태스크 또는 클래스도 고려될 수 있다. 유사하게, 식별자(214)의 n번째 최적 리스트가 출력되면, 그 리스트의 각각의 아이템은 사용자가 원하는 클래스 또는 태스크를 선택할 수 있도록 적절한 사용자 인터페이스를 통하여 디스플레이될 수 있다. 디코딩된 스트링(215)은 또한 전자 메일 애플리케이션에 제공됨을 유의한다.
Ⅲ. 태스크 또는 클래스 식별
본 발명의 일 실시예에 따른, 도 4는 태스크 또는 클래스 식별 방법에 관련된 단계들을 도시하는 흐름도이다. 이 방법은 도 2 및 도 3에 관련하여 상술한 1단계 또는 2단계 시스템에 대해 커스터마이징(customize)될 수 있음을 유의해야 한다. 분류자는 분류 컴포넌트(207)를 이용하는데, 이 분류 컴포넌트는 예를 들어 설명하면, 클래스-의존적인 n-그램 통계적인 언어 모델 분류자들의 집합이다. 블럭 402에 따르면, 하나의 특정 클래스 모델이 각 클래스 또는 태스크마다 생성된다. 그러므로, 자연어 입력(210)을 받을 때(블럭 404), 특정 클래스 언어 모델은 각 클래스마다의 해당 정보에 대해 실행된다(블럭 406). 각 언어 모델로부터의 출력을 해당 클래스에 대한 사전 확률(prioir probability)로 곱한다(블럭 408). 최고 결과값을 갖는 클래스는 예를 들어 설명하면 목표 클래스에 대응한다(블럭410).
본 발명의 일 실시예에 따르는, 도 5는 특정 클래스 언어 모델의 트레이닝에 관련된 단계들을 도시하는 흐름도이다. 이러한 트레이닝은 예를 들어 설명하면 트레이너(209)(도 2 및 도 3)에 의해 수행된다. 블럭 502에 따르면, 특정 클래스 n-그램 언어 모델은 트레이닝 코퍼스의 문장을 n-그램 언어 모델을 트레이닝 시키는 다양한 클래스로 분열함으로써 트레이닝된다. 블럭 506에 따르면, 각 클래스에 대응하는 문장들은 그 클래스의 n-그램 분류자를 트레이닝하는 데에 사용된다. 이로써, 소정의 개수의 n-그램 언어 모델이 산출되며, 소정 개수는 고려해야 할 클래스의 총수에 대응한다. 블럭 504에 따르면, 스테밍 및 다른 형태의 전처리와 같은 특징 추출 기법은 선택적으로 트레이닝 이전에 문장에 제공될 수 있음을 유의한다. 사전처리는 클래스들 간에 문장을 분열시키기 전에 혹은 이후에 행해질 수 있다. 또한, 단계 506은 상술했듯이 스파스 데이터의 영향을 감소시키는 것을 돕는 평활화를 사용하여 언어 모델을 정의하는 것을 포함할 수 있다.
Ⅳ. n-그램 분류자들의 조건부 최대 라이크리후드 추정
본 발명의 몇몇의 실시예 하에, 트레이닝 단계 506은 조건부 최대 라이크리후드(conditional maximum likelihood: CML) 추정 방식을 이용하여 수행된다. CML 트레이닝 방식은 분류자들이 소정의 트레이닝 문장 또는 어터런스에 대한 정확한 클래스와 부정확한 클래스를 구별하도록 통계적 언어 모델 파라미터가 모든 클래스들에 대해 연대하여 트레이닝 되는 것을 가능하게 한다.
일 실시예 하에, 언어 모델,을 연대하여 트레이닝 시킴으로써, 클래스 에러율(class error rate)(수학식1)이 최소가 된다. CER이 분석적으로 다루기 쉽지 않기 때문에, 음성 어터런스 분류에 대한 조건부 확률이나 텍스트 분류에 대한 조건부 확률로 편리하게 치환한다. 여기에서 T는 트레이닝 데이터의 샘플 개수이고,는 트레이닝 샘플 i에서의 음질을 나타내고, |si.C는 트레이닝 샘플 i와 관련된 클래스이며 |si.W은 트레이닝 샘플 i와 관련된 문장(단어 스트링)이다. 이 선택은 트레이닝 데이터에 대해 예상되는 에러 확률과 동일한 트레이닝 데이터에 대한 CER과의 역 상관관계에 의해 정당화될 수 있다.
단지 텍스트의 경우에만 제한한다면, 언어 모델 P(W|C),을 조정하여 조건부 로그- 라이크리후드를 최대화 하는 것이 바람직하다:
여기에서,
수학식 7의 목적 함수를 최대화 하는 것이 목표가 된다. 효율성의 이유로, 특정 클래스 언어 모델의 최대 라이크리후드(maximum likelihood: ML) 경우(도 5에 도시됨)에서와 같이 동일한 파라미터 표현을 유지하는 것이 바람직하다. 예를 들면, ML 경우에서와 같이 동일한 λ 및 fn파라미터들을 유지하는 것이 바람직하다(그렇지만 파라미터에 대한 다른 값들이 결정된다). 저장소 요건 및 실행 시간은 예를 들어 설명하면 ML 모델에서와 동일하다. 이는 선택적인 제약사항이고 제거될수 있다.
음성 어터런스 분류에서, 조건부 라이크리후드이 최대가 되도록 언어 모델,이 조율될 수 있다는 것은 주목할 만한 가치가 있다:
여기에서,
(수학식 7)에 대한(수학식 9)의 비를 극대화시키기 위한 언어 모델의 조율 간의 주목할 만한 차이점은 전자의 경우에서 이 언어 모델은 단어 간의 음향 혼동을 고려할 것이므로 매우 혼동되는 단어가 분류 결과에 기여하는 것을 줄이도록 하도록 시도한다는 점이다.
을 극대화 하는 데에는 언어 모델 트레이닝에 대한 클래스 라벨과 함께 단어 트랜스크립션들이 필요하다(음향 데이터는 언어 모델 트레이닝에는 사용되지 않는다). 산출되는 모델이 n-그램이기 때문에 이 모델은 음성 및 텍스트 분류 모두에 쉽게 사용될 수 있다.
Ⅴ. CML N-그램 파라미터 추정을 위한 유리 함수 증가 변환
상술했듯이, 각각 특정 클래스 n-그램 모델은 수학식 5에 따라서 파라미터로 표현된다. CML 추정 프로시저의 목표는 보간 가중치뿐만 아니라 상대적인 빈도 값도 트레이닝 데이터의 조건부 라이크리 후드(도 7에 도시됨)가 최대가 되도록 모든 0...n-1 순위로 조정하는 것이다.
본 발명의 일 면에 따르면, 효율 및 효과적인 최적화 기법은 유리 함수 증가 변환(rational function growth transform: RFGT)이다. 알려진 수학적 애플리케이션인, RFGT 알고리즘은 P. S. Gopalakrishanan 등이 저술하고 1991년 1월에 발간된 IEEE transaction on Information Theory, 37판, No. 1의 107-113에 기재된 "An inequality for rational functions with applications to some statistical estimation problems"에 상세히 기술된다. RFGT 프로시저가 확률 분포에 대해 동작하고 그러므로 각 반복에서 모델 파라미터 표현을 기초로하는 확률 분포의 적절한 정규화를 실행하기 때문에 RFGT 프로시저는 본 명세서에서 기술된 애플리케이션에 특히 적절하다.
도 5의 파라미터 표현 하에, 순위 k의 상대적인 빈도의 재추정 수학식은
이며
여기에서 CML(w,hk,c)는 트레이닝 데이터로부터 모아진 클래스 c의 문장들의 (w,hk)의 최대 라이크리후드 카운트를 나타낸다:
CCML(w,hk,c)는 클래스 c의 문장들의 (w,hk)의 "CML 카운트"를 나타내며
문장 W=w1,...,wq가 주어진 클래스 c의 확률 P(c|w)는 특정 클래스 n-그램 모델 Pn(w|h,c) 및 클래스들 P(c)의 사전 확률을 이용하여 할당된다:
문맥 인식 "CML 가중치"β(hk,c)는 각 반복에서β max> 0 으로 설정된다.이를 전개함으로써, 이 값은 수학식 12의 계산자가 모든 이벤트 (w,hk,c)에 대해 음수가 되지않도록 각 문맥β(hk,c)에 대해 개별적으로 낮아진다:
대부분의 문맥(hk,c)의 경우, 충분히 낮은β max값이 선택되어 이것으로 시작되면 이러한 조정은 불필요함에 유의한다. 작은β max값의 선택의 불리한 면은 각 반복에서의의 상대적인 증가가 더 작아지는 것이다.
모델 파라미터는 트레이닝 데이터를 임의로 주 데이터 및 제공 데이터로 분할함으로써 추정된다. ML 트레이닝의 영역과 동일한 영역이 사용된다. 주 데이터는 상대적인 빈도들을 추정하는 데에 사용되는 반면, 제공 데이터는 RFGT 반복 횟수와 최적의 CML 가중치β man를 조정하는 데에 사용된다. 클래스 프라이어(class prior)와 보간 가중치는 재추정되지 않는다. 클래스 프라이어, 상대적인 빈도들 및 보간 가중치들의 초기값은 예를 들어 설명하면 ML의 그것들이다. 예를 들면, 보간 가중치는 수학식 5에서 계산된 것들이다.
RFGT 반복의 횟수 및 최적 CML 가중치β max는 예를 들어 설명하면 이하와 같이 결정된다.
ㆍ실행될 RFGT 반복의 미리 설정한 숫자 N을 정함;
β max파라미터 값을 결정하기 위해 탐색되는 (값들 및 단계의 범위의) 그리드(grid)를 정함;
ㆍ각각의 값β max에 대하여 주 데이터의 조건부 라이크리후드가 각 반복에서 증가되도록 가능한 많은(N 이하) RFGT 반복을 실행; 및
ㆍ(반복 횟수,β max)의 쌍을 유지하여 제공 데이터의 조건부 라이크리후드를 원하는 값이 되도록 최대화;
실행되는 RFGT 반복 횟수 및β max값을 결정한 후, 주 데이터 및 제공 데이터가 풀링되고 모델이 이들 값들을 이용하여 트레이닝된다.
본 발명이 특정 실시예를 참조로 기술되었지만, 본 기술 분야에서 숙련된 기술을 가진자라면 본 기술의 사상 및 범주로부터 벗어나지 않는 형태 및 세부사항 내에서 변경이 이루어질 수 있다는 것을 알 수 있다.
본 발명의 실시예는 분류의 정확성과 매우 밀접한 상호 관련이 있는, 단어 스트링이 주어지면 클래스의 조건부 라이크리후드(conditional likelihood)가 최대가 되는 언어 모델을 트레이닝하는 방법에 관한 것이다. 이 방법은 분류자가 소정의 트레이닝 문장 및 어터런스의 정확한 클래스와 부정확한 클래스를 구별하는 모든 클래스에 관하여 함께 통계적 언어 모델(statistical language model) 파라미터를 조정하는 것을 포함한다. 본 발명의 특정 실시예는 n-그램 분류자에 대한 특수 트레이닝 기법의 관점에서 유리 함수 증가 변환(rational function growthtransform)의 구현에 관련된 것이다.

Claims (25)

  1. 복수의 클래스에 대응하는 복수의 언어 모델 각각에 대한 파라미터의 집합을 추정하는 컴퓨터 구현 방법에 있어서,
    상기 파라미터의 집합에 대해 초기 값을 설정하는 단계, 및
    단어 스트링이 주어지면, 상기 파라미터의 집합을 클래스의 조건부 라이크리후드(conditional likelihood)를 증가시키도록 서로에 관하여 연대하여 조정하여 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 언어 모델은 복수의 n-그램 언어 모델인 방법.
  3. 제2항에 있어서,
    상기 조건부 라이크리후드는 최대화되는 방법.
  4. 제3항에 있어서,
    상기 조건부 라이크리후드는 유리 함수 증가 변환(rational function growth transform)의 애플리케이션을 이용하여 최대화되는 방법.
  5. 제2항에 있어서,
    상기 단어 스트링은 트레이닝 요소(training material)의 텍스트 스트링인 방법.
  6. 제5항에 있어서,
    상기 단어 스트링은 트레이닝 문장에서 파생된 텍스트 스트링인 방법.
  7. 제5항에 있어서,
    상기 단어 스트링은 음성 어터런스(speech utterance)로부터 파생된 텍스트 스트링인 방법.
  8. 제2항에 있어서,
    상기 파라미터의 집합을 연대하여 조정하는 단계는
    소정의 트레이닝 입력에 대한 정확한 클래스와 부정확한 클래스를 구별하도록 상기 파라미터의 집합을 조정하는 단계
    를 포함하는 방법.
  9. 제2항에 있어서,
    상기 파라미터의 집합을 조정하는 단계는 보이지 않는 데이터를 적응시키기 위해 상기 파라미터의 집합을 트레이닝하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 보이지 않는 데이터를 적응시키는 단계는 평활화(smoothing)에 기반하여 상기 파라미터를 조정하는 단계를 포함하는 방법.
  11. 복수의 n-그램 언어 모델 각각의 파라미터의 집합을 추정하는 컴퓨터 구현 방법에 있어서,
    상기 파라미터의 집합 중 적어도 2개를 서로에 관하여 연대하여 산출하는 단계를 포함하는 방법.
  12. 제11항에 있어서,
    상기 파라미터의 집합 중 적어도 2개를 서로에 관하여 연대하여 산출하는 단계는 모든 집합을 서로에 관하여 연대하여 산출하는 단계를 포함하는 방법.
  13. 제11항에 있어서,
    상기 복수의 n-그램 언어 모델 각각은 클래스와 관련되고,
    상기 파라미터의 집합 중 적어도 2개를 연대하여 산출하는 단계는 제1 특정 클래스가 특정 단어 스트링과 관련될 라이크리후드가 증가하고, 제2 클래스가 특정 단어 스트링과 관련될 라이크리후드가 감소하도록, 상기 파라미터의 집합 중 적어도 2개를 산출하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 특정 단어 스트링은 트레이닝 문장에서 파생된 방법.
  15. 제13항에 있어서,
    상기 특정 단어 스트링은 음성 어터런스에서 파생된 방법.
  16. 제11항에 있어서,
    상기 파라미터 집합 중 적어도 2개를 연대하여 산출하는 단계는
    n-그램 언어 모델이 소정의 트레이닝 입력에 대해 정확한 클래스와 부정확한 클래스를 구별하도록 파라미터의 복수의 집합을 연대하여 산출하는 단계
    를 포함하는 방법.
  17. 제11항에 있어서,
    보이지 않는 데이터를 적응시키도록 상기 파라미터의 집합들을 트레이닝하는 단계
    를 더 포함하는 방법.
  18. 자연어 입력을 분류하는 컴퓨터 구현 방법에 있어서,
    단어 스트링이 주어지면 복수의 클래스에 대응하는, 복수의 통계적인 분류 컴포넌트를 조건부 라이크리후드를 증가시키도록 서로에 관하여 연대하여 트레이닝하는 단계 - 상기 복수의 통계적인 분류 컴포넌트는 n-그램 언어 모델 분류자임-,
    자연어 입력을 수신하는 단계,
    상기 복수의 통계저인 분류 컴포넌트를 상기 자연어 입력에 적용시켜 상기 자연어 입력을 상기 복수의 클래스 중의 하나로 분류하는 단계
    를 포함하는 방법.
  19. 제18항에 있어서,
    상기 조건부 라이크리후드는 최대화되는 방법.
  20. 제19항에 있어서,
    상기 조건부 라이크리후드는 유리 함수 증가 변환의 애플리케이션을 이용하여 최대화되는 방법.
  21. 제20항에 있어서,
    상기 복수의 통계적인 분류 컴포넌트를 트레이닝하는 단계는
    상기 유리 함수 증가 변환의 애플리케이션을 용이하게 하기 위하여 유리 함수 증가 변환 반복의 최적 횟수 및 최적 CML 가중치β max를 식별하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서,
    상기 유리 함수 증가 변환 반복의 최적 횟수 및 최적 CML 가중치β max를 식별하는 단계는
    트레이닝 데이터의 집합체를 주 데이터의 집합체과 제공(held-out) 데이터의 집합체로 분할하는 단계,
    상기 주 데이터를 이용하여 상기 통계적인 분류 컴포넌트에 대한 일련의 상대적인 빈도를 추정하는 단계, 및
    상기 제공 데이터를 이용하여 상기 유리 함수 증가 변환 반복의 최적 횟수 및 최적 CML 가중치β max를 조정하는 단계
    를 포함하는 방법.
  23. 제22항에 있어서,
    상기 제공 데이터를 이용하여 조정하는 단계는
    실행될 유리 함수 증가 변환 반복의 미리 설정된 수 N을 정하는 단계,
    최적의 CML 가중치β max를 결정하기 위해 탐색해야 하는 값들의 범위를 정하는 단계,
    각 값β max에 대해, 주 데이터의 조건부 라이크리후드가 각 반복에서 증가하도록 N 이하의 가능한 많은 유리 함수 증가 변환 함수들을 실행시키는 단계, 및
    상기 유리 함수 증가 변환 반복의 최적의 횟수와
    제공 데이터의 조건부 라이크리후드를 최대화시키는 상기β max값을 최적으로서 식별하는 단계
    를 포함하는 방법.
  24. 제23항에 있어서,
    상기 복수의 통계적인 분류 컴포넌트를 트레이닝하는 단계는
    상기 주 데이터 및 제공 데이터를 풀링(pooling)하여 결합된 트레이닝 데이터의 집합체를 형성시키는 단계, 및
    상기 유리 함수 증가 변환 반복의 최적의 횟수 및 최적의 CML 가중치β max를 이용하여 상기 결합된 트레이닝 데이터의 집합체에 대해 상기 복수의 통계적인 분류 컴포넌트를 트레이닝하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서,
    상기 복수의 통계적인 분류 컴포넌트는 n-그램 언어 모델인 방법.
KR1020040040068A 2003-06-03 2004-06-02 자연어 입력을 분류하는 컴퓨터 구현 방법 KR101143030B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/453,349 2003-06-03
US10/453,349 US7379867B2 (en) 2003-06-03 2003-06-03 Discriminative training of language models for text and speech classification

Publications (2)

Publication Number Publication Date
KR20040104420A true KR20040104420A (ko) 2004-12-10
KR101143030B1 KR101143030B1 (ko) 2012-05-11

Family

ID=33159519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040040068A KR101143030B1 (ko) 2003-06-03 2004-06-02 자연어 입력을 분류하는 컴퓨터 구현 방법

Country Status (5)

Country Link
US (2) US7379867B2 (ko)
EP (1) EP1484745A1 (ko)
JP (1) JP4571822B2 (ko)
KR (1) KR101143030B1 (ko)
CN (1) CN1573926B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083105A (ko) * 2017-01-12 2018-07-20 엘에스산전 주식회사 프로젝트 화면 작성장치

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539086B2 (en) * 2002-10-23 2009-05-26 J2 Global Communications, Inc. System and method for the secure, real-time, high accuracy conversion of general-quality speech into text
US8321427B2 (en) 2002-10-31 2012-11-27 Promptu Systems Corporation Method and apparatus for generation and augmentation of search terms from external and internal sources
JP3923513B2 (ja) * 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
US8972444B2 (en) * 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US7580837B2 (en) 2004-08-12 2009-08-25 At&T Intellectual Property I, L.P. System and method for targeted tuning module of a speech recognition system
US7242751B2 (en) 2004-12-06 2007-07-10 Sbc Knowledge Ventures, L.P. System and method for speech recognition-enabled automatic call routing
US20060142993A1 (en) * 2004-12-28 2006-06-29 Sony Corporation System and method for utilizing distance measures to perform text classification
US7751551B2 (en) 2005-01-10 2010-07-06 At&T Intellectual Property I, L.P. System and method for speech-enabled call routing
US7680659B2 (en) * 2005-06-01 2010-03-16 Microsoft Corporation Discriminative training for language modeling
US7657020B2 (en) 2005-06-03 2010-02-02 At&T Intellectual Property I, Lp Call routing system and method of using the same
US8700404B1 (en) 2005-08-27 2014-04-15 At&T Intellectual Property Ii, L.P. System and method for using semantic and syntactic graphs for utterance classification
US7835911B2 (en) * 2005-12-30 2010-11-16 Nuance Communications, Inc. Method and system for automatically building natural language understanding models
US20090204399A1 (en) * 2006-05-17 2009-08-13 Nec Corporation Speech data summarizing and reproducing apparatus, speech data summarizing and reproducing method, and speech data summarizing and reproducing program
US8751226B2 (en) * 2006-06-29 2014-06-10 Nec Corporation Learning a verification model for speech recognition based on extracted recognition and language feature information
US20080033720A1 (en) * 2006-08-04 2008-02-07 Pankaj Kankar A method and system for speech classification
US8014591B2 (en) * 2006-09-13 2011-09-06 Aurilab, Llc Robust pattern recognition system and method using socratic agents
US8204738B2 (en) * 2006-11-03 2012-06-19 Nuance Communications, Inc. Removing bias from features containing overlapping embedded grammars in a natural language understanding system
US20080147579A1 (en) * 2006-12-14 2008-06-19 Microsoft Corporation Discriminative training using boosted lasso
US7856351B2 (en) * 2007-01-19 2010-12-21 Microsoft Corporation Integrated speech recognition and semantic classification
US8433576B2 (en) * 2007-01-19 2013-04-30 Microsoft Corporation Automatic reading tutoring with parallel polarized language modeling
US8423364B2 (en) * 2007-02-20 2013-04-16 Microsoft Corporation Generic framework for large-margin MCE training in speech recognition
US8306822B2 (en) * 2007-09-11 2012-11-06 Microsoft Corporation Automatic reading tutoring using dynamically built language model
KR100925479B1 (ko) * 2007-09-19 2009-11-06 한국전자통신연구원 음성 인식 방법 및 장치
CN101286317B (zh) * 2008-05-30 2011-07-27 同济大学 语音识别装置、模型训练方法、及交通信息服务平台
US8380503B2 (en) 2008-06-23 2013-02-19 John Nicholas and Kristin Gross Trust System and method for generating challenge items for CAPTCHAs
US9266023B2 (en) 2008-06-27 2016-02-23 John Nicholas and Kristin Gross Pictorial game system and method
US8145488B2 (en) * 2008-09-16 2012-03-27 Microsoft Corporation Parameter clustering and sharing for variable-parameter hidden markov models
US8160878B2 (en) * 2008-09-16 2012-04-17 Microsoft Corporation Piecewise-based variable-parameter Hidden Markov Models and the training thereof
US8224641B2 (en) * 2008-11-19 2012-07-17 Stratify, Inc. Language identification for documents containing multiple languages
GB2469499A (en) * 2009-04-16 2010-10-20 Aurix Ltd Labelling an audio file in an audio mining system and training a classifier to compensate for false alarm behaviour.
US20110071817A1 (en) * 2009-09-24 2011-03-24 Vesa Siivola System and Method for Language Identification
US10224036B2 (en) * 2010-10-05 2019-03-05 Infraware, Inc. Automated identification of verbal records using boosted classifiers to improve a textual transcript
US20120209590A1 (en) * 2011-02-16 2012-08-16 International Business Machines Corporation Translated sentence quality estimation
US10572959B2 (en) 2011-08-18 2020-02-25 Audax Health Solutions, Llc Systems and methods for a health-related survey using pictogram answers
US8793254B2 (en) 2011-08-18 2014-07-29 Nicholas H. Evancich Methods and apparatus for classifying content
US20130110491A1 (en) * 2011-10-28 2013-05-02 Microsoft Corporation Discriminative learning of feature functions of generative type in speech translation
CN103187052B (zh) * 2011-12-29 2015-09-02 北京百度网讯科技有限公司 一种建立用于语音识别的语言模型的方法及装置
US8965763B1 (en) * 2012-02-02 2015-02-24 Google Inc. Discriminative language modeling for automatic speech recognition with a weak acoustic model and distributed training
US8543398B1 (en) 2012-02-29 2013-09-24 Google Inc. Training an automatic speech recognition system using compressed word frequencies
US8374865B1 (en) 2012-04-26 2013-02-12 Google Inc. Sampling training data for an automatic speech recognition system based on a benchmark classification distribution
US8805684B1 (en) 2012-05-31 2014-08-12 Google Inc. Distributed speaker adaptation
US8571859B1 (en) 2012-05-31 2013-10-29 Google Inc. Multi-stage speaker adaptation
US8515745B1 (en) * 2012-06-20 2013-08-20 Google Inc. Selecting speech data for speech recognition vocabulary
US8880398B1 (en) 2012-07-13 2014-11-04 Google Inc. Localized speech recognition with offload
US9123333B2 (en) 2012-09-12 2015-09-01 Google Inc. Minimum bayesian risk methods for automatic speech recognition
US8484025B1 (en) * 2012-10-04 2013-07-09 Google Inc. Mapping an audio utterance to an action using a classifier
RU2530268C2 (ru) * 2012-11-28 2014-10-10 Общество с ограниченной ответственностью "Спиктуит" Способ обучения информационной диалоговой системы пользователем
US10049656B1 (en) 2013-09-20 2018-08-14 Amazon Technologies, Inc. Generation of predictive natural language processing models
US9972311B2 (en) 2014-05-07 2018-05-15 Microsoft Technology Licensing, Llc Language model optimization for in-domain application
US10324971B2 (en) * 2014-06-20 2019-06-18 Nec Corporation Method for classifying a new instance
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
BR102014023780B1 (pt) * 2014-09-25 2023-04-18 Universidade Estadual De Campinas - Unicamp (Br/Sp) Método para classificação multiclasse em cenários abertos e usos do mesmo
US9734826B2 (en) * 2015-03-11 2017-08-15 Microsoft Technology Licensing, Llc Token-level interpolation for class-based language models
US9761220B2 (en) * 2015-05-13 2017-09-12 Microsoft Technology Licensing, Llc Language modeling based on spoken and unspeakable corpuses
KR102437689B1 (ko) * 2015-09-16 2022-08-30 삼성전자주식회사 음성 인식 서버 및 그 제어 방법
US10176799B2 (en) * 2016-02-02 2019-01-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for training language models to reduce recognition errors
CN108206020A (zh) * 2016-12-16 2018-06-26 北京智能管家科技有限公司 一种语音识别方法、装置及终端设备
KR102426717B1 (ko) * 2017-06-27 2022-07-29 삼성전자주식회사 발화 인식 모델을 선택하는 시스템 및 전자 장치
CN108829657B (zh) * 2018-04-17 2022-05-03 广州视源电子科技股份有限公司 平滑处理方法和系统
US20190333401A1 (en) * 2018-04-30 2019-10-31 Brian Cepuran Systems and methods for electronic prediction of rubric assessments
US11100287B2 (en) * 2018-10-30 2021-08-24 International Business Machines Corporation Classification engine for learning properties of words and multi-word expressions
US10776137B2 (en) * 2018-11-21 2020-09-15 International Business Machines Corporation Decluttering a computer device desktop
US11410658B1 (en) * 2019-10-29 2022-08-09 Dialpad, Inc. Maintainable and scalable pipeline for automatic speech recognition language modeling
US11481552B2 (en) * 2020-06-01 2022-10-25 Salesforce.Com, Inc. Generative-discriminative language modeling for controllable text generation
JP7217905B1 (ja) 2022-03-08 2023-02-06 17Live株式会社 ライブストリーミングデータを分類するためのシステム、方法、及びコンピュータ可読媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930011740B1 (ko) * 1991-07-12 1993-12-18 주식회사 금성사 유사단어 인식방법
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5455889A (en) * 1993-02-08 1995-10-03 International Business Machines Corporation Labelling speech using context-dependent acoustic prototypes
US5467425A (en) * 1993-02-26 1995-11-14 International Business Machines Corporation Building scalable N-gram language models using maximum likelihood maximum entropy N-gram models
DE19708183A1 (de) 1997-02-28 1998-09-03 Philips Patentverwaltung Verfahren zur Spracherkennung mit Sprachmodellanpassung
JP3004254B2 (ja) * 1998-06-12 2000-01-31 株式会社エイ・ティ・アール音声翻訳通信研究所 統計的シーケンスモデル生成装置、統計的言語モデル生成装置及び音声認識装置
DE59901575D1 (de) * 1998-10-27 2002-07-04 Siemens Ag Verfahren und anordnung zur klassenbildung für ein sprachmodell basierend auf linguistischen klassen
US6466908B1 (en) * 2000-01-14 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy System and method for training a class-specific hidden Markov model using a modified Baum-Welch algorithm
JP4543294B2 (ja) * 2000-03-14 2010-09-15 ソニー株式会社 音声認識装置および音声認識方法、並びに記録媒体
US7219056B2 (en) * 2000-04-20 2007-05-15 International Business Machines Corporation Determining and using acoustic confusability, acoustic perplexity and synthetic acoustic word error rate
US6904017B1 (en) * 2000-05-08 2005-06-07 Lucent Technologies Inc. Method and apparatus to provide centralized call admission control and load balancing for a voice-over-IP network
US6778951B1 (en) * 2000-08-09 2004-08-17 Concerto Software, Inc. Information retrieval method with natural language interface
US6925432B2 (en) * 2000-10-11 2005-08-02 Lucent Technologies Inc. Method and apparatus using discriminative training in natural language call routing and document retrieval
JP2002229589A (ja) * 2001-01-29 2002-08-16 Mitsubishi Electric Corp 音声認識装置
KR100420096B1 (ko) * 2001-03-09 2004-02-25 주식회사 다이퀘스트 각 범주의 핵심어와 문장간 유사도 측정 기법을 이용한비지도 학습을 기반으로 하는 자동 문서 범주화 방법
US6928425B2 (en) * 2001-08-13 2005-08-09 Xerox Corporation System for propagating enrichment between documents
US7133862B2 (en) * 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083105A (ko) * 2017-01-12 2018-07-20 엘에스산전 주식회사 프로젝트 화면 작성장치

Also Published As

Publication number Publication date
KR101143030B1 (ko) 2012-05-11
US20040249628A1 (en) 2004-12-09
JP2004362584A (ja) 2004-12-24
US8306818B2 (en) 2012-11-06
US20080215311A1 (en) 2008-09-04
CN1573926A (zh) 2005-02-02
CN1573926B (zh) 2010-05-26
JP4571822B2 (ja) 2010-10-27
US7379867B2 (en) 2008-05-27
EP1484745A1 (en) 2004-12-08

Similar Documents

Publication Publication Date Title
KR101143030B1 (ko) 자연어 입력을 분류하는 컴퓨터 구현 방법
Mangu et al. Finding consensus in speech recognition: word error minimization and other applications of confusion networks
He et al. Discriminative learning for speech recognition: theory and practice
US8335683B2 (en) System for using statistical classifiers for spoken language understanding
US6877001B2 (en) Method and system for retrieving documents with spoken queries
US7139698B1 (en) System and method for generating morphemes
US8200491B2 (en) Method and system for automatically detecting morphemes in a task classification system using lattices
JP4215418B2 (ja) 単語予測方法、音声認識方法、その方法を用いた音声認識装置及びプログラム
US20060129397A1 (en) System and method for identifying semantic intent from acoustic information
US7624006B2 (en) Conditional maximum likelihood estimation of naïve bayes probability models
US20020123891A1 (en) Hierarchical language models
US20020188446A1 (en) Method and apparatus for distribution-based language model adaptation
US20030204399A1 (en) Key word and key phrase based speech recognizer for information retrieval systems
US20090192991A1 (en) Network information searching method by speech recognition and system for the same
JP2013148697A (ja) 情報処理装置、大語彙連続音声認識方法及びプログラム
JP4820240B2 (ja) 単語分類装置及び音声認識装置及び単語分類プログラム
KR101483947B1 (ko) 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체
JP2002342323A (ja) 言語モデル学習装置およびそれを用いた音声認識装置ならびに言語モデル学習方法およびそれを用いた音声認識方法ならびにそれらの方法を記憶した記憶媒体
JP2938866B1 (ja) 統計的言語モデル生成装置及び音声認識装置
JP4067776B2 (ja) 言語モデル構成装置及び音声認識装置
JP2938865B1 (ja) 音声認識装置
JP2006107353A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP3836607B2 (ja) 音声認識のための統計的言語モデル作成装置
JP4674609B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
CN1172254C (zh) 掌上电脑非特定人语音识别方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 8