KR20080073298A - 입력 데이터의 워드 클러스터링 방법, 및 컴퓨터구현가능한 클러스터링 도구 - Google Patents

입력 데이터의 워드 클러스터링 방법, 및 컴퓨터구현가능한 클러스터링 도구 Download PDF

Info

Publication number
KR20080073298A
KR20080073298A KR1020087011856A KR20087011856A KR20080073298A KR 20080073298 A KR20080073298 A KR 20080073298A KR 1020087011856 A KR1020087011856 A KR 1020087011856A KR 20087011856 A KR20087011856 A KR 20087011856A KR 20080073298 A KR20080073298 A KR 20080073298A
Authority
KR
South Korea
Prior art keywords
word
clusters
component
clustering
input data
Prior art date
Application number
KR1020087011856A
Other languages
English (en)
Other versions
KR101411113B1 (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 KR20080073298A publication Critical patent/KR20080073298A/ko
Application granted granted Critical
Publication of KR101411113B1 publication Critical patent/KR101411113B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • 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
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering

Landscapes

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

Abstract

워드 클러스터들을 생성하는 클러스터링 도구. 기술된 실시예에서, 클러스터링 도구는 입력 데이터 내의 워드들 또는 워드 조합에 대해 워드 클러스터들을 생성하는 클러스터링 컴포넌트를 포함한다. 예시된 실시예에서, 워드 클러스터들은 폐쇄식 단어 음성 인식 애플리케이션의 문법을 갱신 또는 수정하는 데 사용된다.
워드 클러스터들, 단어 음성 인식, 클러스터들, 클러스터링

Description

입력 데이터의 워드 클러스터링 방법, 및 컴퓨터 구현가능한 클러스터링 도구{WORD CLUSTERING FOR INPUT DATA}
전화 라우팅 시스템과 같은 음성 인식 애플리케이션은 종종 폐쇄식 문법 또는 렉시컨(a closed grammar or lexicon)을 이용한다. 예를 들어, 회사 전화 디렉터리 시스템용 음성 인식 애플리케이션에 사용된 문법(grammar)은 회사 고용인의 올바른 성명의 리스트를 포함할 수 있다. 이와 같은 문법은 또한 음성 인식 애플리케이션에 의해 제공되는 프롬프트 또는 명령에 대한 적당한 응답을 포함할 수 있다. 따라서, 예컨대, 음성 인식 애플리케이션은 "당신은 누구에게 이야기하길 원하는가?"라고 물을 수 있다. 응답 시에, 사용자는 "John Doe"라고 말하고, 그 시점에 애플리케이션은 호출을 John Doe의 구내 전화로 라우팅한다. 하지만, 이와 같은 시스템은, 프롬프트에 대한 사용자의 입력 또는 응답이 폐쇄식 문법으로 된다면, 애플리케이션이 사용자의 응답을 인식할 수 없다는 문제점을 가질 수 있다. 예를 들어, "당신은 누구에게 이야기하길 원하는가?"라는 프롬프트에 응답하여, 사용자는 "회사 상점(company store)"이라고 응답할 수 있다. 음성 인식 애플리케이션에 의해 사용되는 폐쇄식 문법 또는 렉시컨이 그 응답을 포함하지 않는다면, 응답은 비인식되게 될 것이다. 실패된 인식을 수용하도록 시스템을 조정(tuning)하는 것은 시간 소모적이고 비용이 많이 드는 일일 수 있다.
상기의 설명은 단순히 일반적인 배경 정보를 제공하기 위한 것이고, 청구된 본 발명의 범위를 정하는 데 보조 수단으로서 사용하기 위한 것도 아니다.
[요약]
비인식된 음성 데이터 또는 기타 입력 데이터에서 검색된 워드들의 워드 클러스터들을 생성하는 클러스터링 도구가 기술된다. 개시된 실시예에서, 이들 클러스터들은 폐쇄식 문법을 수정하는 데 사용되어, 보다 양호한 인식 성능을 달성한다.
이 요약은 이하의 상세한 설명에서 더 기술되는 몇몇 개념을 간단화된 형태로 소개하기 위해 제공된다. 이 요약은 청구된 발명의 주요 특징 또는 필수적인 특징을 확인하기 위한 것이 아니며, 청구된 발명의 범위를 정하는 데 보조 수단으로서 사용하기 위한 것도 아니다.
도 1은 본 발명의 실시예가 사용 또는 구현될 수 있는 컴퓨팅 환경의 한 가지 예시적인 실시예의 블록도이다.
도 2는 음성 인식 애플리케이션의 실시예를 예시하는 블록도이다.
도 3은 도 4의 클러스터링 도구를 위한 데이터를 생성하기 위한 단계들을 포함하는 흐름도이다.
도 4는 입력 데이터에서 워드 클러스터들을 식별하기 위한 클러스터링 도구의 실시예를 예시하는 블록도이다.
도 5는 도 4의 클러스터링 도구의 클러스터링 컴포넌트의 실시예를 예시하는 블록도이다.
도 6은 입력 데이터로부터 워드 클러스터들을 생성하기 위한 단계들을 예시하는 흐름도이다.
도 7은 워드 클러스터들을 보고하기 위한 사후 처리 단계들을 도시하는 흐름도이다.
본 시스템은 워드 클러스터들의 식별을 처리한다. 하지만, 본 시스템을 보다 상세히 설명하기 전에, 본 시스템이 배치될 수 있는 환경의 일 실시예를 설명할 것이다.
도 1은 본 실시예들이 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본 실시예들은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 다양한 실시예들에 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋 톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전화 시스템, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
본 실시예들은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 일부 실시예들은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치한다.
도 1과 관련하여, 일부 실시예들을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매 체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) 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)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다.
사용자는 키보드(162), 마이크, 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 조이스틱, 게임 패드, 위성 안테나, 스캐너, 또는 기타 등등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페 이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 모니터 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작한다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(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은 원격 애플리케이션 프로그램(185)이 원격 컴퓨터(180)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
본 명세서에 기술된 워드 클러스터링은 음성 인식 시스템 또는 음성 애플리케이션에 응용될 수 있다. 도 2에 도시된 바와 같이, 하나의 이와 같은 음성 인식 애플리케이션(200)은, 도시된 바와 같이 피처 추출기(204;feature extractor), 디코더(206;decoder), 모델(208;models), 및 폐쇄식 문법 또는 렉시컨(212;a closed grammar or lexicon)을 포함하는 폐쇄식 단어 음성 인식 컴포넌트(202;closed vocabulary speech recognition component)를 포함한다. 폐쇄식 단어 음성 인식 컴포넌트(202)에 의해서는, 그 컴포넌트(202)가 문법 또는 렉시컨(212)에서 검색된 워드 또는 음성 단위를 인식할 뿐이라는 것으로 의미된다. 이는, 음성 입력에 기초하여, 그 입력이 어떠한 문법 또는 렉시컨에서 검색되든지 상관없이, 가장 좋은 추론 인식을 출력하는 구술-타입(dictation-type) 음성 인식 시스템과는 대조적이다. 모델(208)은 예시적으로 음향 및 언어 모델이며, 피처 추출기(204) 및 디코더(206)는 예시적으로 알려진 음성 인식 컴포넌트이며, 그들의 상세 동작은 본 발명의 범위 내에서 매우 다양할 수 있다. 기본적으로, 음성 인식 컴포넌트(202)는 입력 음성 신호(214)를 수신하고, 그것을 피처 추출기(204), 폐쇄식 문법(212), 및 모델(208)을 이용하여 디코더(206)로 디코딩한다. 그 후 컴포넌트(202)는 인식 결과(216)를 출력한다.
도 2에 도시된 애플리케이션은, 폐쇄식 단어 음성 인식 컴포넌트(202)에 의해 인식되지 않은 음성을 로깅하기 위한 로깅 컴포넌트(220;logging component)를 포함한다. 로깅된, 비인식된 음성(222)은 자유형/구술(free-form/dictation) 음성 인식 컴포넌트(224)에 제공된다. 인식 컴포넌트(224)는, 문법 또는 렉시컨(212)에서 검색된 워드들에 제한되지 않고, 음성 입력에 기초하여 음성 인식 결과(226)를 출력한다. 따라서, 컴포넌트(224)는 폐쇄식 단어 음성 인식 컴포넌트(202)로부터 제공된 비인식된 음성의 인식 결과(226)를 출력한다. 음성 인식 결과(226)를 생성하기 위한 단계들은 도 3의 흐름도에 보다 구체적으로 도시되어 있다. 도시된 바와 같이, 단계(230)에서, 입력 음성 신호(214)는 음성 인식 컴포넌트(202)에 제공된다. 입력 음성 신호(214)는 폐쇄식 단어 음성 인식 컴포넌트(202)를 사용하여 인식되고, 폐쇄식 단어 음성 인식 컴포넌트(202)로부터 비인식된 음성은 단계(234)에서 로깅된다. 로깅된 비인식된 음성(222)은, 단계(236)에 예시된 바와 같이, 자유형 또는 구술 음성 인식 컴포넌트(224)에 제공되어 인식된다.
단계(230 내지 236)들에 의해 생성된 인식 결과(226)는 도 4에 도시된 클러스터링 도구(242)에 입력 데이터(240)(예컨대, 원문의(textual) 입력)를 제공한다. 도 4에 예시된 실시예에서, 클러스터링 도구(242)는 자유형 음성 인식 결과(226)를 처리하여 워드 클러스터들(246)을 생성하는 클러스터링 컴포넌트(244)를 포함한다. 워드 클러스터들(246)은 입력 데이터(240)에서 수개의 발성(utterance)에서 공동-발생(co-occurrence)하는 워드의 세트이다. 클러스터링 도구(242)는, 또한 도시된 바와 같이, 예시적으로 워드 클러스터들(246)을 생성 및 출력하기 위해서, 프루닝 컴포넌트(248;pruning component), 병합 컴포넌트(250;merge component), 및 보고 컴포넌트(252;reporting component)도 포함한다.
프루닝 컴포넌트(248) 및 병합 컴포넌트(250)는 클러스터링 도구(242)에 의해 사용되어 클러스터들을 생성한다. 프루닝 컴포넌트(248)는 클러스터링 컴포넌트(244)로부터 출력된 클러스터들을 하나 이상의 프루닝 기준(256)에 기초하여 프루닝하도록 구성된다. 병합 컴포넌트(250)는 클러스터링 컴포넌트에 의해 생성된 클러스터들을 유사성 메트릭(similarity metric)(256)에 기초하여 병합한다. 예시된 실시예에서, 프루닝 기준(254)은 주파수 임계값(260), 간결성 설정(262;compactness setting), 및 하잖은 워드 리스트(264;trivial word list)를 포함할 수 있다. 기준(254)은 통계적으로 덜 관련성 있는 데이터를 제거하는 데 사용된다. 워드 클러스터들(246)을 보고하기 위해 프루닝 및 병합된 데이터는 보고 컴포넌트(252)에 제공된다.
주목할 점은 도 4가 3개의 프루닝 기준(260, 262, 264)을 예시하고 있지만, 애플리케이션은 2개의 프루닝 기준에 제한되는 것이 아니며, 개시된 3개의 프루닝 기준을 반드시 필요로 하는 것도 아니다. 프루닝 및 병합은 하기에 보다 상세히 설명된다.
예시된 실시예에서, 클러스터링 도구(242)에 의해 보고된 클러스터들(246)은 문법 생성기 컴포넌트(266;grammar generator component)에 제공된다. 문법 생성기 컴포넌트(266)는, 원하는 클러스터들(246)을 포함하도록 폐쇄식 단어 음성 인식 컴포넌트(202)의 폐쇄식 문법 또는 렉시컨(212)을 갱신하는 데 사용될 수 있다. 도시된 바와 같이, 문법 생성기 컴포넌트(266)는 이전 문법(212)을 수신하고, 그 문법 또는 렉시컨(212), 및 어떤 클러스터들(246)을 문법(212) 내에 입력할 것인가를 선택하는 사용자 선택 입력(272)에 기초하여 갱신된 문법 또는 렉시컨(270)을 생성한다.
도 5는 보다 상세하게 클러스터링 컴포넌트(244)의 일 실시예를 나타낸 블록도이다. 도 5에 도시된 실시예에서, 클러스터링 컴포넌트(244)는 입력 데이터(240)로부터 공동-발생하는 워드 조합으로 클러스터들을 생성하기 위하여, 워드 발생 벡터 생성기(290;word occurrence vector generator), 워드 공동-발생 벡터 생성기(292;word co-occurrence vector generator), 및 벡터 내적 컴포넌트(294;vector dot product component)를 포함한다.
도 6은 클러스터링 컴포넌트(244)의 동작의 일 실시예를 도시하는 흐름도이다. 도 6의 단계(300)에 의해 예시된 바와 같이, 입력 데이터(240)가 클러스터링 컴포넌트(244)에 제공된다. 입력 데이터(240)는 예시적으로 하나 이상의 워드를 포함하는 복수의 발음(utterance) 또는 음성 엔트리(speech entries)를 포함한다. 다수의 워드 발음 또는 음성 엔트리를 포함하는 입력 데이터(240)의 예가 하기의 표 1에 제공되어 있다.
번호 발음
1 "company store"
2 "the company store"
3 "company property"
4 "the company store"
5 "the company property"
단계(302)에 도시된 바와 같이, 워드 발생 벡터(WOC;word occurrence vector)는 워드 발생 벡터 생성기(290)에 의해 입력 음성 데이터(240)에서 검색된 워드 각각에 대해 생성된다. 워드 발생 벡터(WOV)는 v=(v1,v2,...,vi,...,vn)로 표현되고, 여기서 n은 입력 데이터(240) 내의 발음 또는 엔트리 수이고, v는 이런 발생 벡터에 대응하는 워드가 대응하는 발음에서 발생하는지에 따라서 "1" 또는 "0" 둘 중 하나이다.
따라서, 표 1의 입력 데이터의 경우, "company", "store", "property", 및 "the"라는 워드 각각에 대한 워드 발생 벡터는 하기의 표 2에 제공되어 있다.
워드 워드 발생 벡터
Company V = (1,1,1,1,1)
Store V = (1,1,0,1,0)
Property V = (0,0,1,0,1)
The V = (0,1,0,1,1)
이와 같이, "company"라는 워드의 경우, "company"라는 워드가 표 1의 발음 또는 엔트리(번호 1 - 5) 각각에 나타나기 때문에, 워드 발생 벡터는 v = (1,1,1,1,1)이다. "store"라는 워드에 대한 워드 발생 벡터는, "store"라는 워드가 첫번째, 두번째, 및 네번째 발음에 나타나고, 세번째 및 다섯번째 발음에는 나타나지 않기 때문에, v = (1,1,0,1,0)이며, 기타 등등이 있다.
단계(304)에서, 입력 데이터(240) 내의 워드 쌍 전체에 대한 워드 공동-발생 행렬 M, 또는 클러스터들을 생성하기 위하여 벡터 내적이 워드 발생 벡터의 쌍 간에 계산된다. 워드 발생 행렬 M의 워드 공동-발생 행렬 원소 Mi ,j는 입력 데이터 내의 워드 i 및 j의 공동-발생을 표현하고, i 및 j 각각은 입력 데이터의 워드 쌍에서 워드를 표현한다.
예를 들어, 워드 발생 벡터 vi 및 vj를 가진 워드 i 및 j에 대하여, 내적은 n개의 발음 또는 엔트리 각각에서의 워드 i 및 j의 공통(joint) 발생 전부의 합계이다. 따라서, 벡터 내적은 워드 i 및 j가 입력 데이터에서 공통으로 발생하는 횟수를 제공한다. 그들이 어떤 발음에서도 전혀 공통으로 나타나지 않는다면, 그들의 내적은 0이고, 이들 2개의 워드는 클러스터 또는 워드 조합을 형성하지 않는다는 것을 의미한다.
워드 공동-발생 행렬 M은, 벡터 내적이 가환적(commutative)이고 그리하여 처리는 행렬의 상부 또는 하부의 트라이앵귤러 부분(the upper or lower triangular part)에 제한되기 때문에, 대칭적이다. 처리 복잡성을 단순화하기 위해, 행렬 M의 대각선 위치는, 반복된 워드 클러스터들, 예컨대, 워드 클러스터 "the", 및 하기의 표 3의 "the"가, 일반적으로 인식 에러로부터 기인하기 때문에, 계산될 필요가 없다. 행렬 M의 대각선을 벗어난(off-diagonal) 상단 트라이앵귤러 부분, 즉 Mi ,j(여기서, j > i)만이, 동일한 워드를 여러 차례 반복함으로써 형성된 클러스터들을 배제한 2개의 워드 클러스터들 전부를 검색하기 위해, 계산된다. 공동-발생 행렬의 행렬 원소 Mi ,j의 값은 입력 데이터에서 워드 i 및 j의 공동-발생의 빈도(frequency), 또는 워드 클러스터 (i,j)의 빈도이다.
따라서 표 1의 입력 데이터(240)의 경우, 공동-발생 행렬은 하기의 표 3에 제공되어 있다.
벡터 Company Store The Property
Company 0 3 3 2
Store 0 0 2 0
The 0 0 1 1
Property 0 0 0 0
도 6의 단계(305)에 도시된 바와 같이, 단계(304)에서 검색된 워드 클러스터 (i,j)는 빈도 임계값(260)(도 4의 도시됨)에 기초하여 프루닝되어 계산의 부하(computational load)를 경감시키고 계산의 속도를 향상시킨다. 특히, 클러스터 데이터는 워드 클러스터 전부를 포함하므로, 심지어 발음 세트에서 단 한번만 발생하더라도, 프루닝 컴포넌트(248)는 예시적으로 최소 임계값을 사용하여 클러스터가 최소 횟수로 나타나는 것을 요구한다. 예를 들어, 상기 표 3에서, 클러스터들 "the" 및 "property"는 클러스터들은 그 클러스터가 최소 빈도 임계값(260)을 충족시키므로 프루닝된다. 보다 높은 임계값을 설정함에 의해, 직접적으로 계산의 부하가 감소되고, 런 타임이 보다 빨라지게 된다. 임계값(264)은 소망에 따라 사용자에 의해 입력되거나, 또는 사전 프로그램될 수 있다.
워드 공동-발생 벡터(WCV)는 단계(306)에 예시된 바와 같이 임계값 빈도를 가진 2개의 워드 클러스터 각각에 대해 생성된다. 그 후, 워드 공동-발생 벡터(WCV) 또는 클러스터는, 단계(308)에 의해 지시된 바와 같이, 리스트에 부가된다. 워드 공동-발생 벡터(WCV) vj ..k는, 수식 1의 파이 프로덕트(Pi Product)에 예시된 바와 같이, 워드 쌍의 공동-발생 벡터를 생성하기 위해 워드 발생 벡터 vj 내지 vk에 걸쳐 AND 연산자(operator)(또는, 등가적으로 스칼라 곱)를 적용함으로써, 최소 클러스터 사이즈 임계값(260)보다 큰 넌-제로(non-zero) 행렬 원소 Mi ,j에 대하여 단계(306)에서 생성된다.
Figure 112008034982750-PCT00001
(수식 1)
WCV vj ...k의 모든 원소들에 걸친 합은 번호 j 내지 k가 부여된 모든 워드로 이루어지는 워드 클러스터의 빈도를 제공한다.
입력 데이터의 워드 공동-발생 벡터 및 표 1 및 표 3의 행렬 원소들이 하기의 표 4에 제공되어 있다.
클러스터 워드 공동-발생 벡터
"company store" V = (1,1,0,1,0)
"The company" V = (0,1,0,1,1)
"company property" V = (0,0,1,0,1)
"The store" V = (0,1,0,1,0)
"The property" V = (0,0,0,0,1)
단계(304 내지 308)의 처리는, 단계(310)에 예시된 바와 같이 리스트에 부가되는 부가적인 워드 공동-발생 벡터 또는 클러스터가 더 이상 존재하지 않을 때까지 반복되어 부가적인 워드 조합(3개의 워드, 4개의 워드, 등)을 생성한다. 보다 구체적으로는, 벡터 내적은 워드 공동-발생 벡터 각각에 대해 계산된다. 벡터 내적
Figure 112008034982750-PCT00002
은 워드 클러스터들 (j ... k-1)와 워드 k(n개의 발음 세트에 걸쳐 취해짐)에 대한 공통 발생의 전부의 합계를 제공한다. 이는 보다 큰 워드 클러스터(j ... k)를 제공하고, 내적의 결과는 보다 큰 빈도와 같다.
다시 말해, 단계(306)의 WCV j...k-1 각각에 대하여, 부가적인 클러스터들을 검색하기 위해 WOVk를 곱셈하는 것이 최소 클러스터 사이즈 임계값(260)보다 큰 넌-제로 내적을 제공하는지의 여부를 알기 위해, 체크가 행해진다. 주목할 점은 WCM 행렬 원소 Mj ,k... Mr -1,k 중에서 임의의 단일 제로를 검색하는 것은 WCVj ...k가 제로 벡터(즉, 클러스터가 아님)가 되는 것으로 추론하는 데 충분하다는 것이다. 이런 경우에, 벡터 AND는 수행될 필요가 없다. 더 나아가서 상단 하이퍼-트라이앵글(upper hyper-triangles)은 모든 고유한 보다 큰 클러스터들을 열거하기 위해 확장될 필요가 있다.
또한 주목할 점은 클러스터링 도구(242)가 nxn 공동-발생 행렬들 대신에 보다 큰 클러스터들을 저장하기 위해 리스트 데이터 구조를 구현할 수 있다는 것이다. 이는 보다 큰 클러스터들이 산재하여 있을 수 있기 때문이며, 그래서 리스트 데이터 구조는 보다 효율적이다.
서술된 클러스터링 컴포넌트(244)는, 2개, 3개, 및 보다 큰 워드 조합을 포함한 워드 조합 또는 클러스터들의 존재 및 빈도를 제공한다. 서술된 클러스터링 컴포넌트(244)에서, 모든 동작은 비트-와이즈(bit-wise) AND 및 덧셈을 이용하여 수행될 수 있다. 이는 알고리즘이 매우 빠르고, 본질적으로 병렬 동작으로 구현될 수 있고, 확장 축소가 가능하다는 것을 의미한다. 예를 들어, 64 워드 벡터는 64-비트 크기의 구현예들 상에서 병렬로 처리될 수 있다.
전술된 바와 같은 클러스터 형성 동안 또는 클러스터 형성 이후 중 어느 한 경우 동안에, 클러스터들은 프루닝 기준(254)(도 4에 도시됨)에 기초하여 프루닝된다. 부가적인 프루닝 기능은 도 7에 도시된 흐름도와 관련하여 보다 상세히 기술된다.
단계(324)에서, 프루닝 컴포넌트(248)는 예시적으로 간결성 설정(compactness setting) 또는 제약조건(262)을 사용하여 공동-발생하는 워드가 서로 근접한 부근에 있지 않은 클러스터들을 제거 또는 프루닝한다. 일반적으로, 입력 발음에서 서로 근접하여 위치되지 않은 워드들은 보다 신뢰성있는 클러스터들을 형성한다. 따라서, 프루닝 컴포넌트(248)는 워드 위치 데이터를 이용하여 공동-발생하는 워드가 간결성 설정 내에 있지 않은(즉, 그들이, 간결성 설정에 의해 지시된, 서로 소정 수의 워드 내에 있지 않은) 클러스터들을 프루닝한다.
단계(326)에서, 프루닝 컴포넌트(248)는 예시적으로 하찮은 워드들 또는 클러스터들(예컨대, "a [X][X] the [X] and")의 데이터 저장소를 사용하여 출력 클러스터들을 클러스터링하는 클러스터 데이터를 감축 또는 제거한다. 대조적으로, 프루닝 컴포넌트(248)는 유효한 클러스터들일 수 있는 "I am", "yes, thanks" 등과 같은 클러스터들을 제거하지 않는다.
클러스터링 컴포넌트(244)에 의해 생성되어 프루닝 컴포넌트(248)에 의해 프루닝되는 유사한 클러스터들은 도 7의 단계(328)에 도시된 바와 같이 병합된다. 클러스터들은 부 클러스터(secondary cluster)가 단순히 주 클러스터(primary cluster)의 잘못된-철자(mis-spelling) 또는 잘못된 표현(misrepresentation)일 가능성에 기초하여 병합된다. 이는 종종 하나의 철자 또는 구문 형태가 예컨대, "wheel" 및 "reel"과 같이 음향적으로 서로 매우 가까운 음성 인식에서 일어난다. 다른 예에서, "company still"은 "company store"의 잘못된 표현일 수 있다.
병합을 위해 클러스터들을 식별하는 다양한 방식이 존재한다. 유사한 클러스터들을 병합하기 위한 일 실시예는 음성 인식 시스템에 의해 출력된 대체 인식의 리스트(즉 n개의 최상의 리스트(n-Best list))를 검토하는 것이다(예컨대, 인식 래티스(recognition lattice)에서와 마찬가지임). 다른 실시예에서는, 유사성 또는 거리 메트릭이 음향 유사성 또는 혼란 가능성(confusability)에 기초하여 클러스터들 사이의 유사성 또는 거리를 식별하도록 구현된다.
예를 들어, n개의 발음의 주요 인식 결과의 세트를 R = {r1, r2, r3, r4}로 표시하고, 클러스터링 컴포넌트(244)에 의해 형성된 클러스터들을 C = {c1, c2, c3, c4}로 표시하기로 한다. 임의의 주어진 인식 결과 ri의 대체 세트는 Alt(ri)로서 표기된다. 새로운 pxp 정방 행렬이 생성되어 병합 가능성 행렬 MLM이라 불리며, 이는 최초에 모두 제로를 포함한다. 대체 인식 결과는 처리되어
Figure 112008034982750-PCT00003
에 의해 제공된 병합 가능성 행렬의 병합 행렬 원소 MLMij를 생성한다. 병합 행렬의 대응하는 행렬 원소가 설정 임계값을 초과하는 클러스터들 (i,j), 즉
Figure 112008034982750-PCT00004
은 병합된다.
병합된 클러스터는, 2개의 병합된 클러스터들 중 더 큰 것, 예컨대, 가장 큰 발생 빈도를 갖는 클러스터들의 라벨을 사용하여 라벨(즉, 인식 스트링)이 붙여지고, 그것의 발생/빈도 수는 병합될 클러스터들의 빈도의 합이다. 주목할 점은 대칭성으로 인해, 병합 가능성 행렬 MLM의 대각선을 벗어난 상단(또는 하단) 트라이앵큘러 원소만이 처리된다는 것이다.
다른 실시예에서는, 클러스터들이 얼마나 음향적으로 혼란을 줄 수 있는지의 유사성 메트릭을 사용하여 음향 유사성에 기초하여 그 클러스터들을 병합한다. 클러스터의 쌍 전부는 음향적 유사성 메트릭에 기초하여 평가되고, 매우 유사한 것들은 병합된다. 이는 병합이 더 이상 없을 때까지 반복적으로 행해진다. 음향 유사성 또는 거리와, 음향적 혼란 가능성을 계산하기 위한 다양한 시스템들이 알려지 있으므로, 상세히 설명하지는 않을 것이다.
보고 컴포넌트(252)는 클러스터링 컴포넌트(244)에 의해 생성된 클러스터들을 보고한다. 일 실시예에서, 보고 컴포넌트(252)는 2개 또는 다수의 워드 클러스터들 전부의 빈도, 및 존재(즉, 넌-제로 행렬 원소에 의해)를 보고한다. 클러스터 각각은 도 7의 단계(330)에 의해 예시된 바와 같이 보고 컴포넌트(252)에 의해 클러스터 내의 워드들에 기초하여 라벨이 붙여진다.
일 실시예에서, 보고 컴포넌트(252)는 클러스터들에 라벨을 붙이기 위해 워드 위치 정보를 이용한다. 예를 들어, "elevator not working"의 경우 10개의 발음을 포함하는 호출 로그로부터의 입력 데이터의 경우에, 클러스터링 컴포넌트는 워드 순서에 상관없이 "working", "not", 및 "elevator"의 조합에 대해 10개의 인스턴스를 검색한다. 보고 컴포넌트(252)는 클러스터의 워드 순서를 제공하기 위해, 10: "elevator not working"로 라벨을 붙이거나 또는 클러스터를 출력하는데 워드 위치 정보를 이용한다.
워드 순서는 클러스터 데이터 내의 워드 클러스터들 사이에서 다를 수 있다. 예를 들어, 입력 데이터가 "elevator not working"의 9회 발생, 및 "not working elevator"의 1회 발생을 포함한다면, 클러스터링 컴포넌트(244)는 "elevator not working" 및 "not working elevator"이라는 발음 둘 다에 대해 "not", "elevator", 및 "working"의 워드 조합을 찾기 위해 클러스터를 검색한다.
보고 컴포넌트(252)는 클러스터를 보고하거나 클러스터에 라벨을 붙이기 위해 가장 빈번한 또는 가장 고정된 워드를 이용하도록 구성될 수 있다. 따라서, 예시된 실시예에서, 보고 컴포넌트(252)는 9:"elevator not working" 및 1:"not working elevator"와 같이 2개의 단편화된 클러스터들을 보고하는 대신에 단일 클러스터 라벨이 붙여진 10:"elevator not working"을 보고한다.
워드 클러스터들은 클러스터 워드들 사이에 발생하는 중간 워드를 포함할 수 있다. 예를 들어, 하기의 발음 세트로부터 "building" 및 "reception"이라는 워드를 포함하는 클러스터의 경우:
1) "building one reception"
2) "building two reception"
3) "building four reception"
보고 컴포넌트(252)는 워드 위치 정보를 사용하여 "building"과 "reception" 사이에 "와일드 카드 워드(wildcard word)"가 있는 것으로 판정한다. 따라서, 클러스터는 "cluster 3: Building [X] reception"으로 보고된다.
워드 순서 및 와일드 카드는 클러스터 내의 발음들에 따라 다를 수 있다. 일 실시예에서, 보고 컴포넌트(252)는 통계적 처리를 이용하여 보다 통계적으로 관련 워드 순서 또는 와일드 카드 배치 및 클러스터의 수를 라벨로 붙인다. 예를 들어, 데이터 세트에서 20회 발생하는 "travel" 및 "Florida"라는 워드들에 대한 2개의 워드 클러스터의 경우에, "travel"이라는 워드가 "Florida"라는 워드 전에 2개의 워드를 20회 중 18회 발생하는 경우, 즉 18:("travel" [X][X] "Florida")인 경우와, "Florida"라는 워드가 "travel"이라는 워드 전에 한번 1개의 워드를 발생하는 경우, 즉 1:("Florida" [X] "travel")인 경우와, 3개의 워드가 "travel"이라는 워드 전에 한번 발생하는 경우, 즉 1:("Florida" [X][X][X] "travel")인 경우라면, 뒤따르는 클러스터 라벨: 20:("travel" [x][x] "Florida")로 "평균" 위치가 보고된다.
컴포넌트는 버블 소트(bubble sort) 또는 임의의 기타 적합한 소트를 이용하여 다음의 상대적 위치를 처리할 수 있다. 이는 레벨을 붙이는 것이 가장 빈번한 상대적 순서로 진행하는 것을 보장한다.
예를 들어, 상기 클러스터들의 "travel" 및 "Florida"라는 워드들에 대해, 관련 워드 순서는 다음과 같이 결정된다:
18 x 4 + 2 x 1 = 72 + 2 = 74와 같이 (빈도 x 위치의 합계)로서 "Florida"라는 워드의 평균/예상된 상대적 위치를 결정한다.
18 x 1 + 1 x 2 + 1 x 5 = 25와 같이 (빈도 x 위치의 합계)로서 "travel"이라는 워드의 평균/예상된 상대적 위치를 결정한다.
"travel"의 평균 상대적 위치는 "Florida" 보다 낮기 때문에, 상대적 순서화(버블 소트에 의해 결정됨)는 "travel", "Florida"이다.
"travel" 및 "Florida"라는 워드들 사이에 와일드 카드의 평균/예상된 수는 (2 x 18 - 1 x 1 - 3 x 1)/20 = 1.6(이는 2로 반올림되게 됨)과 같이 (와일드 카드 x 빈도의 수의 합계)/(클러스터의 수)에 기초하여 결정된다.
그래서 클러스터의 최종 클러스터 라벨은 ("travel" [X][X] "Florida")이다.
본 명세서는 문장 또는 발음 세트에서 발생하는 2 이상의 사이즈의 모든 현존하는 워드 클러스터들 전부를 발견하는 방식을 기술한다. 이 방법의 실시예들은 음성 인식 시스템의 문법 외의(out-of-grammar) 발음 클러스터들을 결정하는 데 응용되지만, 응용은 이런 특정한 응용에만 제한되는 것은 아니다.
본 발명은 구조적 특징 및/또는 방법론적인 동작에 특정한 언어로 기술되었지만, 첨부된 청구항에 정의된 본 발명은 전술된 특정한 특징 또는 동작에 반드시 제한되는 것은 아니다. 오히려, 전술된 특정한 특징 및 동작은 청구항을 구현하는 예시적 형태로서 개시되어 있다.

Claims (20)

  1. 컴퓨터 구현가능한 클러스터링 도구(clustering tool)로서,
    음성 인식 컴포넌트(224)로부터의 복수의 발음(utterance)을 나타내는 입력 데이터(240)를 수신하여, 상기 입력 데이터(240) 내의 발음들에서 공동-발생하는 워드들을 나타내는 워드 클러스터들을 생성하도록 구성된 클러스터링 컴포넌트(244)
    를 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  2. 제1항에 있어서,
    상기 워드 클러스터들은 2개 이상의 워드들의 워드 조합을 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  3. 제1항에 있어서,
    상기 클러스터링 컴포넌트는 상기 워드 클러스터들 및 상기 워드 클러스터들의 빈도(frequency)를 제공하는 컴퓨터 구현가능한 클러스터링 도구.
  4. 제1항에 있어서,
    유사성 메트릭(a similarity metric)에 기초하여 클러스터들을 병합하는 병합 컴포넌트를 더 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  5. 제1항에 있어서,
    프루닝 기준(a pruning criteria)에 기초하여 클러스터들을 프루닝하는 프루닝 컴포넌트(a pruning component)를 더 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  6. 제1항에 있어서,
    워드 위치 정보를 이용하여 워드 클러스터에 라벨을 붙이는 보고 컴포넌트(a reporting component)를 더 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  7. 제6항에 있어서,
    상기 보고 컴포넌트는 공동-발생하는 워드들에 관련하여 중간 워드를 나타내는 와일드 카드(wildcard)를 포함하는 워드 클러스터 라벨을 사용하도록 구성되는 컴퓨터 구현가능한 클러스터링 도구.
  8. 제1항에 있어서,
    상기 클러스터링 컴포넌트는 워드 발생 벡터 생성기, 및 벡터 내적을 계산하기 위한 벡터 내적 컴포넌트를 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  9. 제8항에 있어서,
    워드 공동-발생 벡터 생성기를 더 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  10. 컴퓨터 구현가능한 클러스터링 도구로서,
    입력 데이터(240)를 수신하여, 워드 발생 벡터들 또는 워드 공동-발생 벡터들 중 적어도 하나를 생성하도록 구성된 워드 클러스터링 컴포넌트(244); 및
    상기 워드 발생 벡터들 또는 상기 워드 공동-발생 벡터들로부터 상기 입력 데이터(240)에서 워드 클러스터들(246)을 얻기 위해, 벡터 내적을 계산하는 벡터 내적 컴포넌트(294)
    를 포함하는 컴퓨터 구현가능한 클러스터링 도구.
  11. 제10항에 있어서,
    상기 벡터 내적 컴포넌트는 워드 클러스터들 및 빈도를 포함하는 워드 공동-발생 행렬을 생성하는 컴퓨터 구현가능한 클러스터링 도구.
  12. 제10항에 있어서,
    상기 클러스터링 컴포넌트는 파이 프로덕트(Pi-product)를 계산하여 상기 워드 공동-발생 벡터들을 생성하도록 구성되는 컴퓨터 구현가능한 클러스터링 도구.
  13. 입력 데이터(240)를 제공하는 단계;
    입력 데이터(240) 내의 워드들에 대해 워드 발생 벡터들을 생성하는 단계; 및
    상기 워드 발생 벡터들 간에 벡터 내적을 계산하여, 상기 입력 데이터(240) 내의 클러스터들에서 공동-발생하는 워드들을 나타내는 워드 클러스터들을 생성하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 워드 클러스터들에 대해 워드 공동-발생 벡터들을 생성하는 단계; 및
    상기 워드 공동-발생 벡터들의 벡터 내적을 계산하는 단계
    를 더 포함하는 방법.
  15. 제13항에 있어서,
    파이 프로덕트를 계산하여 상기 워드 클러스터들에 대해 워드 공동-발생 벡터들을 생성하는 단계를 더 포함하는 방법.
  16. 제14항에 있어서,
    상기 워드 공동-발생 벡터들을 생성하고, 부가적인 워드 공동-발생 벡터들의 벡터 내적을 계산하는 단계를 반복하는 단계를 포함하는 방법.
  17. 제13항에 있어서,
    폐쇄식 단어 음성 인식 컴포넌트(a closed vocabulary speech recognition component)로부터의 비인식된 음성 데이터를 로깅하는 단계; 및
    상기 로깅된 음성 데이터를 자유형(free-form) 음성 인식 시스템을 사용하여 인식하여 상기 입력 데이터를 제공하는 단계를 더 포함하는 방법.
  18. 제13항에 있어서,
    클러스터 라벨 및 빈도를 포함하는 워드 클러스터들을 출력하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서,
    상기 워드 클러스터들을 출력하기 전에 클러스터 데이터를 프루닝하는 단계를 더 포함하는 방법.
  20. 제13항에 있어서,
    유사한 워드 클러스터들을 병합하는 단계를 더 포함하는 방법.
KR1020087011856A 2005-11-18 2006-11-14 입력 데이터의 워드 클러스터링 방법, 및 컴퓨터구현가능한 클러스터링 도구 KR101411113B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/283,149 US8249871B2 (en) 2005-11-18 2005-11-18 Word clustering for input data
US11/283,149 2005-11-18
PCT/US2006/044080 WO2007061674A1 (en) 2005-11-18 2006-11-14 Word clustering for input data

Publications (2)

Publication Number Publication Date
KR20080073298A true KR20080073298A (ko) 2008-08-08
KR101411113B1 KR101411113B1 (ko) 2014-06-25

Family

ID=38054607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087011856A KR101411113B1 (ko) 2005-11-18 2006-11-14 입력 데이터의 워드 클러스터링 방법, 및 컴퓨터구현가능한 클러스터링 도구

Country Status (6)

Country Link
US (1) US8249871B2 (ko)
EP (1) EP1922653B1 (ko)
JP (1) JP5214461B2 (ko)
KR (1) KR101411113B1 (ko)
CN (1) CN101310273A (ko)
WO (1) WO2007061674A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756708B2 (en) 2006-04-03 2010-07-13 Google Inc. Automatic language model update
US9245526B2 (en) * 2006-04-25 2016-01-26 General Motors Llc Dynamic clustering of nametags in an automated speech recognition system
US8050929B2 (en) * 2007-08-24 2011-11-01 Robert Bosch Gmbh Method and system of optimal selection strategy for statistical classifications in dialog systems
JP5284685B2 (ja) 2008-05-16 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルの再配置装置、再配置方法、及び再配置プログラム
US8724909B2 (en) * 2008-06-03 2014-05-13 Kooaba Ag Method and system for generating a pictorial reference database using geographical information
WO2011078186A1 (ja) * 2009-12-22 2011-06-30 日本電気株式会社 文書クラスタリングシステム、文書クラスタリング方法および記録媒体
CN102823242B (zh) 2010-01-22 2016-08-10 汤姆森特许公司 基于取样超分辨率视频编码和解码的方法和装置
KR101791919B1 (ko) * 2010-01-22 2017-11-02 톰슨 라이센싱 예시-기반의 초 해상도를 이용하여 비디오 압축을 위한 데이터 프루닝
US8825488B2 (en) 2010-04-12 2014-09-02 Adobe Systems Incorporated Method and apparatus for time synchronized script metadata
US8645136B2 (en) 2010-07-20 2014-02-04 Intellisist, Inc. System and method for efficiently reducing transcription error using hybrid voice transcription
WO2012033972A1 (en) 2010-09-10 2012-03-15 Thomson Licensing Methods and apparatus for pruning decision optimization in example-based data pruning compression
WO2012033971A1 (en) 2010-09-10 2012-03-15 Thomson Licensing Recovering a pruned version of a picture in a video sequence for example - based data pruning using intra- frame patch similarity
US8650031B1 (en) * 2011-07-31 2014-02-11 Nuance Communications, Inc. Accuracy improvement of spoken queries transcription using co-occurrence information
EP2829049B1 (en) 2012-03-23 2021-05-26 Dolby Laboratories Licensing Corporation Clustering of audio streams in a 2d/3d conference scene
US9373031B2 (en) 2013-03-14 2016-06-21 Digitech Systems Private Reserve, LLC System and method for document alignment, correction, and classification
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US9462456B2 (en) 2014-11-19 2016-10-04 Qualcomm Incorporated Method and apparatus for creating a time-sensitive grammar
US9928232B2 (en) 2015-02-27 2018-03-27 Microsoft Technology Licensing, Llc Topically aware word suggestions
US9990268B2 (en) * 2015-03-30 2018-06-05 Infosys Limited System and method for detection of duplicate bug reports
US10140285B2 (en) * 2016-06-15 2018-11-27 Nice Ltd. System and method for generating phrase based categories of interactions
CN110516902B (zh) * 2019-07-11 2023-08-22 平安科技(深圳)有限公司 一种智能调度方法、装置、计算机系统及可读存储介质
US11176924B2 (en) * 2020-01-09 2021-11-16 International Business Machines Corporation Reduced miss rate in sound to text conversion using banach spaces

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444165A (ja) * 1990-06-12 1992-02-13 Nec Corp 対称連立一次方程式の求解方式
EP0645757B1 (en) * 1993-09-23 2000-04-05 Xerox Corporation Semantic co-occurrence filtering for speech recognition and signal transcription applications
US5675819A (en) * 1994-06-16 1997-10-07 Xerox Corporation Document information retrieval using global word co-occurrence patterns
US5715468A (en) * 1994-09-30 1998-02-03 Budzinski; Robert Lucius Memory system for storing and retrieving experience and knowledge with natural language
JP2836521B2 (ja) 1995-03-24 1998-12-14 日本電気株式会社 文章自動分類システム
US6173261B1 (en) * 1998-09-30 2001-01-09 At&T Corp Grammar fragment acquisition using syntactic and semantic clustering
US5828999A (en) * 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
US5842161A (en) * 1996-06-25 1998-11-24 Lucent Technologies Inc. Telecommunications instrument employing variable criteria speech recognition
US5991712A (en) * 1996-12-05 1999-11-23 Sun Microsystems, Inc. Method, apparatus, and product for automatic generation of lexical features for speech recognition systems
US6356864B1 (en) * 1997-07-25 2002-03-12 University Technology Corporation Methods for analysis and evaluation of the semantic content of a writing based on vector length
US6021384A (en) * 1997-10-29 2000-02-01 At&T Corp. Automatic generation of superwords
US6243680B1 (en) * 1998-06-15 2001-06-05 Nortel Networks Limited Method and apparatus for obtaining a transcription of phrases through text and spoken utterances
US6826556B1 (en) * 1998-10-02 2004-11-30 Ncr Corporation Techniques for deploying analytic models in a parallel
US6411930B1 (en) * 1998-11-18 2002-06-25 Lucent Technologies Inc. Discriminative gaussian mixture models for speaker verification
US6317707B1 (en) * 1998-12-07 2001-11-13 At&T Corp. Automatic clustering of tokens from a corpus for grammar acquisition
US6415248B1 (en) * 1998-12-09 2002-07-02 At&T Corp. Method for building linguistic models from a corpus
US6385579B1 (en) * 1999-04-29 2002-05-07 International Business Machines Corporation Methods and apparatus for forming compound words for use in a continuous speech recognition system
JP2001101194A (ja) 1999-09-27 2001-04-13 Mitsubishi Electric Corp テキストマイニング方法、テキストマイニング装置及びテキストマイニングプログラムが記録された記録媒体
US6751621B1 (en) * 2000-01-27 2004-06-15 Manning & Napier Information Services, Llc. Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors
JP3428554B2 (ja) 2000-02-29 2003-07-22 日本電気株式会社 意味ネットワーク自動作成装置及びコンピュータ可読記録媒体
US6862566B2 (en) * 2000-03-10 2005-03-01 Matushita Electric Industrial Co., Ltd. Method and apparatus for converting an expression using key words
US6782357B1 (en) 2000-05-04 2004-08-24 Microsoft Corporation Cluster and pruning-based language model compression
US6578032B1 (en) * 2000-06-28 2003-06-10 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US7389234B2 (en) * 2000-07-20 2008-06-17 Microsoft Corporation Method and apparatus utilizing speech grammar rules written in a markup language
JP2002041544A (ja) * 2000-07-25 2002-02-08 Toshiba Corp テキスト情報分析装置
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
US6763331B2 (en) * 2001-02-01 2004-07-13 Matsushita Electric Industrial Co., Ltd. Sentence recognition apparatus, sentence recognition method, program, and medium
US6856957B1 (en) * 2001-02-07 2005-02-15 Nuance Communications Query expansion and weighting based on results of automatic speech recognition
US7124081B1 (en) * 2001-09-28 2006-10-17 Apple Computer, Inc. Method and apparatus for speech recognition using latent semantic adaptation
JP2003288362A (ja) 2002-03-27 2003-10-10 Seiko Epson Corp 特定要素ベクトル生成装置、文字列ベクトル生成装置、類似度算出装置、特定要素ベクトル生成プログラム、文字列ベクトル生成プログラム及び類似度算出プログラム、並びに特定要素ベクトル生成方法、文字列ベクトル生成方法及び類似度算出方法
JP2004164036A (ja) * 2002-11-08 2004-06-10 Hewlett Packard Co <Hp> 文書の共通性評価方法
JP2004252775A (ja) 2003-02-20 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> 単語抽出装置、単語抽出方法およびプログラム
US7289956B2 (en) 2003-05-27 2007-10-30 Microsoft Corporation System and method for user modeling to enhance named entity recognition
DE602004016568D1 (de) * 2004-02-25 2008-10-23 Ntt Docomo Inc Vorrichtung und verfahren zur sequenzschätzung unter verwendung von filterung mit mehreren eingängen und mehreren ausgängen
US7254774B2 (en) * 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
US7620539B2 (en) * 2004-07-12 2009-11-17 Xerox Corporation Methods and apparatuses for identifying bilingual lexicons in comparable corpora using geometric processing
US7379870B1 (en) * 2005-02-03 2008-05-27 Hrl Laboratories, Llc Contextual filtering
US7805300B2 (en) * 2005-03-21 2010-09-28 At&T Intellectual Property Ii, L.P. Apparatus and method for analysis of language model changes
JP4524640B2 (ja) * 2005-03-31 2010-08-18 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7672833B2 (en) * 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
US7590626B2 (en) * 2006-10-30 2009-09-15 Microsoft Corporation Distributional similarity-based models for query correction

Also Published As

Publication number Publication date
EP1922653A4 (en) 2011-09-28
US8249871B2 (en) 2012-08-21
JP5214461B2 (ja) 2013-06-19
US20070118376A1 (en) 2007-05-24
EP1922653A1 (en) 2008-05-21
EP1922653B1 (en) 2012-12-26
JP2009516233A (ja) 2009-04-16
KR101411113B1 (ko) 2014-06-25
CN101310273A (zh) 2008-11-19
WO2007061674A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
KR101411113B1 (ko) 입력 데이터의 워드 클러스터링 방법, 및 컴퓨터구현가능한 클러스터링 도구
US7813926B2 (en) Training system for a speech recognition application
US8392188B1 (en) Method and system for building a phonotactic model for domain independent speech recognition
US7634406B2 (en) System and method for identifying semantic intent from acoustic information
JP5459214B2 (ja) 言語モデル作成装置、言語モデル作成方法、音声認識装置、音声認識方法、プログラム、および記録媒体
US8165877B2 (en) Confidence measure generation for speech related searching
US6477488B1 (en) Method for dynamic context scope selection in hybrid n-gram+LSA language modeling
US7127393B2 (en) Dynamic semantic control of a speech recognition system
JP4724377B2 (ja) 自然言語理解(NLU)システムにおける規則ベース文法に関するスロットおよび前終端記号(preterminal)に関する統計モデル
JPH06318096A (ja) 言語モデリング・システム及び言語モデルを形成する方法
JPWO2004034378A1 (ja) 言語モデル生成蓄積装置、音声認識装置、言語モデル生成方法および音声認識方法
US7401019B2 (en) Phonetic fragment search in speech data
US20100281091A1 (en) Similar Text Search Method, Similar Text Search System, and Similar Text Search Program
JP2004341520A (ja) 音声認識方法
US7010486B2 (en) Speech recognition system, training arrangement and method of calculating iteration values for free parameters of a maximum-entropy speech model
KR20090063546A (ko) 음성인식 장치 및 방법
Ogawa et al. Error type classification and word accuracy estimation using alignment features from word confusion network
Shafran et al. Efficient determinization of tagged word lattices using categorial and lexicographic semirings
JP3836607B2 (ja) 音声認識のための統計的言語モデル作成装置
Ma et al. Recognize foreign low-frequency words with similar pairs
Smaïli et al. An hybrid language model for a continuous dictation prototype.
JP2901850B2 (ja) 統計的言語モデルを用いた音声認識方法
Li et al. Unsupervised semantic intent discovery from call log acoustics
JP2004109906A (ja) テキストクラスタリング方法および音声認識方法
KR20120063827A (ko) 연속 음성 인식에 대한 시맨틱 네트워크를 이용한 호 분류 방법 및 그 시스템

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: 20170522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 6