KR20050004129A - 컴퓨터 판독가능 매체 및 대화형 사용자 인터페이스 제공방법 - Google Patents
컴퓨터 판독가능 매체 및 대화형 사용자 인터페이스 제공방법 Download PDFInfo
- Publication number
- KR20050004129A KR20050004129A KR1020040051690A KR20040051690A KR20050004129A KR 20050004129 A KR20050004129 A KR 20050004129A KR 1020040051690 A KR1020040051690 A KR 1020040051690A KR 20040051690 A KR20040051690 A KR 20040051690A KR 20050004129 A KR20050004129 A KR 20050004129A
- Authority
- KR
- South Korea
- Prior art keywords
- field
- module
- recognition
- user
- readable medium
- Prior art date
Links
- 238000011161 development Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 230000002452 interceptive effect Effects 0.000 claims abstract description 5
- 150000003839 salts Chemical class 0.000 claims abstract 10
- 230000009471 action Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 6
- 230000002123 temporal effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241001422033 Thestylus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/74—Details of telephonic subscriber devices with voice recognition means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 VoiceXML을 SALT와 같은 음성 애플리케이션 개발 도구와 결합하는 시스템 및 방법을 제공한다. 본 발명의 한 실시양상에서, VoiceXML 모듈은 VoiceXML 실행가능 명령어들을 포함한다. SALT 모듈은 VoiceXML 모듈과 연관된 명령어들을 실행시키기 위해 음성 애플리케이션 언어 태그들을 포함한다.
Description
본 발명은 음성 사용가능 애플리케이션의 프로그래밍에 관한 것이다. 더욱 구체적으로, 본 발명은 단계적 음성 마크업 언어(stepwise voice markup language) 및 객체 지향 음성 애플리케이션 확장(object oriented speech application extensions)을 결합하여 사용하는 것에 관한 것이다.
컴퓨터 사용자/인터페이스의 진보는 사용자가 음성 명령을 통해 컴퓨터와 대화할 수 있게 하였다. VoiceXML(Voice Extensible Markup Language)를 사용하는 것과 같은 음성 포털은 인터넷 컨텐트가 음성 입력을 사용하여 억세스될 수 있도록 발전되어 왔다. 이러한 아키텍처에서, 문서 서버(예를 들어, 웹 서버)는 VoiceXML 번역기(interpreter)를 통해 클라이언트로부터의 요청을 프로세스한다. 웹 서버는 VoiceXML 번역기에 의해 프로세스되어 사용자에게 들릴 수 있게 제공되는 VoiceXML 문서 및 응답을 생성할 수 있다. 음성 인식을 통한 지정된 음성 커맨드를 사용하여, 사용자는 웹을 네비게이트할 수 있고, 들릴 수 있게 제공된 데이터를 들을 수 있다.
VoiceXML 개발 언어는 저작자(author)들이 사용자와 음성 애플리케이션 간의 다이얼로그(dialog)를 통해 제어를 할 수 있도록 설계되어 있다. VoiceXML은 단계적 방법을 따르는데, 이 방법에서 애플리케이션은 다이얼로그 흐름을 제어하고, 사용자에게 문의하여, 폼(form)에 기입하거나 메뉴로부터 선택을 하게 한다. VoiceXML 애플리케이션은 데이터를 사용자에게 제공하거나 데이터를 폼에 기입하기 위해 여러 단계를 실행한다. 더욱 구체적으로, VoiceXML은 사용자와 VoiceXML 폼 또는 메뉴 사이의 상호작용을 이끌어내는 폼 번역 알고리즘을 따른다. 알고리즘은 값들이 채워질 때까지 폼 또는 메뉴를 통해 계속 루프를 돌아서, 선택이 이루어지거나, 또는 예외에 만나게 된다.
음성 사용가능 애플리케이션은 또한 SALT(Speech Application Language Tags)와 같은 마크업 언어 확장의 사용을 통해 개발될 수 있다. SALT는 퍼스널 컴퓨터, 전화, PDA(personal digital assistants) 및 기타 컴퓨팅 장치로부터 정보,애플리케이션 및 웹 서비스로의 다중 모드 및 전화통신 사용가능 억세스를 가능하게 한다. SALT는 HTML, X-HTML 및 XML과 같은 기존의 마크업 언어를 확장한다. SALT를 사용하는 다중 모드 억세스는 사용자가, 예를 들어 키보드, 음성, 마우스 및/또는 스타일러스 또는 그것의 조합을 사용하여 여러가지 서로다른 방식의 애플리케이션과 상호작용할 수 있게 한다.
VoiceXML과 대조적으로, SALT는 애플리케이션이 여러가지 객체, 트리거 및 이벤트로 구성되는 객체 지향 프로그래밍 방식에 기초를 두고 있다. 객체 지향 방식은 애플리케이션 저작자들이 사용자와 애플리케이션 간의 다이얼로그 흐름을 주문화할 수 있게 한다. 이벤트가 SALT에서 만나면, SALT 기반 애플리케이션은 그 이벤트에 기초하여 여러가지 명령을 실행한다. 이러한 방식으로, 사용자는 다이얼로그 흐름을 제어할 수 있는데, 이것은 더욱 효율적인 및/또는 자연스러운 형태의 컴퓨터 상호작용이 될 수 있다.
VoiceXML의 단계적 방식을 이용하는 애플리케이션은 SALT와 같은 음성 애플리케이션 도구에 의해 사용된 객체 지향 프로그래밍 방식에 의해 제공된 융통성을 현재 이용하지 않는다. 그 결과, VoiceXML 애플리케이션은 (사용자가 몇개의 서로다른 카테고리로부터 데이터를 요청할 수 있는) 혼합된-개시 상황, 외부 메시징, 및 강화된 호출 제어를 처리하는 어려움을 갖는다. 결과적으로, VoiceXML 내에 SALT의 프로그래밍 융통성을 제공하는 시스템 또는 방법이 바람직할 것이다.
본 발명은 단계적 명령어 실행 알고리즘 및 객체 지향 모듈을 결합하는 시스템 및 방법을 제공한다. 본 발명의 한 실시양상에서, 컴퓨터에 의해 실행가능한 프로그램은 실행 알고리즘에 기초하여 정해진 순서로 실행된 명령어들을 갖는 단계적 모듈을 포함한다. 객체 지향 모듈은 명령어들과 연관된 동작을 초기화하기 위한 일시적(temporal) 트리거들을 갖는 객체들을 포함한다.
본 발명의 다른 실시양상에서, VoiceXML 모듈은 VoiceXML 실행가능 명령어들을 포함한다. SALT 모듈은 VoiceXML 모듈과 연관된 명령어들을 실행하기 위해 음성 애플리케이션 언어 태그들을 포함한다. 또 다른 실시예에서, VoiceXML 모듈은 제1 및 제2 VoiceXML 필드를 선언하는데 사용될 수 있고, SALT 모듈은 사용자로부터 음성 입력을 얻기 위해 인식 이벤트를 초기화한다. SALT 모듈은 제1 VoiceXML 필드를 음성 입력의 제1 부분으로 채우고, 제2 VoiceXML 필드를 음성 입력의 제2 부분으로 채운다. 부수적으로, SALT 모듈은 음성 입력을 인식하는 다수의 문법을 포함하고, 입력을 특정 문법 및/또는 필드와 연관시킬 수 있다.
본 발명의 또 다른 실시양상은 대화형 사용자 인터페이스를 제공하는 방법이다. 이 방법은 정해진 순서로 명령어들을 실행하는 단계적 다이얼로그를 설정한다. 명령어들은 인식, 프롬프팅 및 메시징 중의 최소한 하나와 연관된 이벤트들을 프로세싱하는 객체들을 포함한다. 객체 지향 동작은 명령어들과 연관된 객체를 만남에 의해 실행된다. 동작은 인식, 프롬프팅 및 메시징과 연관된 다이얼로그 내의 최소한 하나의 이벤트를 제공하지만, 모든 이벤트를 제공하지는 않는다.
도 1은 단계적 모듈 및 객체 지향 모듈을 이용하는 시스템의 블록도.
도 2는 컴퓨팅 장치 조작 환경의 평면도.
도 3은 도 2의 컴퓨팅 장치의 블록도.
도 4는 전화기의 평면도.
도 5는 범용 컴퓨터의 블록도.
도 6은 클라이언트/서버 시스템의 아키텍처의 블록도.
도 7은 본 발명의 실시예에 따른 방법의 블록도.
도 8은 인식 결과 및 다수의 문법의 블록도.
도 9는 본 발명의 실시예에 따른 방법의 블록도.
도 10은 인식 결과 및 다수의 필드의 블록도.
도 11은 본 발명의 실시예에 따른 방법의 블록도.
도 12는 본 발명의 실시예에 따른 방법의 블록도.
도 13은 본 발명의 실시예에 따른 방법의 블록도.
도 14는 본 발명의 실시예에 따른 예시적인 마크업 페이지를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
12 : 단계적 모듈
14 : 객체 지향 도구 모듈
30 : 이동 장치
34 : 표시 화면
50 : CPU
60 : 통신 인터페이스
202 : 웹 서버
204 : 음성 서버
205 : 인터넷
220 : 언어 모델
350, 352 : 필드
360 : 인식 결과
도 1은 VoiceXML과 같은 단계적 언어 및 SALT와 같은 객체 지향 음성 애플리케이션 개발 도구의 사용을 결합하는 시스템(10)을 도시한 것이다. 시스템(10)은 단계적 모듈(12), 예를 들어 VoiceXML 모듈, 및 객체 지향 음성 애플리케이션 개발 도구 모듈(14), 예를 들어 SALT 모듈을 포함한다. 단계적 모듈은 실행 알고리즘이 주어지면 정해진 순서로 실행되는 명령어들을 포함한다. 객체 지향 개발 도구 모듈은 여러가지 동작을 실행하는 프로그래밍 객체를 포함한다. 여기에서 사용되는 바와 같이, VoiceXML은 W3C(World Wide Web Consortium) 후보(Candidate) 권고(Recommendation)인 음성 확장가능 마크업 언어를 칭하는 것이다. VoiceXML 버전 2.0에 대한 스펙의 사본은 www.w3.org/TR/voicexml20에서 입수될 수 있다. 부수적으로, SALT는 SALT 포럼에 의해 개발된 음성 애플리케이션 언어 태그를 칭하는 것이다. SALT 1.0 스펙의 사본은 www.SALTforum.org에서 입수가능하다. VoiceXML은 폼 번역 알고리즘에 기초하여 단계적 명령어들을 실행한다.
본 발명의 한 실시양상은 단계적 모듈(12)의 실행가능 명령어들 내에 하나 이상의 객체 지향 모듈(14)을 편입한 것을 포함한다. 객체 지향 모듈(14)은 단계적 모듈(12)의 실행 알고리즘에 의해 트리거가 만날 때 동작을 개시하는 일시적 트리거를 포함한다. 트리거는 에러, 예외, 메시지 수신, 인식 및/또는 무인식, 또는 그것의 조합과 같은 여러가지 이벤트를 포함할 수 있다. 실행되는 동작은 음성 인식, DTMF 인식, 오디오 수집, 오디오 재생 및 기타와 같은 동작을 포함한다.
단계적 모듈(12)(예를 들어, VoiceXML 모듈)의 동작 하에서 객체 지향 모듈(14)(예를 들어, SALT 태그)을 만날 때, SALT 태그와 VoiceXML 모듈(12) 사이의 상호작용은 SALT가 VoiceXML 내에서 이용될 수 있도록 정의된다. 예를 들어,SALT 태그를 사용하는 다수의 문법(grammar)에 기초하여 음성 인식을 트리거할 때, 분리된 필드 내에 각 유닛을 배치하는 것과 관련된 명령어들은 SALT 모듈이 VoiceXML 모듈에서 구체화될 수 있게 한다. SALT의 메시징 능력을 이용할 때, 메시징 명령어들은 폼 번역 알고리즘의 루프 내로 구체화된다. 객체 지향 모듈(14)을 단계적 모듈(12) 내에 구체화함으로써, 결과적으로 얻어진 애플리케이션의 기능 및 융통성은 단순히 VoiceXML과 같은 단계적 언어를 사용하여 이용할 수 있는 것보다 향상될 수 있다.
대화형 사용자 인터페이스를 제공하는 방법은 시스템(10) 내에 구체화될 수 있는 본 발명의 다른 실시양상이다. 단계적 모듈(12)은, 예를 들어 VoiceXML 폼 또는 메뉴를 통해, 정해진 순서로 명령어들을 실행하는 사용자와의 단계적 다이얼로그를 설정할 수 있다. 명령어들은 인식 프롬프팅 및/또는 메시징과 연관된 다이얼로그 이벤트를 프로세스한다. 객체 지향 모듈(14)은 인식, 프롬프팅 또는 메시징 중의 최소한 하나(그러나, 이들 전부는 아님)에 대한 다이얼로그 내에서 만날 때 (예를 들어, SALT 태그들을 실행함으로써) 객체 지향 동작을 실행한다. 한 실시예에서, 단계적 다이얼로그는 명령어들을 실행하는 VoiceXML, 및 객체 지향 동작을 실행하는 SALT 태그들을 포함한다.
음성 애플리케이션을 개발하는 시스템의 개략적인 설명이 주어지면, 그것은 상술된 시스템(10) 내에서 기능할 수 있는 컴퓨팅 장치를 일반적으로 설명하는데에 유용하게 될 수 있다. 본 분야에 숙련된 기술자들에 의해 이해되는 바와 같이, 시스템(10)의 컴포넌트들은 하나의 컴퓨터 내에 위치되거나, 또는 네트워크 접속 및프로토콜을 사용하는 분산 컴퓨팅 환경의 전역에 분산될 수 있다.
이제 도 2를 참조하면, 데이터 관리 장치(PIM, PDA 등)와 같은 예시적인 형태의 이동 장치가 참조번호(30)에 도시되어 있다. 그러나, 본 발명은 후술되는 기타 컴퓨팅 장치를 사용하여 실시될 수도 있다. 예를 들어, 전화기 및/또는 데이터 관리 장치는 또한 본 발명으로부터 이익을 얻을 것이다. 그러한 장치는 휴대형 개인 정보 관리 장치 및 기타 휴대형 전자 장치에 비해 향상된 유틸리티를 가질 것이다.
예시적인 형태의 데이터 관리 이동 장치(30)는 도 2에 도시되어 있다. 이동 장치(30)는 하우징(32)을 포함하고, 스타일러스(33)와 함께 접촉형 표시 화면을 사용하는 디스플레이(34)를 포함하는 사용자 인터페이스를 갖고 있다. 스타일러스(33)는 필드를 선택하거나, 커서의 시작 위치를 선택적으로 이동시키거나, 그렇지 않으면 제스처(gestures) 또는 수기입(handwriting)을 통해 명령 정보를 제공하기 위해, 지정된 좌표에서 디스플레이(34)를 누르거나 접촉하기 위해 사용된다. 대안적으로, 또는 부수적으로, 하나 이상의 버튼(35)이 네비게이션을 위해 장치(30) 상에 포함될 수 있다. 또한, 회전가능 휠(wheel), 롤러 등과 같은 기타 입력 메카니즘이 제공될 수도 있다. 그러나, 본 발명을 이러한 형태의 입력 메카니즘으로 한정하고자 하는 것은 아니라는 것을 알기 바란다. 예를 들어, 다른 형태의 입력은 컴퓨터 화면을 통하는 것과 같은 영상 입력을 포함할 수 있다.
이제 도 3을 참조하면, 블록도는 이동 장치(30)를 구성하는 기능적인 컴포넌트들을 도시한 것이다. 중앙 처리 장치(CPU)(50)는 소프트웨어 제어 기능을 구현한다. CPU(50)는 제어하는 소프트웨어에 따라 발생된 텍스트 및 그래픽 아이콘이 디스플레이(34) 상에 나타나도록 디스플레이(34)에 연결된다. 스피커(43)는 청취할 수 있는 출력을 제공하기 위해 디지털-아날로그 변환기(59)와 함께 전형적으로 CPU(50)에 연결될 수 있다. 사용자에 의해 이동 장치(30) 내로 입력되거나 다운로드되는 데이터는 CPU(50)에 양방향으로 연결된 비휘발성 판독/기입 랜덤 억세스 메모리 저장부(54) 내에 저장된다. 랜덤 억세스 메모리(RAM)(54)는 CPU(50)에 의해 실행되는 명령어의 휘발성 저장, 및 레지스터 값과 같은 임시 데이터의 저장을 제공한다. 컨피그레이션 옵션의 디폴트 값 및 기타 변수는 판독 전용 메모리(ROM)(58)내에 저장된다. ROM(58)은 또한 이동 장치(30)의 기본적인 기능을 제어하는 장치의 운영 체계 소프트웨어, 및 기타 운영 체계 커널 기능(예를 들어, RAM(54)내로의 소프트 컴포넌트의 로딩)을 저장하기 위해 사용될 수 있다.
RAM(54)은 또한 응용 프로그램을 저장하기 위해 사용되는 PC 상의 하드 드라이브의 기능과 유사한 방식으로 코드의 저장장치로서 기능한다. 비휘발성 메모리가 코드를 저장하기 위해 사용되었지만, 대안적으로 코드의 실행에 사용되지 않는 휘발 메모리 내에 저장될 수 있다는 것을 알기 바란다.
무선 신호는 CPU(50)에 연결되는 무선 송수신기(52)를 통해 이동 장치에 의해 송신/수신될 수 있다. 선택사양의 통신 인터페이스(60)는 또한 컴퓨터(예를 들어, 데스크탑 컴퓨터), 또는 원한다면 유선 네트워크로부터 데이터를 직접 다운로드하기 위해 제공될 수 있다. 따라서, 인터페이스(60)는 여러가지 형태의 통신 장치, 예를 들어 적외선 링크, 모뎀, 네트워크 카드 등을 포함할 수 있다.
이동 장치(30)는 마이크로폰(29)과 아날로그-디지털 변환기(A/D)(37), 및 저장부(54) 내에 저장된 선택사양의 인식 프로그램(음성, DTMF, 수기입, 제스처 또는 컴퓨터 화면)을 포함한다. 예를 들어, 장치(30) 사용자로부터의 청취가능한 정보, 명령어 또는 명령에 응답하여, 마이크로폰(29)은 A/D 변환기(37)에 의해 디지털화되는 음성 신호를 제공한다. 음성 인식 프로그램은 중간 음성 인식 결과를 얻기 위해 디지털화된 음성 신호 상에 정규화 및/또는 특징 추출 기능을 실행할 수 있다. 무선 송수신기(52) 또는 통신 인터페이스(60)를 사용하여, 음성 데이터는 도 6의 아키텍처에 도시되고 후술되는 원격 인식 서버(204)에 송신될 수 있다. 그 다음, 인식 결과는 이동 장치 상에 (예를 들어, 가시 및/또는 가청의) 표현을 하기 위해 이동 장치(30)로 복귀되고, 웹 서버(202)(도 6)로 최종 송신되는데, 웹 서버(202) 및 이동 장치(30)는 클라이언트/서버 관계로 동작한다. 유사한 프로세싱은 다른 형태의 입력에 사용될 수 있다. 예를 들어, 수기입 입력은 장치(30) 상에서 사전 프로세싱하거나 또는 하지 않고 디지털화될 수 있다. 음성 데이터와 마찬가지로, 이러한 형태의 입력은 인식을 위해 인식 서버(204)로 송신될 수 있는데, 인식 결과는 장치(30) 및/또는 웹 서버(202) 중의 최소한 하나로 복귀된다. 마찬가지로, DTMF 데이터, 제스처 데이터 및 영상 데이터는 유사하게 프로세스될 수 있다. 입력 형태에 따라, 장치(30)(및 후술되는 다른 형태의 클라이언트)는 영상 입력을 위한 카메라와 같은 필요한 하드웨어를 포함할 수 있다.
도 4는 휴대 전화기(80)의 예시적인 실시예의 평면도이다. 전화기(80)는 디스플레이(82) 및 키패드(80)를 포함한다. 일반적으로, 그외 다른 기능을 실행하는데 필요한 추가 회로가 요구될 수 있긴 하지만, 도 3의 블록도는 도 4의 전화기에 적용된다. 예를 들어, 전화기로서 동작하는데 필요한 송수신기가 도 3의 실시예에 요구될 수 있지만; 그러한 회로는 본 발명에 적절하지 않다.
상술된 휴대형 또는 이동 컴퓨팅 장치 이외에, 본 발명은 일반적인 데스크탑 컴퓨터와 같은 다양한 기타 컴퓨팅 장치와 함께 사용될 수 있다는 것을 알기 바란다. 예를 들어, 전체 알파-숫자 키보드와 같은 그외 다른 종래의 입력 장치가 조작하기 너무 곤란할 때, 본 발명은 제한된 물리적 능력을 갖는 사용자가 텍스트를 컴퓨터 또는 기타 컴퓨팅 장치 내로 입력할 수 있게 할 수 있다.
본 발명은 또한 여러가지 기타 범용 또는 전용 컴퓨팅 시스템, 환경 또는 구성과 함께 동작가능하다. 본 발명과 함께 사용하기에 적합하게 될 수 있는 널리 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 (화면이 전혀없는) 일반 전화기, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩탑 장치, 태블릿 컴퓨터, 마이크로프로세서 시스템, 마이크로프로세서 기반의 시스템, 셋탑 박스, 프로그램가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 임의의 상기 시스템 또는 장치를 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이것에 한정되지는 않는다.
다음은 도 5에 도시된 범용 컴퓨터(120)의 간략한 설명이다. 그러나, 컴퓨터(120)는 적절한 컴퓨팅 환경의 한 예일 뿐이지, 본 발명의 사용 또는 기능의 범위에 어떤 제한을 가하고자 하는 것은 아니다. 컴퓨터(120)는 도시된 컴포넌트들 중의 임의의 하나 또는 그 조합에 관련된 어떠한 종속물 또는 요구물을 갖는 것으로 해석되어서는 안된다.
본 발명은 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 국부 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다. 프로그램 및 모듈에 의해 실행된 태스크는 도면을 참조하여 후술된다. 본 분야에 숙련된 기술자들은 임의의 형태의 컴퓨터 판독가능 매체 상에 기입될 수 있는 프로세서 실행가능 명령어들로서 설명 및 도면을 구현할 수 있다.
도 5를 참조하면, 컴퓨터(120)의 컴포넌트들로는, 프로세싱 유닛(140), 시스템 메모리(150), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(140)에 연결시키는 시스템 버스(141)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(141)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 유니버설 직렬 버스(Universal Serial Bus: USB), 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도알려진 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다. 컴퓨터(120)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(120)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(120)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 한정되지 않는다.
통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 기타 전송 메카니즘과 같은 변조된 데이터 신호 내의 기타 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 하나 이상의 자체 특성 세트를 갖거나 또는 신호 내의 정보를 인코드하는 것과 같은 방식으로 변경된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, FR, 적외선 및 기타 무선매체와 같은 무선 매체를 포함하는데, 이것에 한정되는 것은 아니다. 상술된 것의 임의의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(150)는 ROM(151) 및 RAM(152) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(120) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(153; BIOS)은 일반적으로 ROM(151)에 저장된다. RAM(152)은 일반적으로 프로세싱 유닛(140)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(140)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 5는 오퍼레이팅 시스템(154), 애플리케이션 프로그램(155), 기타 프로그램 모듈(156), 및 프로그램 데이터(157)를 도시한다.
컴퓨터(120)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 5에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(161), 분리형 비휘발성 자기 디스크(172)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(171), 및 CD-ROM 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(176)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(175)가 도시되어 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크드라이브(161)는 일반적으로 인터페이스(160)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(141)에 접속되고, 자기 디스크 드라이브(171) 및 광학 디스크 드라이브(175)는 일반적으로 인터페이스(170)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(141)에 접속된다.
앞서 기술되고 도 5에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(120)를 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 5에서, 예를 들어, 하드 디스크 드라이브(161)는 오퍼레이팅 시스템(164), 애플리케이션 프로그램(165), 기타 프로그램 모듈(166), 및 프로그램 데이터(167)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(154), 애플리케이션 프로그램(155), 기타 프로그램 모듈(156), 및 프로그램 데이터(157)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(164), 애플리케이션 프로그램(165), 다른 프로그램 모듈(166), 및 프로그램 데이터(167)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다.
사용자는 마우스, 트랙볼, 또는 터치 패드와 같은 포인팅 장치(181) 및 키보드(182), 마이크로폰(183)과 같은 입력 장치를 통해 컴퓨터(120)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(180)를 통해 종종 프로세싱 유닛(140)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB) 와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(184) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(185) 등의 인터페이스를 통해 시스템 버스(141)에 접속된다. 모니터외에도, 컴퓨터는 또한 출력 주변 인터페이스(188)를 통해 접속될 수 있는 스피커(187) 및 프린터(186) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(120)는 원격 컴퓨터(194)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(194)는 퍼스널 컴퓨터, 핸드헬드(hand-held) 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며, 컴퓨터(120)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 5에 도시된 논리적 접속은 근거리 통신망(LAN; 191) 및 원거리 통신망(WAN; 193)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(120)는 네트워크 인터페이스 또는 어댑터(190)를 통해 LAN(191)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(120)는 일반적으로 인터넷 등의 WAN(193)을 통해 통신을 구축하기 위한 모뎀(192) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(192)은 사용자 입력 인터페이스(180) 또는 기타 적절한 메카니즘을 통해 시스템 버스(141)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(120)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 5는 원격 컴퓨터(194)에 상주하는 원격 애플리케이션 프로그램(195)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다.
도 6은 본 발명의 한 예시적인 환경인 웹 기반의 인식 및 데이터 렌더링의 아키텍처(200)를 도시한 것이다. 일반적으로, 웹 서버(202) 내에 저장된 정보는 (입력의 형태에 기초하여 요구되는 바와 같은 표시 화면, 마이크로폰, 카메라, 접촉식 패널 등을 갖는 기타 형태의 컴퓨팅 장치를 나타내는) 이동 장치(30) 또는 컴퓨터(120)와 같은 클라이언트(100)를 통해 억세스되거나; 또는 눌러진 키에 응답하여 전화기(80)에 의해 발생된 톤을 통해 또는 청취가능하게 정보가 요청되고, 웹서버(202)로부터의 정보가 다시 사용자에게 청취가능하게만 제공되는 전화기(80)를 통해 억세스될 수 있다.
이 실시예에서는, 아키텍처(200)가 통합되는데, 이 아키텍처에서는 정보가 클라이언트(100)를 통해 얻어지든, 음성 인식을 사용하는 전화기(80)를 통해 얻어지든 간에, 하나의 인식 서버(204)가 양쪽 동작 모드를 지원할 수 있다. 또한, 아키텍처(200)는 널리 공지된 마크업 언어(예를 들어, HTML, XHTML, cHTML, XML, WML 등)의 확장을 사용하여 동작한다. 그러므로, 웹 서버(202) 상에 저장된 정보는 또한 이들 마크업 언어로 되어 있는 널리 공지된 GUI 방법을 사용하여 억세스될 수 있다. 널리 공지된 마크업 언어의 확장을 사용함으로써, 웹 서버(202) 상에서의 저작이 더욱 용이해지고, 현재 존재하는 레가시(legacy) 애플리케이션은 또한 음성인식을 포함하도록 용이하게 수정될 수 있다.
일반적으로, 클라이언트(100)는 브라우저를 사용하여 웹 서버(202)에 의해 제공된 참조번호(206)으로 표시된 HTML 페이지, 스크립트 등을 실행한다. 음성 인식이 요구될 때, 예를 들어, 오디오 신호, 또는 오디오 신호가 상술된 바와 같이 클라이언트(100)에 의해 사전처리된 음성 특징이 디지털화될 수 있는 음성 데이터는 클라이언트(100)에 의해 제공될 수 있는 음성 인식 동안에 사용하기 위해 문법 또는 언어 모델(220)의 지시(indication)를 갖는 인식 서버(204)에 제공된다. 대안적으로, 음성 서버(204)는 언어 모델(220)을 포함할 수 있다. 인식 서버(204)의 구현은 여러가지 형태를 취할 수 있으며, 그 중의 하나가 도시되어 있는데, 일반적으로 인식기(211)를 포함한다. 인식 결과는 원하는 경우나 적절한 경우에 로컬 렌더링을 위해 클라이언트(100)에게 다시 제공된다. 원한다면, 텍스트-음성(text-to-speech) 모듈(222)은 음성으로 변환된 텍스트를 클라이언트(100)에게 제공하기 위해 사용될 수 있다. 인식 및 소정의 그래픽 사용자 인터페이스(사용된다면)를 통한 정보의 컴파일 시에, 클라이언트(100)는 필요한 경우에 그 이상의 HTML 페이지/스크립트를 더욱 프로세싱 및 수신하기 위해 정보를 웹 서버(202)에 보낸다.
도 6에 도시된 바와 같이, 클라이언트(100), 웹 서버(202) 및 인식 서버(204)는 인터넷과 같은 원거리망의 네트워크(205)를 통해 공통으로 접속되고 따로 어드레스가능하다. 그러므로, 소정의 이들 장치는 서로 물리적으로 인접하게 위치될 필요가 없다. 특히, 웹 서버(202)는 인식 서버(204)를 포함할 필요가 없다. 이러한 방식으로, 웹 서버(202)에서의 저작은 저작자가 인식 서버(204)의 복잡한 일을 알 필요없이 의도된 애플리케이션에 집중될 수 있다. 오히려, 인식 서버(204)는 독립적으로 설계되어, 네트워크(205)에 접속됨으로써, 웹 서버(202)에 더 이상의 변경을 요구하지 않고 갱신되고 향상될 수 있다. 웹 서버(202)는 또한 클라이언트측 마크업 및 스크립트를 동적으로 발생할 수 있는 저작 메카니즘을 포함할 수 있다. 또 다른 실시예에서, 웹 서버(202), 인식 서버(204) 및 클라이언트(100)는 구현하는 기계의 능력에 따라 결합될 수 있다. 예를 들어, 클라이언트(100)가 범용 컴퓨터, 예를 들어 퍼스널 컴퓨터를 포함하면, 클라이언트는 인식 서버(204)를 포함할 수 있다. 이와 마찬가지로, 원한다면, 웹 서버(202) 및 인식 서버(204)는 하나의 기계 내에 포함될 수 있다.
전화기(80)를 통한 웹 서버(202)로의 억세스는 교대로 전화기(80)를 제3자 게이트웨이(210)에 접속하는 유선 또는 무선 전화 네트워크(208)로의 전화기(80)의 접속을 포함한다. 게이트웨이(210)는 전화기(80)를 전화 음성 브라우저(212)에 접속시킨다. 전화 음성 브라우저(212)는 전화 인터페이스 및 음성 브라우저(216)를 제공하는 매체 서버(214)를 포함한다. 클라이언트(100)와 마찬가지로, 전화 음성 브라우저(212)는 웹 서버(202)로부터 HTML 페이지/스크립트 등을 수신한다. 한 실시예에서, HTML 페이지/스크립트는 클라이언트(100)에게 제공된 HTML 페이지/스크립트와 유사한 형태로 되어 있다. 이러한 방식으로, 웹 서버(202)는 클라이언트(100) 및 전화기(80)를 따로 지원할 필요가 없으며, 또는 표준 GUI 클라이언트도 따로 지원할 필요가 없다. 오히려, 공용 마크업 언어가 사용될 수 있다. 또한, 클라이언트(100)와 마찬가지로, 전화기(80)에 의해 송신된 청취가능 신호로부터의 음성 인식은, 예를 들어 TCP/IP를 사용하여, 네트워크(205)를 통하거나 전용선(207)을 통해 음성 브라우저(216)에서 인식 서버(204)로 제공된다. 웹 서버(202), 인식 서버(204) 및 전화 음성 브라우저(212)는 도 5에 도시된 범용 데스크탑 컴퓨터와 같은 소정의 적절한 컴퓨팅 환경에서 구현될 수 있다.
VoiceXML 내에 구체화된 음성 애플리케이션 개발 도구를 이용함으로써, VoiceXML 마크업 페이지의 기능은 향상된다. VoiceXML의 폼 번역 알고리즘은 대화형 음성 응답 애플리케이션용으로 설계되었지만, VoiceXML 내에서의 그외 다른 도구들의 이용은 더욱 사용자 친화적인 강건한 애플리케이션을 제공한다. 음성 애플리케이션 개발 도구를 VoiceXML 내에 구체화하기 위해, VoiceXML 명령어와 개발 도구 명령어 사이의 상호작용이 제공된다.
도 7은 본 발명의 한 실시예에 따른 방법(300)을 도시한 것이다. 방법은 VoiceXML 단계적 알고리즘이 초기화되는 단계(302)에서 시작된다. 예를 들어, 알고리즘은 각각 <form> 태그 또는 <menu> 태그를 사용함으로써 VoiceXML 마크업 페이지 내의 폼 또는 메뉴를 선언할 때 초기화될 수 있다. 알고리즘이 초기화되면, VoiceXML 페이지 내의 단계들은 소정의 조건이 부합될 때까지 연속으로 루프를 돌 수 있다. 단계(302) 다음에, 방법은 다수의 연관된 문법을 갖는 SALT 인식 이벤트가 초기화되는 단계(304)로 진행한다. SALT 인식 이벤트는 리슨(listen) 태그를 사용함으로써 트리거될 수 있다. 다수의 문법과 함께, 다수의 문법 태그는 각 문법의 사용을 개시하기 위해 사용된다. 예를 들어, 사용자 주소를 조회하는 애플리케이션에서 한 문법은 도시를 인식하는데 사용될 수 있고, 다른 문법은 주를 인식하는데 사용될 수 있다. 대안적으로, 한 문법은 카테고리를 인식할 수 있고, 또 다른 문법들은 카테고리와 연관된 서브카테고리를 인식할 수 있다.
일단 음성 및/또는 DTMF 입력의 발언(utterance)이 사용자에 의해 제공되었으면, 방법은 단계(306)으로 진행하고, 여기에서 인식 결과는 다수의 문법 중의 최소한 하나와 연관된다. 예를 들어, 다수의 카테고리(즉, 스포츠, 날씨, 주식시세, 영화, 교통) 및 다수의 서브카테고리(즉, 스포츠 카테고리에 대한 농구, 야구, 축구, 하키)를 인식하는 웰컴(welcome) 페이지를 가지면, 사용자는 인식되어 특정 문법과 연관될 카테고리들 중의 하나 또는 서브카테고리들 중의 하나를 입력할 수 있다. 일단 특정 문법과 연관되면, 사용자로부터의 입력은 음성 애플리케이션에 의해 분석되어 사용될 수 있다. 예를 들어, 사용자가 "하키"를 발언하면, 그 날의 하키 시합에서의 득점 및 하이라이트가 사용자에게 제공될 수 있다.
VoiceXML은 인식 동안에 하나의 문법만을 허용한다. 그러므로, 사용자는 관련 정보에 다가가기 위한 다수의 카테고리 및 서브카테고리를 통해 네비게이트해야 되거나, 또는 비교적 큰 문법이 사용되어야 된다. VoiceXML 명령어 내에 구체화된 SALT <listen> 태그를 사용함으로써, 음성 입력은, 예를 들어 <bind> 요소를 사용하여 특정 문법과 연관 및/또는 특정 필드와 연관될 수 있다.
도 8은 인식 결과(320) 및 다수의 문법(321 내지 324)의 블록도를 도시한 것이다. 방법(300)을 사용하면, 인식 결과(320)는 각 문법(321-324) 및/또는 각 문법(321 및 324) 내의 특정 선택 또는 헤딩과 연관될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 방법(340)을 도시한 것이다.단계(342)에서, 제1 VoiceXML 필드 및 제2 VoiceXML 필드가 선언된다. VoiceXML 필드를 선언할 때, 폼 번역 알고리즘은 인스턴스화되는데, 이것은 제1 및 제2 VoiceXML 필드가 채워질 때까지 폼 내의 VoiceXML 실행가능 명령어들을 통해 계속 루프를 돌 수 있다. 필드가 선언된 후에, 단계(344)에서, 사용자로부터 음성 입력을 얻기 위한 SALT 인식 이벤트가 초기화된다. 인식 이벤트는, 예를 들어 하나 이상의 문법 요소를 포함하는 리슨 태그를 사용함으로써 트리거될 수 있다. 사용자로부터의 음성 입력은 하나의 발언으로부터 다수의 부분을 포함할 수 있다. 단계(346)에서, 제1 VoiceXML 필드는 음성 입력의 제1 부분으로 채워지고, 제2 VoiceXML 필드는 음성 입력의 제2 부분으로 채워진다. 예를 들어, 사용자는 비행 정보를 위해 출발 도시 및 도착 도시를 입력하고자 하거나, 또는 레스토랑 정보를 위해 요리형태 및 위치를 입력할 수 있다.
도 10은 필드 및 음성 입력의 블록도를 도시한 것이다. 필드(350) 및 필드(352)는 VoiceXML 모듈에 의해 선언되고, 인식 결과(360)는 사용자로부터의 음성 입력에 기초하여 인식된다. 결과(360)는 제1 부분(362) 및 제2 부분(364)을 포함한다. 결과(360)를 사용하여, 제1 부분(362)은 필드(350) 내로 채워지고, 제2 부분(364)은 필드(352) 내로 채워진다. 그 결과, 저작자는 사용자로부터의 다수의 입력을 인식하기 위한 음성 애플리케이션을 프로그램할 수 있고, 이들을 인식 결과에 기초하여 적절한 필드 내로 배치할 수 있다.
도 11은 본 발명의 한 실시예에 따른 다른 방법(38))을 도시한 것이다. 방법(380)은 VoiceXML 실행가능 명령어를 갖는 마크업 페이지가 설정되는 단계(382)에서 시작된다. 단계(384)에서, 제1 필드 및 제2 필드가 선언된다. 제1 필드 및 제2 필드가 선언된 후, 음성 및 DTMF 입력의 발언은 사용자로부터 수신된다. 예를 들어, 사용자는 "나의 체킹(checking) 계좌에서 나의 저축 계좌로 [DTMF input]량의 달러를 이체해주세요."를 발언할 수 있다. 이 경우에, 이체될 양을 구두로 말하는 대신에, 사용자는 키패드를 사용하여 그 양을 타이핑했다. 단계(388)에서, 음성 입력은 SALT를 이용하여 인식된 다음에 제1 필드와 연관되고, DTMF 입력은 SALT를 사용하여 인식된 다음에 제2 필드와 연관된다. 예를 들어, DTMF 입력으로서 입력된 양은 양(amount) 필드 내로 들어갈 수 있고, 음성 입력은 체킹에서 저축으로의 이체와 연관될 수 있다.
도 12는 본 발명의 한 실시예에 따른 다른 방법(400)을 도시한 것이다. 방법(400)을 사용하면, 폼을 원격 서버에게 제출하거나 그렇지 않으면 또 다른 마크업 페이지를 억세스할 필요없이, 데이터를 사용자에게 제공하기 위해 실행 시간 변수가 사용될 수 있다. 단계(402)에서, 마크업 페이지는 VoiceXML 실행가능 명령어로 설정된다. 단계(404)에서, 음성 인식 결과는 사용자의 음성 입력으로부터 얻어진다. 단계(406)에서, 결과의 최소한 일부는 한 필드 내에 배치된다. 일단 결과가 필드 내에 배치되었으면, 방법은 필드를 사용자에게 제공하기 위해 마크업 페이지가 이용되는 단계(408)로 진행한다. 예를 들어, 단계(408)는 사용자에 의해 입력된 하나 이상의 필드를 확인하기 위해 사용될 수 있다. 더우기, 필드는 사용자에게 다시 플레이되는 프롬프트의 일부로서 사용될 수 있다. SALT <prompt> 태그를 사용하면, 실행 시간 변수는 원격 서버로의 왕복 주행없이 제공될 수 있다. 이러한 상황에서, 원격 서버에게 접속할 필요없이 클라이언트의 컴퓨팅 능력이 이용된다.
도 13은 본 발명의 다른 실시예에 따른 방법(402)을 도시한 것이다. 방법은 VoiceXML 실행가능 명령어를 갖는 마크업 페이지가 설정되는 단계(422)에서 시작된다. 그 다음에, 단계(424)에서, 음성 입력이 사용자로부터 얻어진다. 단계(426)에서, 음성 입력을 사용하여, 웹 서버로의 접속이 이루어지고, 메시징 이벤트가 실행된다. 예를 들어, 웹 서버는 사용자가 제공받고 싶어하는 값을 포함할 수 있다. 단계(428)에서, 메시징 이벤트로부터 수신된 정보에 기초한 결과가 사용자에게 제공된다.
도 14는 입력된 도시(city)에 기초하여 사용자에게 지프(zip) 코드를 제공하는 마크업 페이지를 도시한 것이다. 마크업 페이지(450)는 후술되는 바와 같은 SALT 태그뿐만 아니라 VoiceXML 실행가능 명령어를 포함한다. 헤딩(452)은 VoiceXML 및 SALT를 참조표시하고 VoiceXML 태그의 구분문자로서 "v:"를 설정하고 SALT 태그의 구분문자로서 "s:"를 설정하는 스키마를 포함한다. 명령어(454)는 폼 번역 알고리즘의 실행을 개시하는 VoiceXML 내의 폼을 선언한다. 그러므로, 폼 번역 알고리즘은 폼 내의 값들이 채워질 때까지 (<v:form> 태그와 </v:form> 태그 사이의 명령어를 포함하는) 폼 내의 명령어들을 실행할 수 있다. 명령어(456)는 변수 "answer"를 선언하고, 그 변수에 널(null) 값을 할당한다. 그 다음에, 폼 번역 알고리즘은 사용자를 재촉하여 도시 및 주를 입력하게 함으로써 지프코드를 알아낼 수 있도록 하기 위해 단계들을 통해 진행된다.
명령어(458)는 필드 명칭부여된 "city"를 선언한다. VoiceXML에서, 필드의 디폴트 핸들러는 인식 이벤트 시에 필드를 채울 수 있다. (SALT 또는 VoiceXML일 수 있는) 프롬프트 태그(460)는 사용자를 재촉하여 지프코드를 검색하기 위한 도시를 말하게 한다. SALT 리슨 태그(462)는 도시 이름을 인식하는 연관된 문법(464)을 갖는 인식 이벤트를 트리거한다. 다른 연관된 문법(465)은 사용자가 발언동안에 주 이름을 입력시키고자 하는 경우에 주 이름을 인식한다. 사용자가 도시로서 인식된 음성 입력을 입력시키면, 인식 이벤트는 "도시" 필드를 채운다. 사용자가 주로서 인식된 음성 입력을 입력시키면, 인식 이벤트는 "주" 필드를 채운다.
폼 번역 알고리즘은 도시 필드가 채워졌으면 명령어(466)로 진행한다. 명령어(466)는 리슨 태그(462)에 의해 초기화된 인식 이벤트 동안에 발생하는 주 문법과 연관되는 인식 이벤트 시에 채워질 수 있는 필드 명칭부여된 "주"를 선언한다. 프롬프트(468)는 사용자를 재촉하여 주를 말하게 하고, 리슨 태그(470)는 연관된 문법(472 및 474)을 갖는 인식 이벤트를 초기화한다. 문법(472)은 도시를 인식하고, 문법(474)은 주를 인식한다. 문법(472)으로, 사용자는 인식될 수 있는 다른 도시를 선택하여, 도시 필드를 채울 수 있다. 대안적으로, 사용자는 주 문법(474)과 연관되고 주 필드 내에 배치되는 주를 입력시킬 수 있다.
명령어(476)는 실제로 변수 "city" 및 "state"가 채워져 있으면 <v:filled>와 </v:filled> 태그 사이의 명령어를 실행할 수 있는 조건부 명령이다. SALT 메시징 태그(478)는 사용자에 의해 입력된 도시에 기초하여 지프 코드를 반환할 수 있는 메시징 이벤트를 초기화한다. 태그(478)는 외부 컴포넌트들과 통신하는"smex" 객체를 사용했다. SALT 파라미터 태그(480)는 도시에 기초하여 지프 코드를 검색하기 위해 억세스될 수 있는 원격 서버를 식별한다. 파라미터 태그(481)는 도시 및 주 필드를 원격 서버에 보낸다. SALT 바인드 태그(482)는 명령어(456)로 선언되는 변수 "answer(응답)"에 원격 서버로부터 수신된 지프 코드를 바인드한다. SALT 프롬프트 태그(484)는 사용자에 의해 입력된 도시 및 메시징 이벤트로부터 판정된 응답을 포함하는 출력을 제공한다.
본 발명은 객체 지향 모듈을 단계적 모듈에서 구체화함으로써, 이렇게 얻어진 애플리케이션의 기능 및 융통성은 단순히 VoiceXML과 같은 단계적 언어를 사용하여 이용할 수 있는 것보다 더욱 향상될 수 있다.
본 발명은 특정 실시에에 관련하여 설명되었지만, 본 분야에 숙련된 기술자들은 본 발명의 정신 및 범위를 벗어나지 않고서 형태 및 상세에 변경이 이루어질 수 있다는 것을 알 수 있을 것이다.
Claims (38)
- 컴퓨터 상에서 구현될 때, 컴퓨터가 정보를 프로세스하게 하는 명령어들을 갖고 있는 컴퓨터 판독가능 매체에 있어서,상기 명령어들은,실행 알고리즘에 기초하여 정해진 순서로 실행된 명령어들을 포함하는 단계적(stepwise) 모듈; 및상기 명령어들과 연관된 동작을 초기화하기 위한 일시적 트리거(temporal trigger)를 갖는 최소한 하나의 객체를 포함하는 객체 지향 모듈을 포함하는 컴퓨터 판독가능 매체.
- 제1항에 있어서, 상기 실행 알고리즘은 최소한 하나의 객체를 만날 때 상기 일시적 트리거를 자동으로 불러내는 컴퓨터 판독가능 매체.
- 제1항 또는 제2항에 있어서, 상기 단계적 모듈은 폼 번역 알고리즘(form interpretation algorithm)을 실행하는 VoiceXML 모듈인 컴퓨터 판독가능 매체.
- 제1항 내지 제3항 중의 어느 한 항에 있어서, 상기 객체 지향 모듈은 음성 애플리케이션 언어 태그들(Speech Application Language Tags)을 갖는 SALT 모듈인 컴퓨터 판독가능 매체.
- 제1항 내지 제4항 중의 어느 한 항에 있어서, 상기 일시적 트리거는 음성 인식 이벤트를 초기화하는 컴퓨터 판독가능 매체.
- 제1항 내지 제5항 중의 어느 한 항에 있어서, 상기 일시적 트리거는 DTMF 인식 이벤트를 초기화하는 컴퓨터 판독가능 매체.
- 제1항 내지 제5항 중의 어느 한 항에 있어서, 상기 일시적 트리거는 메시징(messaging) 이벤트를 초기화하는 컴퓨터 판독가능 매체.
- 제1항 내지 제5항 중의 어느 한 항에 있어서, 상기 단계적 모듈은 제1 필드 및 제2 필드를 선언하고, 상기 객체 지향 모듈은 인식 이벤트를 초기화하여, 사용자로부터 음성 입력을 얻어서, 상기 제1 필드를 상기 음성 입력의 제1 부분으로 채우고, 상기 제2 필드를 상기 음성 입력의 제2 부분으로 채우는 컴퓨터 판독가능 매체.
- 제8항에 있어서, 상기 제1 필드에 제1 문법(grammar)이 연관되고, 상기 제2 필드에 제2 문법이 연관되는 컴퓨터 판독가능 매체.
- 제1항 내지 제9항 중의 어느 한 항에 있어서, 상기 객체 지향 모듈은 다수의문법을 갖는 인식 이벤트를 초기화하여, 인식 결과를 얻고, 그 인식 결과를 상기 다수의 문법들 중의 최소한 하나와 연관시키는 컴퓨터 판독가능 매체.
- 제1항 내지 제10항 중의 어느 한 항에 있어서, 상기 단계적 모듈은 제1 필드 및 제2 필드를 선언하고, 상기 객체 지향 모듈은 인식 이벤트를 초기화하여, 사용자로부터 음성 및 DTMF 입력을 갖는 발언(utterance)를 얻고, 상기 음성 입력을 상기 제1 필드와 연관시키고, 상기 DTMF 입력을 상기 제2 필드와 연관시키는 컴퓨터 판독가능 매체.
- 제1항 내지 제11항 중의 어느 한 항에 있어서, 상기 단계적 모듈은 한 필드를 선언하고, 상기 객체 지향 모듈은 인식 이벤트를 초기화하여, 사용자로부터 인식 결과를 얻어, 상기 필드를 채우고, 그 필드를 사용자에게 제공하는 프롬프트(prompt)를 실행하는 컴퓨터 판독가능 매체.
- 제1항 내지 제12항 중의 어느 한 항에 있어서, 상기 객체 지향 모듈은 원격 애플리케이션에 접속하는 메시징 이벤트를 실행하는 컴퓨터 판독가능 매체.
- 제13항에 있어서, 상기 객체 지향 모듈은 상기 메시징 이벤트에 기초한 결과를 수신하여, 그 결과를 사용자에게 제공하는 컴퓨터 판독가능 매체.
- 제1항 내지 제14항 중의 어느 한 항에 있어서, 상기 실행 알고리즘은 동작 완료 후에 자동으로 후속 명령어로 진행하는 컴퓨터 판독가능 매체.
- 제1항 내지 제15항 중의 어느 한 항에 있어서, 상기 트리거는 에러, 예외, 인식 및 무인식의 지시(indication) 중의 하나인 컴퓨터 판독가능 매체.
- 제1항 내지 제16항 중의 어느 한 항에 있어서, 상기 트리거는 재생(playback) 명령어의 완료인 컴퓨터 판독가능 매체.
- 제1항 내지 제17항 중의 어느 한 항에 있어서, 상기 트리거는 메시지의 수신인 컴퓨터 판독가능 매체.
- 구현될 때, 컴퓨터가 정보를 프로세스하게 하는, 컴퓨터에 의해 실행가능한 마크업 페이지(markup page)를 갖는 컴퓨터 판독가능 매체에 있어서,상기 마크업 페이지는,VoiceXML 실행가능 명령어들을 갖는 VoiceXML 모듈; 및VoiceXML 모듈과 연관된 명령어들을 실행하는 음성 애플리케이션 언어 태그들을 갖는 SALT 모듈을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
- 제19항에 있어서, 상기 VoiceXML 모듈은 제1 필드 및 제2 필드를 선언하고, 상기 SALT 모듈은 인식 이벤트를 초기화하여, 사용자로부터 음성 입력을 얻고, 상기 제1 VoiceXML 필드를 상기 음성 입력의 제1 부분으로 채우고, 상기 제2 VoiceXML 필드를 상기 음성 입력의 제2 부분으로 채우는 컴퓨터 판독가능 매체.
- 제20항에 있어서, 상기 제1 VoiceXML 필드에 제1 문법이 연관되고, 상기 제2 VoiceXML 필드에 제2 문법이 연관되는 컴퓨터 판독가능 매체.
- 제19항 내지 제21항 중의 어느 한 항에 있어서, 상기 SALT 모듈은 다수의 문법을 갖는 인식 이벤트를 초기화하여, 인식 결과를 얻고, 그 인식 결과를 상기 다수의 문법들 중의 최소한 하나와 연관시키는 컴퓨터 판독가능 매체.
- 제19항에 있어서, 상기 Voice XML 모듈은 제1 필드 및 제2 필드를 선언하고, 상기 SALT 모듈은 인식 이벤트를 초기화하여, 사용자로부터 음성 및 DTMF 입력을 갖는 발언을 얻고, 상기 음성 입력을 상기 제1 필드와 연관시키고, 상기 DTMF 입력을 상기 제2 필드와 연관시키는 컴퓨터 판독가능 매체.
- 제19항에 있어서, 상기 VoiceXML 모듈은 한 필드를 선언하고, 상기 SALT 모듈은 인식 이벤트를 초기화하여, 사용자로부터 인식 결과를 얻어서, 상기 필드를 채우고, 상기 필드를 상기 사용자에게 제공하기 위해 상기 마크업 페이지 내의 프롬프트를 실행하는 컴퓨터 판독가능 매체.
- 제19항 내지 제24항 중의 어느 한 항에 있어서, 상기 SALT 모듈은 원격 애플리케이션에 접속하는 메시징 이벤트를 실행하는 컴퓨터 판독가능 매체.
- 제25항에 있어서, 상기 SALT 모듈은 메시징 이벤트에 기초한 결과를 수신하여, 그 결과를 사용자에게 제공하는 컴퓨터 판독가능 매체.
- 대화형 사용자 인터페이스를 제공하는 방법에 있어서,정해진 순서로 명령어들을 실행하는 단계적 다이얼로그(dialog)를 설정하는 단계 - 상기 명령어들은 인식, 프롬프팅 및 메시징 중의 최소한 하나와 연관된 이벤트들을 처리하는 객체들을 포함함-; 및인식, 프롬프팅 및 메시징과 연관된 상기 다이얼로그 내의 최소한 하나의 이벤트(그러나, 모든 이벤트는 아님)를 제공하기 위해 상기 명령어들과 연관된 객체를 만남에 의해 객체 지향 동작을 수행하는 단계를 포함하는 방법.
- 제27항에 있어서, 상기 객체 지향 동작은 음성 인식 이벤트인 방법.
- 제27항에 있어서, 상기 객체 지향 동작은 DTMF 인식 이벤트인 방법.
- 제27항에 있어서, 상기 단계적 다이얼로그는 VoiceXML 모듈에서 구체화되는 방법.
- 제27항에 있어서, 상기 객체 지향 동작은 SALT 모듈에서 구체화되는 방법.
- 제27항 내지 제31항 중의 어느 한 항에 있어서, 상기 단계적 다이얼로그를 설정하는 단계는 제1 필드 및 제2 필드를 선언하고, 상기 객체 지향 동작을 수행하는 단계는 사용자로부터 음성 입력을 얻어서 상기 제1 필드를 상기 음성 입력의 제1 부분으로 채우고 상기 제2 필드를 상기 음성 입력의 제2 부분으로 채우는 인식 이벤트를 포함하는 방법.
- 제32항에 있어서, 상기 동작을 수행하는 단계는 또한 상기 제1 필드와 연관된 제1 문법 및 상기 제2 필드와 연관된 제2 문법을 개시하는 방법.
- 제27항 내지 제33항 중의 어느 한 항에 있어서, 상기 동작은 다수의 문법을 갖는 인식 이벤트를 초기화하여, 인식 결과를 얻고, 그 인식 결과를 상기 다수의 문법들 중의 최소한 하나와 연관시키는 방법.
- 제27항 내지 제31항 중의 어느 한 항에 있어서, 상기 단계적 다이얼로그를설정하는 단계는 제1 필드 및 제2 필드를 선언하고, 상기 객체 지향 동작을 수행하는 단계는 사용자로부터 음성 및 DTMF 입력을 갖는 발언을 얻어서 상기 음성 입력을 상기 제1 필드와 연관시키고 상기 DTMF 입력을 상기 제2 필드와 연관시키기 위해 인식 이벤트를 초기화하는 단계를 포함하는 방법.
- 제27항 내지 제35항 중의 어느 한 항에 있어서, 상기 단계적 다이얼로그를 설정하는 단계는 한 필드를 선언하고, 상기 객체 지향 동작을 수행하는 단계는 사용자로부터 인식 결과를 얻어서 상기 필드를 채우고 그 필드를 상기 사용자에게 제공하는 프롬프트를 실행시키기 위해 인식 이벤트를 초기화하는 단계를 포함하는 방법.
- 제27항 내지 제36항 중의 어느 한 항에 있어서, 상기 동작은 원격 애플리케이션에 접속하는 메시징 이벤트인 방법.
- 제37항에 있어서, 상기 동작은 또한 상기 메시징 이벤트에 기초한 결과를 수신하고, 그 결과를 사용자에게 제공하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/613,631 US7729919B2 (en) | 2003-07-03 | 2003-07-03 | Combining use of a stepwise markup language and an object oriented development tool |
US10/613,631 | 2003-07-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050004129A true KR20050004129A (ko) | 2005-01-12 |
KR101098716B1 KR101098716B1 (ko) | 2011-12-23 |
Family
ID=33490844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040051690A KR101098716B1 (ko) | 2003-07-03 | 2004-07-02 | 컴퓨터 판독가능 매체 및 대화형 사용자 인터페이스 제공방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7729919B2 (ko) |
EP (1) | EP1501268A1 (ko) |
JP (1) | JP2005025760A (ko) |
KR (1) | KR101098716B1 (ko) |
CN (1) | CN100576171C (ko) |
AU (1) | AU2004202630A1 (ko) |
BR (1) | BRPI0402462A (ko) |
CA (1) | CA2471292C (ko) |
MX (1) | MXPA04006532A (ko) |
RU (1) | RU2379745C2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007047105A1 (en) * | 2005-10-18 | 2007-04-26 | Microsoft Corporation | Dialog authoring and execution framework |
KR101442825B1 (ko) * | 2005-03-08 | 2014-09-19 | 마이크로소프트 코포레이션 | 시멘틱-주도형 다이얼로그와 상태-주도형 다이얼로그를 혼합하기 위한 개발 프레임워크 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849892B2 (en) * | 2004-06-10 | 2014-09-30 | Verizon Patent And Licensing Inc. | Method and system for brokering messages in a distributed system |
US7986954B1 (en) | 2004-06-25 | 2011-07-26 | Nortel Networks Limited | Wireless communication network having a broadcast system for information distribution |
US7739117B2 (en) * | 2004-09-20 | 2010-06-15 | International Business Machines Corporation | Method and system for voice-enabled autofill |
US7630900B1 (en) * | 2004-12-01 | 2009-12-08 | Tellme Networks, Inc. | Method and system for selecting grammars based on geographic information associated with a caller |
US7814501B2 (en) * | 2006-03-17 | 2010-10-12 | Microsoft Corporation | Application execution in a network based environment |
US8632636B1 (en) * | 2006-07-18 | 2014-01-21 | Oral Health Technologies, LLC | Wet wiper articles and methods for cleaning removable dental appliances |
US8417529B2 (en) * | 2006-12-27 | 2013-04-09 | Nuance Communications, Inc. | System and methods for prompting user speech in multimodal devices |
US20090216534A1 (en) * | 2008-02-22 | 2009-08-27 | Prakash Somasundaram | Voice-activated emergency medical services communication and documentation system |
US8433812B2 (en) * | 2008-04-01 | 2013-04-30 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
US8255225B2 (en) | 2008-08-07 | 2012-08-28 | Vocollect Healthcare Systems, Inc. | Voice assistant system |
US20110113352A1 (en) * | 2009-11-06 | 2011-05-12 | Research In Motion Limited | Portable electronic device and method of web page rendering |
US20110109634A1 (en) * | 2009-11-06 | 2011-05-12 | Research In Motion Limited | Portable electronic device and method of information rendering on portable electronic device |
CN103577444B (zh) * | 2012-07-30 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 一种操控浏览器的方法及系统 |
US9485330B2 (en) | 2012-07-30 | 2016-11-01 | Tencent Technology (Shenzhen) Company Limited | Web browser operation method and system |
US9953646B2 (en) | 2014-09-02 | 2018-04-24 | Belleau Technologies | Method and system for dynamic speech recognition and tracking of prewritten script |
US10199041B2 (en) * | 2014-12-30 | 2019-02-05 | Honeywell International Inc. | Speech recognition systems and methods for maintenance repair and overhaul |
US11056105B2 (en) * | 2017-05-18 | 2021-07-06 | Aiqudo, Inc | Talk back from actions in applications |
US11340925B2 (en) | 2017-05-18 | 2022-05-24 | Peloton Interactive Inc. | Action recipes for a crowdsourced digital assistant system |
US10838746B2 (en) | 2017-05-18 | 2020-11-17 | Aiqudo, Inc. | Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations |
US11043206B2 (en) | 2017-05-18 | 2021-06-22 | Aiqudo, Inc. | Systems and methods for crowdsourced actions and commands |
EP3635578A4 (en) | 2017-05-18 | 2021-08-25 | Aiqudo, Inc. | SYSTEMS AND PROCEDURES FOR CRWODSOURCING ACTIONS AND COMMANDS |
US10768954B2 (en) | 2018-01-30 | 2020-09-08 | Aiqudo, Inc. | Personalized digital assistant device and related methods |
US10991369B1 (en) * | 2018-01-31 | 2021-04-27 | Progress Software Corporation | Cognitive flow |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2068883C (en) | 1990-09-19 | 2002-01-01 | Jozef Maria Karel Timmermans | Record carrier on which a main data file and a control file have been recorded, method of and device for recording the main data file and the control file, and device for reading the record carrier |
US6119151A (en) * | 1994-03-07 | 2000-09-12 | International Business Machines Corp. | System and method for efficient cache management in a distributed file system |
EP0826172A2 (en) * | 1996-03-05 | 1998-03-04 | Koninklijke Philips Electronics N.V. | Transaction system based on a bidirectional speech channel through status graph building and problem detection for thereupon providing feedback to a human user person |
US6236967B1 (en) * | 1998-06-19 | 2001-05-22 | At&T Corp. | Tone and speech recognition in communications systems |
US6246983B1 (en) * | 1998-08-05 | 2001-06-12 | Matsushita Electric Corporation Of America | Text-to-speech e-mail reader with multi-modal reply processor |
US6314402B1 (en) * | 1999-04-23 | 2001-11-06 | Nuance Communications | Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system |
US6510414B1 (en) * | 1999-10-05 | 2003-01-21 | Cisco Technology, Inc. | Speech recognition assisted data entry system and method |
US6922411B1 (en) * | 2000-09-29 | 2005-07-26 | Voxeo Corporation | Networked computer telephony system driven by web-based applications |
US7158935B1 (en) * | 2000-11-15 | 2007-01-02 | At&T Corp. | Method and system for predicting problematic situations in a automated dialog |
ES2391983T3 (es) * | 2000-12-01 | 2012-12-03 | The Trustees Of Columbia University In The City Of New York | Procedimiento y sistema para la activación por voz de páginas web |
US20030149565A1 (en) * | 2001-03-09 | 2003-08-07 | Chang Steve S. | System, method and computer program product for spelling fallback during large-scale speech recognition |
US7610547B2 (en) * | 2001-05-04 | 2009-10-27 | Microsoft Corporation | Markup language extensions for web enabled recognition |
EP1410381A4 (en) | 2001-05-04 | 2005-10-19 | Unisys Corp | DYNAMIC GENERATION OF VOICE APPLICATION INFORMATION FROM A WEB SERVER |
US20030055651A1 (en) * | 2001-08-24 | 2003-03-20 | Pfeiffer Ralf I. | System, method and computer program product for extended element types to enhance operational characteristics in a voice portal |
AR037082A1 (es) * | 2001-10-12 | 2004-10-20 | Back Office Service Solutions | Procedimiento para determinacion de caudal y corte de fluidos y caudalimetro sensor de corte empleado |
US7177814B2 (en) * | 2002-02-07 | 2007-02-13 | Sap Aktiengesellschaft | Dynamic grammar for voice-enabled applications |
US7178149B2 (en) * | 2002-04-17 | 2007-02-13 | Axeda Corporation | XML scripting of soap commands |
US7590542B2 (en) * | 2002-05-08 | 2009-09-15 | Douglas Carter Williams | Method of generating test scripts using a voice-capable markup language |
US7295984B2 (en) * | 2002-05-09 | 2007-11-13 | Qwest Communications International Inc. | Systems and methods for providing voice and data interfaces to web services-based applications |
JP3814566B2 (ja) * | 2002-06-20 | 2006-08-30 | キヤノン株式会社 | 情報処理装置、情報処理方法、制御プログラム |
US20040061717A1 (en) * | 2002-09-30 | 2004-04-01 | Menon Rama R. | Mechanism for voice-enabling legacy internet content for use with multi-modal browsers |
US7184523B2 (en) * | 2002-10-31 | 2007-02-27 | Comverse, Inc. | Voice message based applets |
US8001709B2 (en) * | 2002-12-31 | 2011-08-23 | Nvoq Incorporated | Data device to speech service bridge |
US7783475B2 (en) * | 2003-01-31 | 2010-08-24 | Comverse, Inc. | Menu-based, speech actuated system with speak-ahead capability |
-
2003
- 2003-07-03 US US10/613,631 patent/US7729919B2/en not_active Expired - Fee Related
-
2004
- 2004-06-14 CA CA2471292A patent/CA2471292C/en not_active Expired - Fee Related
- 2004-06-15 EP EP04014016A patent/EP1501268A1/en not_active Ceased
- 2004-06-16 AU AU2004202630A patent/AU2004202630A1/en not_active Abandoned
- 2004-06-29 BR BR0402462-1A patent/BRPI0402462A/pt not_active IP Right Cessation
- 2004-06-30 CN CN200410063247A patent/CN100576171C/zh not_active Expired - Fee Related
- 2004-07-01 JP JP2004195947A patent/JP2005025760A/ja active Pending
- 2004-07-02 KR KR1020040051690A patent/KR101098716B1/ko active IP Right Grant
- 2004-07-02 RU RU2004120266/09A patent/RU2379745C2/ru not_active IP Right Cessation
- 2004-07-02 MX MXPA04006532A patent/MXPA04006532A/es not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101442825B1 (ko) * | 2005-03-08 | 2014-09-19 | 마이크로소프트 코포레이션 | 시멘틱-주도형 다이얼로그와 상태-주도형 다이얼로그를 혼합하기 위한 개발 프레임워크 |
WO2007047105A1 (en) * | 2005-10-18 | 2007-04-26 | Microsoft Corporation | Dialog authoring and execution framework |
Also Published As
Publication number | Publication date |
---|---|
CN1577267A (zh) | 2005-02-09 |
KR101098716B1 (ko) | 2011-12-23 |
CA2471292A1 (en) | 2005-01-03 |
RU2004120266A (ru) | 2006-01-10 |
EP1501268A1 (en) | 2005-01-26 |
MXPA04006532A (es) | 2005-04-19 |
CN100576171C (zh) | 2009-12-30 |
US7729919B2 (en) | 2010-06-01 |
BRPI0402462A (pt) | 2005-05-24 |
AU2004202630A1 (en) | 2005-01-20 |
JP2005025760A (ja) | 2005-01-27 |
RU2379745C2 (ru) | 2010-01-20 |
CA2471292C (en) | 2012-05-15 |
US20050004800A1 (en) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101098716B1 (ko) | 컴퓨터 판독가능 매체 및 대화형 사용자 인터페이스 제공방법 | |
US7146323B2 (en) | Method and system for gathering information by voice input | |
US7650284B2 (en) | Enabling voice click in a multimodal page | |
US7409349B2 (en) | Servers for web enabled speech recognition | |
US7711570B2 (en) | Application abstraction with dialog purpose | |
US9083798B2 (en) | Enabling voice selection of user preferences | |
RU2349969C2 (ru) | Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения | |
US7962344B2 (en) | Depicting a speech user interface via graphical elements | |
US8224650B2 (en) | Web server controls for web enabled recognition and/or audible prompting | |
US7506022B2 (en) | Web enabled recognition architecture | |
US7363027B2 (en) | Sequential multimodal input | |
US7480618B2 (en) | Eliminating interference of noisy modality in a multimodal application | |
US20040230637A1 (en) | Application controls for speech enabled recognition | |
US20040025115A1 (en) | Method, terminal, browser application, and mark-up language for multimodal interaction between a user and a terminal | |
US7171361B2 (en) | Idiom handling in voice service systems | |
JP2005149484A (ja) | 逐次的なマルチモーダル入力 | |
JP2003131772A (ja) | Webで使用可能な認識のためのマークアップ言語拡張部 | |
JP2004310748A (ja) | ユーザ入力に基づくデータの提示 | |
KR20080040644A (ko) | 음성 애플리케이션 계측 및 로깅 | |
JP2003044093A (ja) | ウェブ対応音声認識用サーバの方法および記録媒体 | |
JP2003067177A (ja) | ウェブ対応認識アーキテクチャを有するシステムおよびその方法 | |
EP1209660B1 (en) | Voice navigation in web applications | |
Oria et al. | Automatic generation of speech interfaces for Web-based applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141117 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161123 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20171117 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181115 Year of fee payment: 8 |