KR100663821B1 - Java에음성인식능력을부가하기위한시스템및방법 - Google Patents
Java에음성인식능력을부가하기위한시스템및방법 Download PDFInfo
- Publication number
- KR100663821B1 KR100663821B1 KR1019980000055A KR19980000055A KR100663821B1 KR 100663821 B1 KR100663821 B1 KR 100663821B1 KR 1019980000055 A KR1019980000055 A KR 1019980000055A KR 19980000055 A KR19980000055 A KR 19980000055A KR 100663821 B1 KR100663821 B1 KR 100663821B1
- Authority
- KR
- South Korea
- Prior art keywords
- grammar
- application
- speech recognition
- java
- result
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
Abstract
JAVA에 음성 인식 능력을 부가하기 위한 시스템(10)에 있어서, 애플리케이션 프로그램 인터페이스(20)를 통하여 JAVA 애플리케이션(24)에 결합된 음성 인식 서버(18)가 제공된다. JAVA 애플리케이션(24)은 음성 인식 서버(18)에 문법(56)을 통신하는 애플리케이션 프로그램 인터페이스(20)에 문법(56)을 동적으로 지정한다. 음성 인식 서버(18)는 문법(56)과 음성 입력(66)을 수신한다. 음성 입력(66)이 수신되면, 음성 인식 서버(18)는 음성 인식을 수행하고 문법(56)에 기초한 결과(58)를 생성한다. 애플리케이션 프로그램 인터페이스(20)는 JAVA 애플리케이션(24)에 결과(58)를 통신하고, JAVA 애플리케이션(24)은 수신된 결과(58)에 기초하여 동작을 수행한다.
Description
본 발명은 일반적으로 데이타 통신 및 프로세싱 분야에 관한 것으로, 특히 JAVA에 음성 인식 능력을 부가하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터 사용자들은 음성 명령(verbal commands)에 응답할 수 있는 개인용 소프트웨어 애플리케이션을 갈망해 왔다. 사용자가 음성을 입력 매체로서 사용하여 소프트웨어 애플리케이션과 상호작용하면, 예를 들면, 키보드, 마우스 또는 터치스크린 입력 장치 보다 자연스러운 인터페이스를 제공할 수 있다. 음성 입력은 손동작 없이도 다루기 쉬운 이점이 있다. 소프트웨어 애플리케이션과 상호작용하는 동안 사용자로 하여금 다른 일에 참여할 수 있게 하는 것 이외에도, 핸드프리(hands-free) 동작은 장애를 가진 사용자들에게 액세스(acess)를 제공한다. 음성 입력은 철자 및 구문 에러의 문제를 방지하고, 다른 입력 방법에 관련된 커다란 리스트를 통하여 스크롤(scroll)하는 부가적인 이점을 제공한다.
클라이언트 애플리케이션에 음성 인식 능력을 제공하기 위한 한 가지 방안은 HTML(Hyper-Text Markup Language)에 기초한 스마트 페이지(smart page)의 개념이다. 스마트 페이지는 그 페이지에 특정한 문법의 링크(link)를 포함하는 Web(World-Wide-Web) 페이지이며, 그러한 문법의 결과를 해석할 수 있다. 스마트 페이지의 저자는 페이지가 응답할 문법을 정의하고, 스마트 페이지 내에 그 문법에 대한 링크를 내장하고, 예상되는 음성 입력의 형태에 관하여 사용자에게 가시적인 지시를 부여한다. 음성 엔진(speech engine)이 스마트 페이지와 마주칠 경우, 문법과 결합되어, 음성 입력에 대하여 응답하고 그 결과를 스마트 페이지에 반환할 수 있도록 한다. 스마트 페이지는 그 결과를 해석하여 그에 따른 응답을 행한다.
이러한 방안의 단점은 HTML에 기초한 웹(web) 페이지는 상태가 없다는(stateless) 점인데, 즉, 현재의 페이지에 새로운 페이지가 링크될 경우, 이 새로운 페이지는 이전 페이지에 관하여 어떠한 것도 알지 못한다는 점이다. URL(Uniform Resource Locator) 내에 상태 정보를 부호화함으로써 그러한 제한을 극복할 수 있는 반면, 이 방법은 매우 비효율적인 해결 방안을 제공한다. 이 방안의 다른 단점은 통상적으로 클라이언트 애플리케이션에 음성 인식 능력을 부가하기 위한 해결 방안을 제공하지 않는다는 점이다. HTML은 풀(full) 프로그래핑 언어가 아니기 때문에, 실제적인 애플리케이션은 웹 페이지와 브라우징 커맨드로 제한된다.
본 발명에 따르면, 이전에 개발된 시스템에 관련된 단점과 문제점을 제거하거나 실질적으로 감소시키는 JAVA에 음성 인식 능력을 부가하는 시스템이 제공된다.
본 발명의 일 실시예에 따르면, JAVA에 음성 인식 능력을 부가하는 시스템은 애플리케이션 프로그램 인터페이스를 통하여 JAVA 애플리케이션에 결합된 음성 인식 서버를 포함한다. JAVA 애플리케이션은 애플리케이션 프로그램 인터페이스에 문법을 동적으로 지정하고, 애플리케이션 프로그램 인터페이스는 음성 인식 서버에 문법을 통신한다. 음성 인식 서버는 문법과 음성 입력을 수신한다. 음성 인식 서버는 음성 입력에 대하여 음성 인식을 수행하고, 문법에 기초하여 결과를 생성한다. 애플리케이션 프로그램 인터페이스는 JAVA 애플리케이션에 그 결과를 통신하고, JAVA 애플리케이션은 수신된 결과에 기초하여 동작한다.
본 발명은 JAVA 애플리케이션 내의 상태 정보를 용이하게 부호화하는 능력을 포함하는 중요한 기술적인 이점을 제공한다. 상태가 없는 HTML과는 달리, JAVA는 필요한 상태 정보를 효율적으로 전할 수 있는 풀 프로그래밍 언어이다. 또한, JAVA는 풀 프로그래밍 언어이기 때문에, 본 발명은 JAVA 프로그램 애플리케이션의 음성 가능화작업을 용이하게 하며, 웹 브라우징 애플리케이션에 한정되지 않는다. 다른 이점은 JAVA가 플랫폼 독립형 언어(platform independent language)라는 점이다. 이와 같이, 본 발명은 음성 서버가 백그라운드(background) 내에서 구동되는 경우, 동일 프로그램이 다중 플랫폼 상의 음성 인식을 이용할 수 있게 한다. 이것은 클라이언트 프로그래머로 하여금 오디오 기록 및 음성 인식기 특성과 같은 플랫폼 의존 문제를 무시할 수 있게 한다. 또 다른 이점은 JAVA 애플리케이션을 음성으로 인에이블(speech-enable)하는데 사용된 애플리케이션 프로그램 인터페이스의 유연성이다. 본 발명은 초보 프로그래머가 간단한 템플릿(template)을 이용하여 애플리케이션을 신속하게 음성으로 인에이블하게 할 수 있게 하며, 숙련된 프로그래머에게 좀 더 복잡한 특징을 수행할 수 있게 하는 유연성을 제공한다.
본 발명의 또 다른 이점은 애플리케이션 프로그램 인터페이스가 기초하고 있는 클라이언트/서버 모델이다. 음성 인식 서버가 대량의 프로세싱 부하를 다루기 때문에, 경량의 부하는 좀 더 느리게 해석되는 JAVA 애플리케이션 상에 배치된다. 또한, 클라이언트/서버 모델은 클라이언트 애플리케이션이 서버 컴퓨터와는 별도의, 덜 강력한 장치 상에서 실행할 수 있게 하는 유연성을 제공한다. 웹 상에서 JAVA 프로그램과 통신할 때, JAVA의 클라이언트측 특성은 대화중의 트래킹 다이알로그 문맥을 크게 단순화시킨다. 또한, JAVA 애플리케이션을 이용한 직접적인 통신은 응답 대기중 일 때 네트워크 지연을 제거한다.
본 발명의 또 다른 이점은 문법 데이타 구조의 콘텐츠의 동적 수정을 제공한다는 점이다. 동적 수정은 음성 엔진에 의해 마주친 문맥이 월드 와이드 웹 사이트의 브라우징과 같이, 예측할 수 없는 경우에 귀중한 이점이다. 이 경우에, 동적 수정은 음성 인식 서버로 하여금 음성 엔진의 언어를 확장하게 하여, 마주친 애플리케이션의 문맥을 적합하게 한다. 본 발명의 문법 데이타 구조는 종래의 단일 정규 문법 보다 간결하다는 추가적인 이점을 제공한다.
본 발명의 바람직한 실시예들은 도 1 내지 도 4에 도시되었으며, 동일 참조부호들은 다양한 도면의 동일 및 대응 부분을 언급하는데 사용된다.
도 1은 음성 인식 능력을 가지는 JAVA를 인에이블하기 위한 시스템의 개략적인 도면이다. 시스템은 JAVA 애플리케이션(애플리케이션; 24), 음성 인식 서버(SRS; 18), 서버측 애플리케이션 프로그램 인터페이스(서버측 API; 218) 및 애플리케이션측 애플리케이션 프로그램 인터페이스(애플리케이션측 API; 224)를 포함한다. 서버측 API(218)와 애플리케이션측 API(224)는 공동으로 API(20)로 참조된다. 동작시에, 애플리케이션(24)은 API(20)에 하나 이상의 문법을 동적으로 지정한다. 문법은 애플리케이션(24)이 응답할 구문과 어휘를 정의하는 규칙의 세트이다. API(20)는 문법을 수신하여 저장하는 SRS(18)에 문법을 통신한다. 문법을 프로세싱한 후, SRS(18)는 음성 입력을 수신하고, JAVA 애플리케이션(24)에 의해 지정된 문법에 기초하여 음성 인식을 수행하여 그 결과를 생성할 수 있다. 다음으로, API(20)는 JAVA 애플리케이션(24)에 그 결과를 통신할 수 있다. JAVA 애플리케이션(24)은 수신된 결과에 기초하여 적절한 동작을 수행할 수 있다.
애플리케이션(24)이 수행하는 동작은 애플리케이션(24)에 의해 지원되는 커맨드에 응답하여 적절하게 취해진 동작일 수 있다. 그 동작은, 예를 들면, 커맨드 "scroll up"에 응답하여 스크린을 위로 스크롤하거나, 커맨드 "go back"에 응답하여 이전 웹 페이지로 복귀하거나, 커맨드 "show the forecast"에 응답하여 일기 예보를 표시할 수 있다. 취해진 동작은 결과를 수신하는 특정 애플리케이션의 함수에 따라 좌우된다.
도 2는 음성 호스트 컴퓨터(12)를 포함하는 예시적 시스템(10)을 나타낸다. 음성 호스트 컴퓨터(12)는 SRS(18)와 애플리케이션들(24∼30)을 포함할 수 있다. 통상적으로 애플리케이션(24)으로 불리는 애플리케이션들(24∼30)은 API(20)를 통하여 SRS(18)와 인터페이스한다. JAVA 애플리케이션들(24∼28)은 네트워크(34) 상에 존재하는 네크워크 컴퓨터들(36∼38)로부터 생겨날 수 있다. JAVA 애플리케이션(30)은 음성 호스트 컴퓨터(12)의 배선에 의한 컴포넌트로서, 또는 메모리 내에 음성 호스트 컴퓨터(12) 상에 국부적으로 존재할 수 있다. API(20)는 애플리케이션 인터프리터(22)를 통하여 JAVA 애플리케이션들(24∼30)과 인터페이스할 수 있다. 시스템(10)은 인터페이스(16)를 통하여 음성 호스트 컴퓨터(12)에 결합되는 인터페이스 장치(14)를 더 포함할 수 있다. JAVA 애플리케이션(32)은 인터페이스 장치(14) 상에 존재하고, 인터페이스(16)를 통하여 API(218)와 통신할 수 있다.
음성 호스트 컴퓨터(12)는 메인프레임, 미니컴퓨터, 워크스테이션, 또는 퍼스널 컴퓨터와 같은 API(20)와 SRS(18)를 지원할 수 있는 임의의 장치일 수 있다. 일반적으로, SRS(18)는 클라이언트 애플리케이션으로부터의 접속을 청취하고, 클라이언트 서버 프로토콜을 이해하고, 애플리케이션(24)에 의해 요구되는 동작을 수행하는 임의의 장치 또는 애플리케이션일 수 있다. 특정 실시예에 있어서, SRS(18)는 스피커 독립형, 연속적인 음성, 임의의 어휘 인식 시스템으로 집약될 수 있다. 스피커 독립형은 새로운 스피커의 음성 특성에 훈련되지 않고도, 새로운 스피커의 도입하에서 기능을 계속하기 위한 인식기의 능력을 말한다. 연속적인 음성의 지원은 말해진 단어 사이에 정지를 요구하지 않고도 기능하는 인식기의 능력을 말한다. 임의의 어휘는 선정된 어휘 크기 및/또는 콘텐츠에 의하여 한정되지 않는다는 것이다. SRS(18)는 JAVA 애플리케이션에만 한정되지 않는다. 이것은 클라이언트와 서버 간에 통신을 위한 프로토콜을 따르는 임의의 애플리케이션과 인터페이스할 수 있다.
SRS(18)는 월드 와이드 웹을 사용한 음성 상호작용을 위한 특정의 특성을 지원하기 위하여, 넷스케이프 또는 마이크로소프트 익스플로러와 같은 웹 브라우저와 결합하여 사용될 수 있다. 월드 와이드 웹과 상호작용할 경우에 제공되는 몇 가지 이점 이외에도, SRS(18)는 다양한 다른 멀티미디어를 추구하기 위한 음성 인식 서버로서 사용될 수 있다. 이들 중에는 키옥스(kiosks)를 통한 정보 액세스, 음성 파워의(voice-powered) 상호작용 멀티미디어 프리젠테이션, 상호작용 훈련과 리페어 메뉴얼(repair manual)의 음성 네비게이션(voice navigation), 및 웹을 통한 텔레비젼의 통합이 있다.
애플리케이션 프로그램 인터페이스(20)는 루틴(routines), 커맨드, 데이타 구조, 가상 및 기타 함수, 가상 및 기타 함수 호출, 데이타 정의, 및 SRS(18)의 하나 이상의 동작을 제어하는 다른 변수들의 집합을 포함할 수 있다. API(20)는 통상적으로 API(224)로서 참조되는 애플리케이션측 API들(224∼232)과 서버측 API(218)를 포함한다. 서버측 API(218)는 SRS(18)의 동작을 제어하는데 필요한 대부분의 코드를 포함할 수 있다. 애플리케이션측 API(224)는 SRS(18)와 애플리케이션(24) 간의 상호작용을 용이하게 하는 특정 코드의 라인을 포함한다. 서버측 API(218)와 애플리케이션측 API(224)는 공동으로 API(20)를 형성한다. API(20)는 특정 애플리케이션에 특유한 문법 상세 및 지시(directives)를 SRS(18)의 일부가 되게 허용한다. 이러한 특성을 이용하여, SRS(18)와 애플리케이션 간의 상호작용을 용이하게 하기 위하여 프로그래머는 애플리케이션측 API를 부가함으로써 임의의 JAVA 애플리케이션을 음성으로 인에이블할 수 있다. 본 실시예에 있어서, 애플리케이션들(24∼32)은 이들을 애플리케이션측 API들(224∼232)로 각기 부호화함으로써 음성으로 인에이블된다.
예로서(이에 한정되지 않음), 후속되는 예시적인 코드는 음성 인에이블 애플리케이션(24)에 사용될 수 있다.
import javaspeech. //The Java speech API package
. . .
public class MyApplet extends Applet implements Runnable Speakable
{
. . .
SpeechRecognizer SR;
SRGrammar grammar;
. . .
SR = new SpeechRecognizer(this);
if (SR.connect( )) {
SRGrammar grammar = new SRGrammar("blink_grammar");
grammar.addRule("blink_grammar ---> start blinking|stop blinking");
SR.loadGrammarToRecognizer(grammar);
SR.startListening( );
}
. . .
public void onSpeechRecognition(SRResult result)
{
// simulated callback that receives the SRResult object and is
// responsible for its processing
}
. . .
SR.stopListening( );
SR.disconnect( );
. . .
}
객체 지향 프로그래밍에 있어서, 클래스는 속성, 서비스, 데이타 구조, 루틴, 또는 객체를 특징지우는 다른 정보 또는 클래스의 인스턴스를 정의한다. 전술된 예시적인 코드에 있어서, 사용된 클래스는 SpeechRecognizer, SRResult, 및 SRGrammar이다. SpeechReconizer 클래스는 SRS(18)와 애플리케이션(24) 간의 접속을 확립하고, SRS(18)와 통신하고, SRS(18)와 접속을 해제하는 것과 같은 기본적인 음성 인식 동작을 제어한다. SRGrammar 클래스는 문법(56)을 지정하는데 사용된다. SRGrammar를 통해서, 애플리케이션(24)은 문법을 부가하고, 불활성화 및 재활성화하며, 애플리케이션(24)을 실행하는 동안 변경된 문법을 동적으로 재로드(reload)할 수 있다. SRResult 클래스는 문법(56), 문법(56)으로부터 인식된 결과(58), 컨피던스 스코어(confidence score)와, n-베스트(n-best) 결과 및 그들의 컨피던스 스코어의 리스트와 같은 정보를 포함할 수 있다.
비동기 인식에 필요한 시뮬레이션된 콜백(simulated callback)을 다루기 위하여, 애플리케이션(24)은 인식 결과(58)가 수신되었을 때 자동적으로 호출되는 함수 on-SpeechRecognition 또한 포함할 수 있다.
전술된 예시적인 코드는 매우 간단한 템플릿을 이용하여 애플리케이션(24)을 음성으로 인에이블하는 방법을 나타낸다. 예시적인 코드의 간단명료성은 음성 인식 API의 초보자들에게 최소의 노력으로 애플리케이션을 음성으로 인에이블할 수 있게 한다. API(20)는 숙련된 프로그래머들이 원할 수 있는 보다 진보된 음성 인식 능력을 지원하는 추가적인 이점을 제공한다.
애플리케이션(24)은 JAVA 프로그래밍 언어에 적합한 임의의 애플리케이션일 수 있다. 예로서(이에 한정되지 않음), 애플리케이션(24)은 컴퓨터 뱅킹 프로그램, 컴퓨터 게임 프로그램, 또는 월드 와이드 웹 페이지일 수 있다. JAVA는 플랫폼 독립 프로그래밍 언어이다. 이와 같이, 본 발명은 음성 호스트 컴퓨터(12)의 플랫폼에 관계없이 음성 인식 능력을 가진 클라이언트 애플리케이션을 인에이블할 수 있는 이점을 제공한다.
API(20)는 많은 방식으로 애플리케이션들(24∼32)과 인터페이스할 수 있다. 특정 실시예에 있어서, 애플리케이션(30)은 음성 호스트 컴퓨터(12)에 국부적(local)일 수 있다. 예를 들면, 애플리케이션(30)은 음성 호스트 컴퓨터(12)의 하드 드라이브 상에 존재하거나, 플로피 디스크 또는 CD 롬과 같은 외부 드라이브 상에 존재하거나, 음성 호스트 컴퓨터(12)에 배선되어 존재할 수 있다. 일반적으로, 애플리케이션(30)은 애플리케이션(30)을 저장하기에 적합한 임의의 매체 상의 음성 호스트 컴퓨터(12)에 국부적으로 존재할 수 있으며 시스템(10) 내에서 그 동작을 용이하게 한다.
다른 실시예에 있어서, 애플리케이션(32)은 셀룰라 폰, PDA(Personal Digital Asistant) 또는 셋탑 박스(set-top box)와 같은 인터페이스 장치(14) 상에 존재할 수 있다. 애플리케이션(32)은 인터페이스(16)를 통하여 API(20)와 통신할 수 있다. 인터페이스(16)는 인터페이스 장치(14)와 음성 호스트 컴퓨터(12) 간의 통신을 용이하게 하는데 적합한 임의의 유선 또는 무선 장치를 포함할 수 있다. 이러한 실시예에 있어서, 프로세싱 부하의 벌크(bulk)가 음성 호스트 컴퓨터(12) 상에 위치되기 때문에, 클라이언트 애플리케이션(32)은 전력 및 메모리를 위한 큰 용량을 가질 필요가 없다. 이것은 그렇지 않은 경우에 필요한 메모리 및 전력 요구 사항이 부족될 수 있는, 작고 저전력인 인터페이스 장치 상에서 실행되는 애플리케이션에 음성 인식 능력을 제공할 수 있는 이점을 가진다.
또 다른 실시예에 있어서, 애플리케이션들(24∼28)은 네트워크(34) 상의 어딘가에 존재할 수 있다. 네트워크(34)는 음성 호스트 컴퓨터(12)와 네트워크 컴퓨터들(36∼40) 간의 통신을 용이하게 하기 위한 임의의 적합한 유선 또는 무선 링크(link)를 포함할 수 있다. 예를 들면, 네트워크(34)는 공중 교환 전화망(public switched telephone network), ISDN(Integrated Services Digital Network), LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), 월드 와이드 웹과 같은 글로벌 네트워크, 또는 기타 전용(dedicated) 또는 교환(switched) 네트워크 또는 기타 통신 메커니즘을 포함할 수 있다. 음성 호스트 컴퓨터(12)는 애플리케이션 인터프리터(22)를 통하여 애플리케이션들(24∼30)과 인터페이스할 수 있다. 애플리케이션 인터프리터(22)는 네트워크(34)에 액세스하고, 브라우저 또는 애플렛 뷰어(applet viewer)와 같은 애플리케이션(24)을 배치하고 검색하기에 적합한 어떤 장치일 수 있다.
도 3은 본 발명에 따른 음성 인식 서버(18)와 JAVA 애플리케이션들(24∼32) 간의 예시적 인터페이스이다. 음성 호스트 컴퓨터(12)는 SRS(18), API(20) 및 통상적으로 애플리케이션(24)으로서 참조되는 하나 이상의 JAVA 애플리케이션들(24∼32)을 지원한다. SRS(18)는 문법 데이타 구조(52)와 애플리케이션 데이타 구조(54)에 액세스하는 음성 엔진(50)을 포함할 수 있다. 일반적으로, 음성 엔진(50)은 음성 입력에 대하여 음성 인식을 수행하는데 적합한 임의의 알고리즘(algorithm)일 수 있다. 특정 실시예에 있어서, 음성 엔진(50)은 본 분야에서 알려진 바와 같이 적어도 3개의 층들, 즉 음성 모델을 나타내는 히든 마코브 모델 층(Hidden Markov Model layer), 선택 워드 발음 층, 및 예상되는 워드들의 시퀀스를 특정하는 문장 구조층을 포함할 수 있다.
일반적으로, 문법 데이타 구조(52)는 문법(56)을 수신하고, 저장하고, 검색을 용이하게 하도록 동작 가능한 임의의 데이타 저장 장치 및 애플리케이션 내에 저장될 수 있다. 특정 실시예에 있어서, 문법 데이타 구조(52)는 본 분야에서 알려진 바와 같이 RGDAG(directed acyclic graph) 내의 정규 문법일 수 있다. RGDAG에서, 제1 문법 내의 마지막 심볼과 제2 문법 내의 시작 심볼이 일치할 경우 하나의 문법은 다른 문법에 연결된다. 문법 데이타 구조(52)로서 RGDAG를 실행하는 것은 음성 엔진(50)으로 하여금 RGDAG 내의 시작 심볼의 임의의 서브셋(subset)으로 서치 프로세스를 시작하게 한다. 이것은 마주치는 애플리케이션의 문맥에 따라 음성 엔진 언어의 동적인 변형을 용이하게 한다.
RGDAG의 동적인 변형은 월드 와이드 웹 사이트를 브라우징하는 것과 같이, 음성 엔진(50)에 의해 마주친 문맥을 예측할 수 없는 상황에서 음성 인식 서버(18)의 이점이 있다. 그러한 경우에, 문법의 동적인 변형은 음성 인식 서버(18)로 하여금 마주친 애플리케이션의 문맥에 적합하도록 음성 엔진(50)의 언어를 확장하게 한다. RGDAG 구조는 종래의 단일 정규 문법 보다 효율적인 문법 저장을 용이하게 함으로써 간결함의 이점을 추가로 제공한다.
애플리케이션 데이타 구조(54)는 애플리케이션(24)의 상태를 추적한다. 애플리케이션 데이타 구조(54)는 애플리케이션(24)을 "활성" 또는 "비활성", "청취" 또는 "비청취", 또는 "구동" 또는 "비구동"으로 지정할 수 있다. 부가적으로, 애플리케이션 데이타 구조(54)는 각 문법을 "인에이블" 또는 "디스에이블"로서 마킹함으로써 각 애플리케이션에 관련된 문법의 상태를 추적할 수 있다. 이러한 방식으로, 음성 인식 서버(18)는 다수 클라이언트 애플리케이션의 동시 동작을 추적하여 지원할 수 있다. 애플리케이션 데이타 구조는 애플리케이션(24)이 음성 포커스를 수신하도록 인에이블시킬 수도 있다. 음성 포커스는 그들 자신의 문법으로부터의 결과를 각기 청취하는 수많은 애플리케이션들 간의 경합을 해결하는데 필요할 수 있다. 애플리케이션(24)에 음성 포커스를 부여함으로써, 애플리케이션(24)은 음성 엔진(50)으로 하여금 다른 청취 애플리케이션들에 결과(58)를 송신하지 못하게 할 수 있다. 이러한 방식으로, 의도된 애플리케이션인, 애플리케이션(24)은 결과(58)를 수신한다.
SRS(18)은 또한 API(20)의 서버측 부분, 서버측 API(218)를 포함할 수 있다. 서버측 API(218)는 파서(parser, 60)를 포함할 수 있다. 파서(60)는 음성 엔진(50)으로부터 결과(58)를 수신하여, 이 결과를 파싱하고 이 파싱 결과(61)를 애플리케이션(24)에 통신할 수 있다. 동작에 있어서, 파서(60)는 클라이언트로 하여금 문법(56) 내의 소정의 비단말(nonterminals)을 지정하게 할 수 있다. 다음으로, 파서(60)는 지정된 비단말에 대응되는 결과(58)의 일부만을 애플리케이션(24)에 귀환시킨다. 예를 들면, 문법(56)은 <관사> <형용사> <명사> <부사> <동사> <전치사 구>와 같은 형태일 수 있으며, 파서(60)는 명사 및 동사를 파싱된 결과(61)로서 추출하여 애플리케이션(24)에 파싱된 결과(61)만을 보낼 수 있다. 이것은 애플리케이션(24)으로 하여금 불필요한 정보를 무시할 수 있게 한다. 파서(60)의 이점은 복잡한 문법에 대해서는 성가신 처리일 수 있는, 애플리케이션이 결과(58)를 재파싱할 필요를 제거하는 것이다.
또한, 서버측 API(218)는 파라메티저(62)를 포함할 수 있다. 파라메티저(62)는 애플리케이션(24)으로부터 파라미터(64)를 수신하여 음성 엔진(50)에 파라미터(64)를 통신할 수 있다. 음성 엔진(50)은 파라미터(64)를 수신하여 그에 따라 동작을 수정할 수 있다. 파라미터(64)는 음성 발성이 종료되는 것을 판정하기에 충분한 사일런스(silence) 기간을 지정하는 종료점(endpoint) 파라미터와 같은 음성 엔진(50)의 함수 내의 임의의 변수일 수 있다.
도 4를 참조하면, 음성 인에이블 애플리케이션(24)에 대한 예시적인 방법이 나타난다. 이 방법은 애플리케이션(24)과 SRS(18) 간에 접속이 확립되는 단계 100에서 시작한다. 일단 접속이 되면, 단계 102에서 SRS(18)는 애플리케이션 데이타 구조(54)에서의 활성 애플리케이션의 리스트에 애플리케이션(24)을 부가하여, 애플리케이션(24)으로부터의 커맨드들을 주기적으로 체크한다. 다음으로, 애플리케이션(24)은 단계 104에서 API(20)에 문법(56)을 동적으로 지정할 수 있다. 문법(56)은 애플리케이션(24)으로 하여금 문법을 API(20)에 액세스하여 지정할 수 있도록 하는 임의의 위치 또는 상태 내에 존재할 수 있다. 예를 들면, 문법(56)은 애플리케이션(24)의 JAVA 코드 내의 텍스트 스트링(text string) 내에, 애플리케이션(24)에 의해 지정된 파일 내에, 또는 애플리케이션(24)에 의해 지정된 URL(Uniform Resource Locator)에 존재할 수 있다.
부가적으로 단계 104에서, 애플리케이션(24)은 파라미터(64)를 지정할 수 있다. 전술한 바와 같이, 파라미터(64)는 음성 엔진(50)의 임의의 변수에 대응될 수 있다. 다음으로, 단계 105에서 API(20)는 문법(56) 및 파라미터(64)를 SRS(18)에 통신한다. 또한, 단계 104에서, 애플리케이션(24)은 이미 SRS(18)와 통신된 문법이 "인에이블됨" 또는 "디스에이블됨"이라고 지정할 수 있다.
단계 106에서 SRS(18)이 문법(56)을 수신할 때, 문법 데이타 구조(52) 내의 애플리케이션(24)과 연관된 문법의 리스트에 문법(56)을 부가한다. 또한, 단계 106에서, SRS(18)는 애플리케이션(24)에 의해 지정되는 것과 같이 문법 데이타 구조(52) 내의 문법을 인에이블 또는 디스에이블할 수 있다. 또한, SRS(18)는 파라미터(64) 값에 따라 음성 엔진(50)의 파라미터들을 조정할 수 있다.
단계 107에서 애플리케이션(24)이 이미 "청취"가 아니라면, 단계 108에서 API(20)를 통해 "청취" 신호를 SRS(18)에 통신한다. 단계 109에서 "청취" 신호를 수신하면, SRS(18)는 애플리케이션 데이타 구조(54) 내의 청취 애플리케이션의 리스트에 애플리케이션(24)을 부가한다. 애플리케이션이 "청취"로서 마킹되면, 단계 110에서 SRS(18)는 애플리케이션(24)에 음성 포커스를 부여할 수 있다. 전술된 바와 같이, 음성 포커스는 음성 엔진(50)으로 하여금 다른 청취 애플리케이션에 결과(58)를 송신하지 못하게 한다.
단계 111에서, 음성 엔진(50)은 음성 입력(66)을 수신하고, 단계 112에서, 음성 인식을 수행하고 음성 입력(66)에 기초하여 결과(58)를 생성할 수 있다. 파서(60)는 단계 113에서 결과(58)를 수신하여 결과(58)를 파싱할 수 있다. 다음으로, 파서(60)는 단계 114에서 애플리케이션(24)에 파싱 결과(61)를 통신할 수 있다. 단계 116에서 결과(58) 또는 파싱 결과(61)를 수신하면, 애플리케이션(24)은 수신된 결과에 기초하여 동작을 수행한다.
애플리케이션(24)은 단계 118에서 추가의 문법 및/또는 파라미터, 및/또는 문법 데이타 구조(52) 내의 문법들의 인에이블 또는 디스에이블을 지정할 수 있다. 이와 달리, 애플리케이션(24)은 단계 120에서 API(20)에 "청취 정지" 신호를 통신함으로써 SRS(18)와의 통신을 일시적으로 인터럽트할 수 있다. 단계 121에서 "청취 정지" 신호를 수신하면, SRS(18)는 애플리케이션 데이타 구조(54) 내의 청취 애플리케이션(24)의 리스트로부터 애플리케이션(24)을 제거한다. 단계 122에서, 애플리케이션(24)은 API(20)에 "청취" 신호를 통신함으로써 추가적인 문법을 송신하고/송신하거나 SRS(18)과의 통신을 재개할 수 있다. 이와 달리, 애플리케이션(24)은 단계 124에서 API(20)에 "단선" 신호를 통신함으로써 SRS(18)와의 통신을 종료할 수 있다. 단계 126에서 "단선" 신호를 수신하면, SRS(18)는 애플리케이션 데이타 구조로부터 애플리케이션(24)을 제거한다.
JAVA에 음성 인식 능력을 부가하기 위한 시스템을 제공함으로써 이전에 개발된 시스템에 관련된 단점과 문제점을 제거하거나 실질적으로 감소시킬 수 있는 이점이 있다.
본 발명과 그 장점들이 상세히 기술되었다고 할지라도, 첨부된 청구범위에 의해 한정된 것과 같은 본 발명의 기술적 사상 및 범위를 벗어남이 없이 다양한 변경, 대체 및 교체가 이루어질 수 있음을 알 수 있을 것이다.
도 1은 본 발명에 따른 JAVA 애플리케이션에의 음성 인터페이스를 용이하게 하기 위한 간략화된 예시적 시스템을 도시한 도면.
도 2는 본 발명에 따른 JAVA 애플리케이션에의 음성 인터페이스를 용이하게 하기 위한 예시적 시스템을 도시한 도면.
도 3은 본 발명에 따른 음성 인식 서버와 JAVA 애플리케이션 간의 예시적 인터페이스를 도시한 도면.
도 4는 본 발명에 따른 JAVA 애플리케이션에의 음성 인터페이스를 용이하게 하기 위한 예시적 방법을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
12 : 음성 호스트 컴퓨터
18 : 음성 인식 서버
20 : 애플리케이션 프로그램 인터페이스
24∼30 : JAVA 코드
50 : 음성 엔진
52 : 문법 데이타 구조
54 : 애플리케이션 데이타 구조
56 : 문법
58 : 결과
60 : 파서
61 : 파싱 결과
62 : 파라메티저
64 : 파라미터
218 : 서버측 API
224 : 애플리케이션측 API
Claims (20)
- JAVA에 대한 음성 인터페이스를 용이하게 하기 위한 시스템에 있어서:문법 및 음성 입력을 수신하도록 동작 가능하며, 상기 음성 입력에 응답하여 음성 인식을 수행하고 상기 문법에 기초한 결과를 생성하도록 동작 가능한 음성 인식 서버와;상기 문법을 동적으로 지정하고, 상기 결과를 수신하여 상기 결과에 기초한 동작을 수행하도록 동작 가능한 적어도 하나의 JAVA 애플리케이션(application)과;상기 문법을 수신하고, 상기 음성 인식 서버에 상기 문법을 통신하며, 상기 음성 인식에 응답하여, 상기 음성 인식 서버로부터 상기 결과를 수신하고 상기 JAVA 애플리케이션에 상기 결과를 통신하도록 동작 가능한 애플리케이션 프로그램 인터페이스를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 음성 인식 서버는음성 인식을 수행하도록 동작 가능한 음성 엔진과;상기 문법을 수신하여 저장하도록 동작 가능한 문법 데이타 구조를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 음성 인식 서버는음성 인식을 수행하여 상기 결과를 생성하도록 동작 가능한 음성 엔진과;상기 문법을 수신하여 저장하도록 동작 가능한 문법 데이타 구조와;상기 JAVA 애플리케이션의 상태를 추적하고, 상기 JAVA 애플리케이션에 관련된 문법의 상태를 추적하도록 동작 가능한 애플리케이션 데이타 구조를 포함하는 것을 특징으로 하는 시스템.
- 제3항에 있어서, 상기 애플리케이션 데이타 구조는 의도된 JAVA 애플리케이션으로의 상기 결과의 통신을 제한하도록 동작 가능한 음성 포커스를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 음성 인식 서버는음성 인식을 수행하고 상기 결과를 생성하도록 동작 가능한 음성 엔진과;상기 JAVA 애플리케이션의 상태를 추적하고, 상기 JAVA 애플리케이션에 관련된 문법의 상태를 추적하도록 동작 가능한 애플리케이션 데이타 구조와;상기 문법을 수신하고 상기 문법 수신에 응답하여 다이렉트형 비순환 그래프(directed acyclic graph) 내의 정규 문법 세트의 콘텐츠를 동적으로 수정하도록 동작 가능한 다이렉트형 비순환 그래프 내의 정규 문법 세트를 포함하는 것을 특징으로 하는 시스템.
- 제5항에 있어서, 상기 애플리케이션 데이타 구조는 의도된 JAVA 애플리케이션으로의 상기 결과의 통신을 제한하도록 동작 가능한 음성 포커스를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 애플리케이션 프로그램 인터페이스는 서버측 애플리케이션 프로그램 인터페이스와 애플리케이션측 애플리케이션 프로그램 인터페이스를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 애플리케이션 프로그램 인터페이스는서버측 애플리케이션 인터페이스와 애플리케이션측 애플리케이션 프로그램 인터페이스를 포함하며;상기 서버측 애플리케이션 프로그램 인터페이스는 상기 음성 인식 서버로부터의 상기 결과를 수신하여, 상기 결과를 파싱하고 그 파싱 결과를 생성하도록 동작 가능한 파서(parser)를 포함하며, 또한 상기 JAVA 애플리케이션에 상기 파싱 결과를 통신하도록 더욱 동작 가능한 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 애플리케이션 프로그램 인터페이스는서버측 애플리케이션 프로그램 인터페이스와 애플리케이션측 애플리케이션 프로그램 인터페이스를 포함하며;상기 서버측 애플리케이션 프로그램 인터페이스는 상기 JAVA 애플리케이션으로부터의 파라미터값을 수신하여 상기 수신된 파라미터값에 따라 상기 음성 인식 서버의 파라미터를 수정하도록 동작 가능한 파라메티저(parametizer)를 포함하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 음성 인식 서버는 임의의 사이즈를 가지는 어휘를 포함하고, 스피커 독립형이며, 연속적인 음성을 지원하는 것을 특징으로 하는 시스템.
- JAVA에 대한 음성 인터페이스를 용이하게 하는 방법에 있어서:음성 인식 서버와 JAVA 애플리케이션 간에 통신을 설정하는 단계와;상기 음성 인식 서버에 문법을 통신하는 단계와;음성 입력에 응답하여 음성 인식을 수행하고 상기 문법에 기초한 결과를 생성하는 단계와;상기 JAVA 애플리케이션에 상기 결과를 통신하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서, 상기 음성 인식 서버와 상기 JAVA 애플리케이션 간에 통신을 설정하는 상기 단계는 애플리케이션 데이타 구조에 상기 JAVA 애플리케이션을 부가하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서, 상기 음성 인식 서버에 문법을 통신하는 상기 단계는상기 애플리케이션 프로그램 인터페이스에 상기 문법을 지정하는 단계와;문법 데이타 구조에 상기 문법을 부가하는 단계와;상기 문법의 부가에 응답하여 상기 문법 데이타 구조를 동적으로 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서, 부가적인 문법을 상기 음성 인식 서버에 통신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서, 상기 결과가 상기 JAVA 애플리케이션에 통신되기 전에 상기 결과를 파싱하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서,파라미터값을 수신하는 단계와;상기 파라미터값에 기초하여 상기 음성 인식 서버의 파라미터를 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제11항에 있어서, 의도된 JAVA 애플리케이션에 음성 포커스를 부여하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- JAVA 애플리케이션에 대한 음성 인터페이스를 용이하게 하는 방법에 있어서:음성 인식 서버와 JAVA 애플리케이션 간에 통신을 설정하는 단계와;애플리케이션 프로그램 인터페이스에 문법을 지정하는 단계와;상기 음성 인식 서버에 상기 문법을 통신하는 단계와;상기 문법 수신에 응답하여 다이렉트형 비순환 그래프 내의 정규 문법 세트를 동적으로 수정하는 단계와;음성 입력에 응답하여 음성 인식을 수행하고 상기 문법에 기초한 결과를 생성하는 단계와;상기 JAVA 애플리케이션에 상기 결과를 통신하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제18항에 있어서,상기 음성 인식 서버에 파라미터값을 지정하고, 상기 수신된 파라미터값에 기초하여 상기 음성 인식 서버의 파라미터를 수정하는 단계와;상기 음성 인식 서버에 의해 생성된 상기 결과를 파싱하여, 파싱된 결과를 생성하고 상기 JAVA 애플리케이션에 상기 파싱된 결과를 통신하는 단계와;상기 JAVA 애플리케이션에 음성 포커스를 부여하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제18항에 있어서,복수개의 JAVA 애플리케이션들의 상태를 추적하는 단계와;상기 JAVA 애플리케이션에 관련된 문법의 상태를 추적하는 단계를 더 포함하는 것을 특징으로 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3464297P | 1997-01-06 | 1997-01-06 | |
US60/034,642 | 1997-01-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980070342A KR19980070342A (ko) | 1998-10-26 |
KR100663821B1 true KR100663821B1 (ko) | 2007-06-04 |
Family
ID=21877693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980000055A KR100663821B1 (ko) | 1997-01-06 | 1998-01-05 | Java에음성인식능력을부가하기위한시스템및방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6456974B1 (ko) |
EP (1) | EP0854418A3 (ko) |
JP (1) | JPH10240493A (ko) |
KR (1) | KR100663821B1 (ko) |
SG (1) | SG72779A1 (ko) |
TW (1) | TW421755B (ko) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2280494A3 (en) | 1996-04-26 | 2011-12-07 | AT & T Corp. | Method and apparatus for data transmission using multiple transmit antennas |
US6078886A (en) * | 1997-04-14 | 2000-06-20 | At&T Corporation | System and method for providing remote automatic speech recognition services via a packet network |
US6856960B1 (en) | 1997-04-14 | 2005-02-15 | At & T Corp. | System and method for providing remote automatic speech recognition and text-to-speech services via a packet network |
US8209184B1 (en) | 1997-04-14 | 2012-06-26 | At&T Intellectual Property Ii, L.P. | System and method of providing generated speech via a network |
US6101473A (en) * | 1997-08-08 | 2000-08-08 | Board Of Trustees, Leland Stanford Jr., University | Using speech recognition to access the internet, including access via a telephone |
US20020008751A1 (en) * | 1998-03-25 | 2002-01-24 | Stephen L. Spurgeon | Decorating system for edible items |
KR20010022493A (ko) * | 1998-06-03 | 2001-03-15 | 이데이 노부유끼 | 정보처리장치 및 정보처리방법 |
US6499013B1 (en) * | 1998-09-09 | 2002-12-24 | One Voice Technologies, Inc. | Interactive user interface using speech recognition and natural language processing |
US7003463B1 (en) * | 1998-10-02 | 2006-02-21 | International Business Machines Corporation | System and method for providing network coordinated conversational services |
US7137126B1 (en) * | 1998-10-02 | 2006-11-14 | International Business Machines Corporation | Conversational computing via conversational virtual machine |
US6272469B1 (en) | 1998-11-25 | 2001-08-07 | Ge Medical Systems Global Technology Company, Llc | Imaging system protocol handling method and apparatus |
US8321411B2 (en) | 1999-03-23 | 2012-11-27 | Microstrategy, Incorporated | System and method for management of an automatic OLAP report broadcast system |
AU3165000A (en) * | 1999-03-26 | 2000-10-16 | Koninklijke Philips Electronics N.V. | Client-server speech recognition |
EP1088299A2 (en) * | 1999-03-26 | 2001-04-04 | Scansoft, Inc. | Client-server speech recognition |
US20050261907A1 (en) | 1999-04-12 | 2005-11-24 | Ben Franklin Patent Holding Llc | Voice integration platform |
US6408272B1 (en) * | 1999-04-12 | 2002-06-18 | General Magic, Inc. | Distributed voice user interface |
DE19918382B4 (de) * | 1999-04-22 | 2004-02-05 | Siemens Ag | Erstellen eines Referenzmodell-Verzeichnisses für ein sprachgesteuertes Kommunikationsgerät |
US6571389B1 (en) * | 1999-04-27 | 2003-05-27 | International Business Machines Corporation | System and method for improving the manageability and usability of a Java environment |
GB9911971D0 (en) * | 1999-05-21 | 1999-07-21 | Canon Kk | A system, a server for a system and a machine for use in a system |
US9208213B2 (en) | 1999-05-28 | 2015-12-08 | Microstrategy, Incorporated | System and method for network user interface OLAP report formatting |
US8607138B2 (en) | 1999-05-28 | 2013-12-10 | Microstrategy, Incorporated | System and method for OLAP report generation with spreadsheet report within the network user interface |
AU5399300A (en) * | 1999-06-09 | 2001-01-02 | Koninklijke Philips Electronics N.V. | Method of speech-based navigation in a communications network and of implementing a speech input possibility in private information units. |
US8130918B1 (en) | 1999-09-13 | 2012-03-06 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing |
US6964012B1 (en) | 1999-09-13 | 2005-11-08 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts |
US6850603B1 (en) * | 1999-09-13 | 2005-02-01 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services |
US6263051B1 (en) | 1999-09-13 | 2001-07-17 | Microstrategy, Inc. | System and method for voice service bureau |
US7330815B1 (en) * | 1999-10-04 | 2008-02-12 | Globalenglish Corporation | Method and system for network-based speech recognition |
US7685252B1 (en) * | 1999-10-12 | 2010-03-23 | International Business Machines Corporation | Methods and systems for multi-modal browsing and implementation of a conversational markup language |
US9076448B2 (en) * | 1999-11-12 | 2015-07-07 | Nuance Communications, Inc. | Distributed real time speech recognition system |
US6532446B1 (en) * | 1999-11-24 | 2003-03-11 | Openwave Systems Inc. | Server based speech recognition user interface for wireless devices |
US6424945B1 (en) | 1999-12-15 | 2002-07-23 | Nokia Corporation | Voice packet data network browsing for mobile terminals system and method using a dual-mode wireless connection |
US20010037287A1 (en) * | 2000-03-14 | 2001-11-01 | Broadbent David F. | Method and apparatus for an advanced speech recognition portal for a mortgage loan management system |
AU2001250050A1 (en) * | 2000-03-24 | 2001-10-08 | Eliza Corporation | Remote server object architecture for speech recognition |
US6785653B1 (en) * | 2000-05-01 | 2004-08-31 | Nuance Communications | Distributed voice web architecture and associated components and methods |
US6931376B2 (en) * | 2000-07-20 | 2005-08-16 | Microsoft Corporation | Speech-related event notification system |
US6957184B2 (en) * | 2000-07-20 | 2005-10-18 | Microsoft Corporation | Context free grammar engine for speech recognition system |
US7139709B2 (en) | 2000-07-20 | 2006-11-21 | Microsoft Corporation | Middleware layer between speech related applications and engines |
GB2365189A (en) * | 2000-07-26 | 2002-02-13 | Canon Kk | Voice-controlled machine |
TW472232B (en) * | 2000-08-11 | 2002-01-11 | Ind Tech Res Inst | Probability-base fault-tolerance natural language understanding method |
US8200485B1 (en) | 2000-08-29 | 2012-06-12 | A9.Com, Inc. | Voice interface and methods for improving recognition accuracy of voice search queries |
US7240006B1 (en) * | 2000-09-27 | 2007-07-03 | International Business Machines Corporation | Explicitly registering markup based on verbal commands and exploiting audio context |
AU2001294222A1 (en) | 2000-10-11 | 2002-04-22 | Canon Kabushiki Kaisha | Information processing device, information processing method, and storage medium |
GB0025331D0 (en) | 2000-10-16 | 2000-11-29 | Canon Kk | Control apparatus |
EP1881685B1 (en) * | 2000-12-01 | 2012-08-01 | The Trustees of Columbia University in the City of New York | A method and system for voice activating web pages |
CA2436940C (en) * | 2000-12-01 | 2010-07-06 | The Trustees Of Columbia University In The City Of New York | A method and system for voice activating web pages |
US6973429B2 (en) * | 2000-12-04 | 2005-12-06 | A9.Com, Inc. | Grammar generation for voice-based searches |
US20020077814A1 (en) * | 2000-12-18 | 2002-06-20 | Harinath Garudadri | Voice recognition system method and apparatus |
US7451075B2 (en) * | 2000-12-29 | 2008-11-11 | Microsoft Corporation | Compressed speech lexicon and method and apparatus for creating and accessing the speech lexicon |
US6658414B2 (en) * | 2001-03-06 | 2003-12-02 | Topic Radio, Inc. | Methods, systems, and computer program products for generating and providing access to end-user-definable voice portals |
US20060265397A1 (en) * | 2001-03-06 | 2006-11-23 | Knowledge Vector, Inc. | Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution |
CN101833952B (zh) | 2001-05-04 | 2013-02-13 | 微软公司 | 客户服务器系统中处理输入数据的方法 |
CN1266625C (zh) * | 2001-05-04 | 2006-07-26 | 微软公司 | 用于web启用的识别的服务器 |
CN1279465C (zh) * | 2001-05-04 | 2006-10-11 | 微软公司 | Web启用的识别体系结构 |
US7409349B2 (en) * | 2001-05-04 | 2008-08-05 | Microsoft Corporation | Servers for web enabled speech recognition |
US7610547B2 (en) * | 2001-05-04 | 2009-10-27 | Microsoft Corporation | Markup language extensions for web enabled recognition |
US20020178182A1 (en) * | 2001-05-04 | 2002-11-28 | Kuansan Wang | Markup language extensions for web enabled recognition |
US7506022B2 (en) * | 2001-05-04 | 2009-03-17 | Microsoft.Corporation | Web enabled recognition architecture |
US7366673B2 (en) * | 2001-06-15 | 2008-04-29 | International Business Machines Corporation | Selective enablement of speech recognition grammars |
CN1223984C (zh) * | 2001-06-19 | 2005-10-19 | 英特尔公司 | 基于客户机-服务器的分布式语音识别系统 |
KR20030012064A (ko) * | 2001-07-30 | 2003-02-12 | 와이더덴닷컴 주식회사 | 서버-씬 클라이언트 구성용 분산형 음성 인식 시스템 |
KR20030011459A (ko) * | 2001-08-03 | 2003-02-11 | 와이더덴닷컴 주식회사 | 분산형 멀티모달 시스템 |
DE10150108B4 (de) * | 2001-10-11 | 2004-03-11 | Siemens Ag | Fortwährende Sprecherauthentifizierung |
US8229753B2 (en) * | 2001-10-21 | 2012-07-24 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting |
US7711570B2 (en) * | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
KR100432373B1 (ko) * | 2001-11-07 | 2004-05-24 | 주식회사 아이엔커넥트 | 독립적 음성처리를 위한 음성인식 시스템 |
US20030149566A1 (en) * | 2002-01-02 | 2003-08-07 | Esther Levin | System and method for a spoken language interface to a large database of changing records |
US7188066B2 (en) * | 2002-02-04 | 2007-03-06 | Microsoft Corporation | Speech controls for use with a speech system |
US7139713B2 (en) * | 2002-02-04 | 2006-11-21 | Microsoft Corporation | Systems and methods for managing interactions from multiple speech-enabled applications |
US7167831B2 (en) * | 2002-02-04 | 2007-01-23 | Microsoft Corporation | Systems and methods for managing multiple grammars in a speech recognition system |
US8374879B2 (en) * | 2002-02-04 | 2013-02-12 | Microsoft Corporation | Systems and methods for managing interactions from multiple speech-enabled applications |
US7603627B2 (en) * | 2002-02-05 | 2009-10-13 | Microsoft Corporation | Systems and methods for creating and managing graphical user interface lists |
US7257776B2 (en) * | 2002-02-05 | 2007-08-14 | Microsoft Corporation | Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects |
US7587317B2 (en) * | 2002-02-15 | 2009-09-08 | Microsoft Corporation | Word training interface |
US6895379B2 (en) * | 2002-03-27 | 2005-05-17 | Sony Corporation | Method of and apparatus for configuring and controlling home entertainment systems through natural language and spoken commands using a natural language server |
US7398209B2 (en) * | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7502730B2 (en) * | 2002-06-14 | 2009-03-10 | Microsoft Corporation | Method and apparatus for federated understanding |
US7502610B2 (en) * | 2002-06-28 | 2009-03-10 | Qualcomm Incorporated | System and method for application management through threshold events |
US7693720B2 (en) | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
FR2848053B1 (fr) * | 2002-11-29 | 2005-04-01 | Streamwide | Procede de traitement de donnees audio sur un reseau et dispositif de mise en oeuvre de ce procede |
US20040111259A1 (en) * | 2002-12-10 | 2004-06-10 | Miller Edward S. | Speech recognition system having an application program interface |
US20040122653A1 (en) * | 2002-12-23 | 2004-06-24 | Mau Peter K.L. | Natural language interface semantic object module |
US7729913B1 (en) | 2003-03-18 | 2010-06-01 | A9.Com, Inc. | Generation and selection of voice recognition grammars for conducting database searches |
US7260535B2 (en) * | 2003-04-28 | 2007-08-21 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting for call controls |
US20040230637A1 (en) * | 2003-04-29 | 2004-11-18 | Microsoft Corporation | Application controls for speech enabled recognition |
CN1894658B (zh) | 2003-06-06 | 2012-02-29 | 纽约市哥伦比亚大学托管会 | 用于话音激活网页的系统和方法 |
CA2529040A1 (en) * | 2003-08-15 | 2005-02-24 | Silverbrook Research Pty Ltd | Improving accuracy in searching digital ink |
AU2004265700B2 (en) * | 2003-08-15 | 2008-10-02 | Silverbrook Research Pty Ltd | Natural language recognition using distributed processing |
US8311835B2 (en) | 2003-08-29 | 2012-11-13 | Microsoft Corporation | Assisted multi-modal dialogue |
US7552055B2 (en) | 2004-01-10 | 2009-06-23 | Microsoft Corporation | Dialog component re-use in recognition systems |
US8160883B2 (en) | 2004-01-10 | 2012-04-17 | Microsoft Corporation | Focus tracking in dialogs |
US7448041B2 (en) * | 2004-04-28 | 2008-11-04 | International Business Machines Corporation | Interfacing an application server to remote resources using Enterprise Java Beans as interface components |
US20060004574A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Semantic based validation information in a language model to detect recognition errors and improve dialog performance |
US7739117B2 (en) * | 2004-09-20 | 2010-06-15 | International Business Machines Corporation | Method and system for voice-enabled autofill |
US8942985B2 (en) * | 2004-11-16 | 2015-01-27 | Microsoft Corporation | Centralized method and system for clarifying voice commands |
US8024194B2 (en) * | 2004-12-08 | 2011-09-20 | Nuance Communications, Inc. | Dynamic switching between local and remote speech rendering |
US8788271B2 (en) * | 2004-12-22 | 2014-07-22 | Sap Aktiengesellschaft | Controlling user interfaces with contextual voice commands |
US8694322B2 (en) * | 2005-08-05 | 2014-04-08 | Microsoft Corporation | Selective confirmation for execution of a voice activated user interface |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7848928B2 (en) * | 2005-08-10 | 2010-12-07 | Nuance Communications, Inc. | Overriding default speech processing behavior using a default focus receiver |
US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
US20070300185A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Activity-centric adaptive user interface |
US8364514B2 (en) * | 2006-06-27 | 2013-01-29 | Microsoft Corporation | Monitoring group activities |
US7970637B2 (en) | 2006-06-27 | 2011-06-28 | Microsoft Corporation | Activity-centric granular application functionality |
US20070300225A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Coporation | Providing user information to introspection |
US20070297590A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Managing activity-centric environments via profiles |
US20070299713A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Capture of process knowledge for user activities |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US9570078B2 (en) | 2009-06-19 | 2017-02-14 | Microsoft Technology Licensing, Llc | Techniques to provide a standard interface to a speech recognition platform |
US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
US9502025B2 (en) | 2009-11-10 | 2016-11-22 | Voicebox Technologies Corporation | System and method for providing a natural language content dedication service |
US9484018B2 (en) * | 2010-11-23 | 2016-11-01 | At&T Intellectual Property I, L.P. | System and method for building and evaluating automatic speech recognition via an application programmer interface |
US8898065B2 (en) | 2011-01-07 | 2014-11-25 | Nuance Communications, Inc. | Configurable speech recognition system using multiple recognizers |
WO2014055076A1 (en) | 2012-10-04 | 2014-04-10 | Nuance Communications, Inc. | Improved hybrid controller for asr |
KR20140054643A (ko) * | 2012-10-29 | 2014-05-09 | 삼성전자주식회사 | 음성인식장치 및 음성인식방법 |
US9196250B2 (en) | 2012-11-16 | 2015-11-24 | 2236008 Ontario Inc. | Application services interface to ASR |
EP2733697A1 (en) * | 2012-11-16 | 2014-05-21 | QNX Software Systems Limited | Application services interface to ASR |
US8694305B1 (en) * | 2013-03-15 | 2014-04-08 | Ask Ziggy, Inc. | Natural language processing (NLP) portal for third party applications |
KR101505127B1 (ko) * | 2013-03-15 | 2015-03-26 | 주식회사 팬택 | 음성 명령에 의한 오브젝트 실행 장치 및 방법 |
US9690854B2 (en) | 2013-11-27 | 2017-06-27 | Nuance Communications, Inc. | Voice-enabled dialog interaction with web pages |
CN107003996A (zh) | 2014-09-16 | 2017-08-01 | 声钰科技 | 语音商务 |
WO2016044321A1 (en) | 2014-09-16 | 2016-03-24 | Min Tang | Integration of domain information into state transitions of a finite state transducer for natural language processing |
CN107003999B (zh) | 2014-10-15 | 2020-08-21 | 声钰科技 | 对用户的在先自然语言输入的后续响应的系统和方法 |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
WO2018023106A1 (en) | 2016-07-29 | 2018-02-01 | Erik SWART | System and method of disambiguating natural language processing requests |
US10971157B2 (en) | 2017-01-11 | 2021-04-06 | Nuance Communications, Inc. | Methods and apparatus for hybrid speech recognition processing |
US20200250326A1 (en) * | 2017-10-25 | 2020-08-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Operation of an Electronic Device during Maintenance |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222187A (en) * | 1989-12-29 | 1993-06-22 | Texas Instruments Incorporated | Grammar-based checksum constraints for high performance speech recognition circuit |
US5390279A (en) * | 1992-12-31 | 1995-02-14 | Apple Computer, Inc. | Partitioning speech rules by context for speech recognition |
US5448561A (en) * | 1991-09-19 | 1995-09-05 | Robert Bosch Gmbh | Method & apparatus for data exchange in data processing installations |
US5509104A (en) * | 1989-05-17 | 1996-04-16 | At&T Corp. | Speech recognition employing key word modeling and non-key word modeling |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0547903B1 (en) * | 1991-12-17 | 2001-10-31 | Texas Instruments Incorporated | Method and system for isolating data and information collection components from other components in a distributed environment |
DE69326431T2 (de) * | 1992-12-28 | 2000-02-03 | Toshiba Kawasaki Kk | Spracherkennungs-Schnittstellensystem, das als Fenstersystem und Sprach-Postsystem verwendbar ist |
GB9316948D0 (en) * | 1993-08-14 | 1993-09-29 | Ibm | Programming aid for distributed computing systems |
US5748841A (en) * | 1994-02-25 | 1998-05-05 | Morin; Philippe | Supervised contextual language acquisition system |
US5546583A (en) * | 1994-04-05 | 1996-08-13 | International Business Machines Corporation | Method and system for providing a client/server interface in a programming language |
US5668928A (en) * | 1995-01-31 | 1997-09-16 | Kor Team International, Inc. | Speech recognition system and method with automatic syntax generation |
US5774628A (en) * | 1995-04-10 | 1998-06-30 | Texas Instruments Incorporated | Speaker-independent dynamic vocabulary and grammar in speech recognition |
US5752246A (en) * | 1995-06-07 | 1998-05-12 | International Business Machines Corporation | Service agent for fulfilling requests of a web browser |
US5721908A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Computer network for WWW server data access over internet |
US5701451A (en) * | 1995-06-07 | 1997-12-23 | International Business Machines Corporation | Method for fulfilling requests of a web browser |
US5748191A (en) * | 1995-07-31 | 1998-05-05 | Microsoft Corporation | Method and system for creating voice commands using an automatically maintained log interactions performed by a user |
US5715369A (en) * | 1995-11-27 | 1998-02-03 | Microsoft Corporation | Single processor programmable speech recognition test system |
US5754774A (en) * | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
US5751956A (en) * | 1996-02-21 | 1998-05-12 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US5819220A (en) * | 1996-09-30 | 1998-10-06 | Hewlett-Packard Company | Web triggered word set boosting for speech interfaces to the world wide web |
-
1997
- 1997-10-03 US US08/943,711 patent/US6456974B1/en not_active Expired - Lifetime
-
1998
- 1998-01-05 KR KR1019980000055A patent/KR100663821B1/ko not_active IP Right Cessation
- 1998-01-05 SG SG1998000026A patent/SG72779A1/en unknown
- 1998-01-06 EP EP98300093A patent/EP0854418A3/en not_active Withdrawn
- 1998-01-06 JP JP10001106A patent/JPH10240493A/ja active Pending
- 1998-08-04 TW TW087100099A patent/TW421755B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5509104A (en) * | 1989-05-17 | 1996-04-16 | At&T Corp. | Speech recognition employing key word modeling and non-key word modeling |
US5222187A (en) * | 1989-12-29 | 1993-06-22 | Texas Instruments Incorporated | Grammar-based checksum constraints for high performance speech recognition circuit |
US5448561A (en) * | 1991-09-19 | 1995-09-05 | Robert Bosch Gmbh | Method & apparatus for data exchange in data processing installations |
US5390279A (en) * | 1992-12-31 | 1995-02-14 | Apple Computer, Inc. | Partitioning speech rules by context for speech recognition |
Non-Patent Citations (1)
Title |
---|
ICSLP''96 "Embedding Speech in WEB Interfaces" 1부. * |
Also Published As
Publication number | Publication date |
---|---|
TW421755B (en) | 2001-02-11 |
EP0854418A3 (en) | 2005-10-12 |
SG72779A1 (en) | 2000-05-23 |
KR19980070342A (ko) | 1998-10-26 |
US6456974B1 (en) | 2002-09-24 |
JPH10240493A (ja) | 1998-09-11 |
EP0854418A2 (en) | 1998-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100663821B1 (ko) | Java에음성인식능력을부가하기위한시스템및방법 | |
US6604075B1 (en) | Web-based voice dialog interface | |
US7546382B2 (en) | Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms | |
JP3432076B2 (ja) | 音声対話型ビデオスクリーン表示システム | |
US6513010B1 (en) | Method and apparatus for separating processing for language-understanding from an application and its functionality | |
US7890333B2 (en) | Using a WIKI editor to create speech-enabled applications | |
Hemphill et al. | Surfing the Web by voice | |
US5819220A (en) | Web triggered word set boosting for speech interfaces to the world wide web | |
US7640163B2 (en) | Method and system for voice activating web pages | |
US8046228B2 (en) | Voice activated hypermedia systems using grammatical metadata | |
US9083798B2 (en) | Enabling voice selection of user preferences | |
US7020841B2 (en) | System and method for generating and presenting multi-modal applications from intent-based markup scripts | |
CA2280331C (en) | Web-based platform for interactive voice response (ivr) | |
EP1482479B1 (en) | Semantic object synchronous understanding for highly interactive interface | |
US7912726B2 (en) | Method and apparatus for creation and user-customization of speech-enabled services | |
JP2003015860A (ja) | 音声対応プログラムにおける音声主導型データ選択 | |
JP2001034451A (ja) | ヒューマン−マシンダイアログ自動生成方法、システム及びその装置 | |
WO1999048088A1 (en) | Voice controlled web browser | |
GB2407657A (en) | Automatic grammar generator comprising phase chunking and morphological variation | |
AU2004201992A1 (en) | Semantic object synchronous understanding implemented with speech application language tags | |
JP2003216574A (ja) | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 | |
Hemphill et al. | Speech-aware multimedia | |
Pargellis et al. | A language for creating speech applications. | |
Nichols et al. | Voice-commanded Scripting Language for Programming Navigation Strategies on-the-fly | |
Verma et al. | SICE: An enhanced framework for design and development of speech interfaces on client environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20121129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161125 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 12 |
|
EXPY | Expiration of term |