KR101004501B1 - 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체 - Google Patents

쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR101004501B1
KR101004501B1 KR1020040014644A KR20040014644A KR101004501B1 KR 101004501 B1 KR101004501 B1 KR 101004501B1 KR 1020040014644 A KR1020040014644 A KR 1020040014644A KR 20040014644 A KR20040014644 A KR 20040014644A KR 101004501 B1 KR101004501 B1 KR 101004501B1
Authority
KR
South Korea
Prior art keywords
information
user
stored
data
rendering
Prior art date
Application number
KR1020040014644A
Other languages
English (en)
Other versions
KR20040078888A (ko
Inventor
쿠안산 왕
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20040078888A publication Critical patent/KR20040078888A/ko
Application granted granted Critical
Publication of KR101004501B1 publication Critical patent/KR101004501B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/04Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating
    • A61B18/12Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating by passing a current through the tissue to be heated, e.g. high-frequency current
    • A61B18/14Probes or electrodes therefor
    • A61B18/1477Needle-like probes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/28Surgical forceps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Abstract

주어진 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법. 이 방법은 스피치(speech)의 발언에서 제 1 객체와 제 2 객체의 식별을 포함한다. 제 1 객체와 제 2 객체는 저장된 정보에 대응하는 태그들과 관련되어 있다. 그 저장된 정보는 제 1 객체와 제 2 객체에 기초하여 선택적으로 렌더링된다.
Figure R1020040014644
객체, 데이터 프리젠테이션 시스템, 태그

Description

쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체{PRESENTATION OF DATA BASED ON USER INPUT}
도 1은 데이터 프리젠테이션 시스템의 블럭도.
도 2는 컴퓨팅 장치 오퍼레이팅 환경의 평면도.
도 3은 도 2의 컴퓨팅 장치의 블럭도.
도 4는 전화의 평면도.
도 5는 범용 컴퓨터의 블럭도.
도 6은 클라이언트/서버 시스템에 대한 아키텍쳐의 블럭도.
도 7은 스피치 인식 및 이해 모듈의 블럭도.
도 8은 데이터 렌더링(rendering) 모듈의 블럭도.
도 9는 표 내의 데이터를 렌더링하기 위한 주가들과 객체들의 표를 나타내는 도면.
도 10a-10c는 도 9의 표를 렌더링하는데 사용되는 예시적인 코드.
도 11은 표 내의 데이터를 렌더링하기 위한 운전 방향과 객체들의 표를 나타내는 도면.
도 12는 표 내의 데이터를 렌더링하기 위한 판매 데이터와 객체들의 표를 나타내는 도면.
도 13은 텍스트 문단 내의 데이터를 렌더링하기 위한 텍스트 문단과 객체들.
도 14a-14d는 도 13의 문단 안의 데이터를 렌더링 하기 위해 사용되는 예시적인 코드.
도 15는 음성메일 메시지의 내의 데이터를 렌더링하기 위해 사용되는 음성 메일 메시지와 객체들.
*도면의 주요부분에 대한 부호의 설명*
10: 데이터 프리젠테이션 시스템
12: 스피치 인터페이스 모듈
14: 스피치 인식 및 이해 모듈
16: 데이터 렌더링 모듈
18: 데이터베이스
본 발명은 컴퓨터 시스템의 정보의 액세스와 렌더링에 관한 것이다. 좀더 상세하게, 본 발명은 사용자로부터의 음성 입력에 기초한 데이터의 프리젠테이션과 관련된 것이다.
많은 컴퓨터 인터페이스(interface)들은 사용자가 반드시 컴퓨터에 의해 설정된 실행 흐름을 따르거나 컴퓨터에 의해 노출된 하나 또는 그 이상의 코맨드를 배워야 하는 컴퓨터 구동 인터페이스에 기초를 두고 있다. 바꾸어 말하면, 대부분의 컴퓨터 인터페이스는 사용자가 컴퓨터와의 상호작용하고자 하는 방식을 적용하지 않고 대신 사용자가 인터페이스의 특별한 셋트(set)를 통해 상호작용하도록 한다.
진보된 컴퓨터/사용자 인터페이스는 사용자가 음성 코맨드를 통해 컴퓨터와 상호작용 할 수 있게 한다. 음성 XML(음성 확장가능 마크업 언어)의 사용을 통한 것과 같은 음성 포털(voice portals)은 인터넷 컨텐트(content)가 음성 입력을 사용하여 액세스 되도록 진보되었다. 이 아키텍쳐에서, 한 문서 서버(document server)(예를들어, 웹(web)서버)는 음성 XML 해석기를 통해 클라이언트(client)로 부터의 요구를 처리한다. 웹서버는, 음성 XML 해석기에 의해 처리되고 사용자에게 청각적으로 렌더링하는 음성 XML 문서들과 대답들을 생성할 수 있다. 음성 인식을 통한 지정된 음성 코맨드를 사용하여, 사용자는 웹을 항해할수 있고 청각적으로 렌더링된 데이터를 들을 수 있다.
그러나, 예를 들어 운전 방향, 교통 보고서, 날씨 보고서 그리고 영화 시간표 같이, 사용자에게 데이터를 표현해주는 많은 어플리케이션(application)들은 특별히 사용자에게 친숙하지 않다. 특히, 이 어플리케이션들은 전에 렌더링된 정보의 일부나 표에 저장된 구조적인 정보의 일부를 렌더링하는 어려움을 갖고 있다. 예를 들어, 다양한 서비스들이 운전방향을 제공하고 있지만, 사용자가 철저하게 판독하거나 소정의 단계들에 의해 수행 된다. 결론적으로, 사용자들은 관련 정보를 기억하면서 모든 운전 방향을 받아 적거나 정확한 운전 방향이나 소정의 단계들을 계속해서 재생해야 할 것이다. 모든 이 두 상황은 많은 환경에서 바람직하지 않다.
따라서 좀 더 융통성 있게 데이터의 일부에 액세스하고 렌더링할 필요가 있다. 이러한 렌더링 시스템이나 방법은 사용자에게 좀 더 자연스럽기 때문에 사용하기 쉬울 것이다.
본 발명은 음성 입력을 기초로 하여 사용자에게 데이터를 렌더링하기 위한 진보된 인터페이스를 제공한다. 본 발명의 한 양상에서, 사용자에게 정보를 렌더링하는 방법은 스피치의 발언으로부터의 제 1 객체와 제 2 객체의 식별을 포함한다. 제 1 객체와 제 2 객체는 저장된 정보에 대응하는 태그들과 관련되어 있다. 저장된 정보는 제 1 객체와 제 2 객체에 기초하여 선택적으로 렌더링된다. 일 구현에서, 식별된 객체들은 정보의 선택적인 렌더링을 위한 쿼리 객체, 내비게이션 객체 및/또는 코맨드 객체가 될수 있다. 한 특정한 양상에서, 저장된 정보는 다수의 행과 다수의 열을 갖고 있는 표에 배열될수 있다. 제 1 객체는 특정 행에 관련된 정보를 포함하고 제 2 객체는 특정 열에 관련된 정보를 포함한다.
본 발명의 다른 양상에서, 사용자에게 정보의 세그먼트을 렌더링하는 방법을 제공한다. 그 세그먼트는 세그먼트의 일부에 대응하는 태그들을 포함한다. 방법은 또한 스피치의 발언으로부터 적어도 하나의 객체를 식별하는 것과 객체와 세그먼트의 일부에 대응하는 태그를 관련시키는 것을 포함한다. 그 후 태그에 대응하는 세그먼트의 일부는 렌더링된다. 또 다른 실시예에서, 세그먼트의 일부를 렌더링하기 위해, 텍스트 표준화기/분석기는 세그먼트 내에서 관련된 일부들을 식별하는데 사용될 수 있다.
본 발명은 다차원 데이터의 표현과 데이터베이스에 저장된 정보의 일부를 렌더링하는 적절한 방법을 제공한다. 사용자들에게 음성 입력에 기초하여 데이터를 표현하는 좀 더 자연스러운 인터페이스가 부여되다. 예를 들어, 한 사용자가 표 내의 각각의 셀들을 쿼리하거나 저장된 정보에 기초한 양방향 대화를 생성할 수 있다.
도 1은 음성 입력에 기초하여 데이터를 렌더링하기 위한 데이터 프리젠테이션 시스템 (10)의 블럭도이다. 시스템 (10)은 스피치 인터페이스 모듈 (12), 스피치 인식 및 이해 모듈 (14) 및 데이터 렌더링 모듈 (16)을 포함한다. 사용자는 스피치 인터페이스 모듈 (12)에 음성 쿼리 형태의 입력을 제공한다. 스피치 인터페이스 모듈 (12)은 사용자로부터의 스피치 정보를 수집하여 그 스피치 정보를 표시하는 신호를 제공한다. 입력 스피치가 스피치 인터페이스 모듈 (12)에 의해 수집되면 스피치 인식 및 이해 모듈 (14)은 스피치 인식기를 사용해 스피치를 인식하고 사용자가 시스템 (10)을 렌더링하길 원하는 정보에 관련되어 있는 키워드(key word)나 키 문구(key phrase)와 같은 객체들을 식별해낸다. 그 객체들은 데이터베이스 (18)로부터 데이터를 추출하기 위해 데이터 렌더링 모듈 (16)에 의해 사용된다. 그 관련된 정보가 데이터베이스 (18)에서 그 객체들을 사용하여 인식되면, 관련된 정보는 사용자에게 렌더링될 수 있다. 데이터 렌더링 모듈 (16)의 출력은 오디오 및/또는 비주얼 출력을 포함하는 다른 형식이 될 수 있다.
만약 음성 쿼리에 기초한 데이터의 렌더링을 위한 광범위한 설명이 주어지면 그것은 상술한 시스템 (10)에서 기능할 수 있는 일반적인 컴퓨팅 장치를 설명하기에 유용할 것이다. 이 기술에 숙련된 사람들에 의해 평가된 것처럼 시스템 (10)의 구성요소들은 단일 컴퓨터 내에 위치하거나 네트워크 접속과 프로토콜(protocol)들을 사용하는 분산된 컴퓨팅 환경에 분배될 수 있다.
도 2를 참조하면, 데이터 관리 장치(PIM, PDA 와 같은)와 같은 예시적인 형태의 모바일 장치가 30에 도시되어 있다. 그러나, 본 발명은 또한 후술되는 다른 컴퓨팅 장치에서도 사용될수 있다. 예를 들어, 전화 및/또는 데이터 관리 장치도 본 발명에서 이로울 것이다. 이런 장치들은 기존의 휴대용 개인 정보 관리 장치와 다른 휴대용 전자 장치와 비교되는 강화된 유틸리티(utility)를 가질 것이다.
예시적인 형태의 데이터 관리 모바일 장치 (30)가 도 2에 도시되어 있다. 이 모바일 장치 (30)는 하우징 (32)을 포함하고 스타일러스(stylus; 33)와 접촉하는 접촉 민감 디스플레이 스크린(screen)을 사용하는 디스플레이 (34)를 포함하는 사용자 인터페이스를 갖는다. 이 스타일러스 (33)는, 지정된 좌표에서 디스플레이 (34)를 누르거나 접촉하여 필드를 선택하거나 커서(cursor)의 시작 위치를 선택적으로 이동하거나 또는 한편으로 몸동작이나 손으로 직접 쓴 것과 같은 명령어 정보를 제공하기 위해 사용된다. 대안적으로, 또는 첨가하여, 하나 또는 그 이상의 버튼 (35)들이 내비게이션을 위해 장치 (30)에 포함될 수 있다. 게다가 회전가능한 휠,롤러들 등과 같은 다른 입력 메커니즘(mechanism)들도 제공될수 있다. 그러나 본 발명이 이런한 형태의 입력 메커니즘에 의해 제한되어지는 것이 아님을 주의해야 한다. 예를 들어, 다른 형태의 입력은 컴퓨터 비젼(vision)등과 같은 비주얼 입력을 포함할 수 있다.
도 3을 참조하면, 블럭도는 모바일 장치 (30)의 기능적인 구성요소들을 설명한다. 중앙처리장치(CPU; 50)는 소프트웨어 제어 기능들을 구현한다. CPU (50)는 제어 소프트웨어에 따라 생성된 텍스트와 그래픽 아이콘들을 디스플레이 (34)에 나타나도록 디스플레이 (34)와 연결된다. 스피커 (43)는 디지털-대-아날로그 변환기 (59)를 갖는 CPU (50)와 일반적으로 연결되어 오디오 출력을 제공할 수 있다. 사용자에 의해 모바일 장치 (30)에 다운로드 되거나 입력된 데이타는 CPU (50)에 양방향으로 연결된 비휘발성의 판독/기록 RAM 저장부 (54)에 저장 된다. RAM (54)은 CPU (50)에의해 실행되는 명령들을 위한 휘발성 저장 장치와 레지스터 값과 같은 임시 데이터를 위한 저장 장치를 제공한다. 구성 옵션을 위한 디폴트 값과 다른 변수들은 ROM (58)에 저장된다. 롬 (58)은, 또한 모바일 장치 (30)의 기본 기능들 및 다른 오퍼레이팅 커널 기능들(예를 들어, 소프트웨어 구성요소들의 RAM (54)로의 로딩)을 제어하는 장치에 대한 운영 시스템을 제어하는 데 사용될 수 있다.
RAM (54)은 또한 응용 프로그램들을 저장하는데 사용되는 PC의 하드 드라이브(hard drive)와 유사한 방법의 코드 저장 장치로서 제공된다. 비록 비휘발성의 메모리가 코드를 저장하는데 사용되지만, 대안적으로 코드의 실행을 위해 사용되지 않는 휘발성 메모리에 저장될 수 있다.
무선 신호들은 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)와 키패드(84)를 포함한다. 비록 다른 기능들을 수행하는데 필요한 추가적인 회로소자가 필요할수 있지만, 일반적으로 도 3의 블럭도는 도 4의 전화에 적용된다. 예를 들어, 전화로서 작동하기 위해 필요한 송수신기는 도 3의 실시예에서 필요하지만, 이러한 회로소자는 본 발명에는 관련된 것이 아니다.
상술한 휴대용 또는 모바일 컴퓨팅 장치들에 추가하여, 본 발명이 일반적인 데스크탑 컴퓨터와 같은 많은 다른 컴퓨팅 장치들에도 사용될 수 있다는 것을 또한 알아야 한다. 예를 들어, 본 발명은 문자 숫자식 키보드와 같은 다른 종래의 입력 장치들이 사용하기 너무 어려울 때, 제한적인 물리적 능력들을 가진 사용자가 컴퓨터나 다른 컴퓨팅 장치에 텍스트를 입력할 수 있게 할 것이다.
본 발명은 또한 다른 많은 범용 또는 특수 목적의 컴퓨팅 시스템, 환경 또는 구성으로 동작한다. 본 발명을 사용하기에 적합할수 있는 공지된 컴퓨팅 시스템, 환경 및/또는 구성 예들은 (스크린이 없는) 일반적인 전화, 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑(laptop) 장치, 테블릿(tablet) 컴퓨터, 다중처리 시스템, 마이크로프로세서 기반 시스템, 셋톱(set top) 박스, 가전제품(programmable consumer electronics), 네트워그 PC, 미니 컴퓨터, 메인프레임 컴퓨터, 상술한 임의의 시스템이나 장치들을 포함하는 분산형 컴퓨팅 환경들 같은 것은 포함하지만, 이에 한정되지 않는다.
다음은 도 5에 도시된 범용 컴퓨터 (120)의 간략한 설명이다. 그러나, 컴퓨터 (120)는 또한 적절한 컴퓨팅 환경의 일예일 뿐이며 발명의 사용과 기능의 범위로 제한하기 위해 제시된 것은 아니다. 컴퓨터 (120)가 여기에 기재된 임의의 하나 또는 그 조합에 관련된 임의의 의존성이나 요구 사항을 갖는 것으로 해석되서는 안된다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령들의 일반적인 문맥으로 설명될 수 있다. 일반적으로, 프로그램 모듈은, 특별한 태스크들을 수행하거나 특별한 추상 데이터 타입들을 구현하는 루틴(routine), 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원거리 프로세싱(processing) 장치들에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서 사용될 수 있다. 분산형 컴퓨터 환경에서, 프로그램 모듈들은 메모리 저장 장치들을 포함한 로컬 및 원거리 컴퓨터 저장 매체 모두에 위치할 수 있다. 프로그램 및 모듈에 의해 수행되는 태스크가 후술되고 참고로 도면에 도시 된다. 본 기술에 숙련된 자들은 임의의 형태의 컴퓨터가 판독가능한 매체에 기록될수 있는 프로세서 실행가능 명령으로 본 설명 및 도면을 구현할 수 있다.
도 5를 참조하면, 컴퓨터 (120)의 구성요소들은 프로세싱 유닛(140), 시스템 메모리 (150) 및 시스템 메모리를 포함한 다양한 시스템 구성요소들을 프로세싱 유닛 (140)에 연결시키는 시스템 버스 (141)를 포함할 수 있지만, 이에 한정되는 것이 아니다. 시스템 버스 (141)는 다양한 버스 구조들 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 메모리 버스나 메모리 컨트롤러를 포함하는 버스 구조의 몇가지 유형 중 임의의 것일 수 있다. 한 예로서 이런 구조들은 산업 표준 구조(ISA) 버스, 범용직렬버스(USB), 마이크로 채널 아키텍쳐(MCA)버스, 인핸스드 산업 표준 구조(EISA)버스, 비디오 전자 표준 어소시에이션(VESA) 로컬 버스 및 메자닌(Mezzanine) 버스로 알려진 주변 컴포넌트 상호접속(PCI) 버스들을 포함하지만, 이에 한정되는 것은 아니다. 컴퓨터 (120)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 판독 가능 매체는 컴퓨터 (120)에 의해 액세스 가능한 임의의 매체일 수 있으며, 휘발성과 비휘발성 매체 분리형 및 비분리형 매체를 포함한다. 한 예로, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함하지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터 등과 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성과 비휘발성, 분리형 및 비분리형 매체 모두를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, 시디롬(CD-ROM), 디지털 다용도 디스크(digital versatile disks; DVD), 또는 다른 임의의 디스크 저장 장치, 자기 카세트, 자기 테입, 자기 디스크 저장 장치 또는 다른 자기 저장 장치 또는 원하는 정보를 저장하는데 사용될수 있고 컴퓨터 (120)에 의해 액세스될 수 있는 임의의 다른 매체도 포함하지만, 이에 한정되는 것이 아니다.
통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하도록 설정되거나 변화된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의 임의의 조합이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리 (150)는 ROM (151) 및 RAM (152)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장장치 매체를 의미한다. 컴퓨터가 시동될 때, 컴퓨터 (120) 내의 구성요소들 사이의 정보 전달을 돕는 기본적인 루틴들을 포함하는 기본 입출력 시스템 (153; BIOS)은 일반적으로 ROM (151)에 저장된다. RAM (152)은 일반적으로 프로세싱 유닛 (140)에 의해 즉시 액세스 가능하고 또한 현재 동작되는 데이터 및/또는 프로그램 모듈들을 포함한다. 예로서, 도 5는 운영시스템 (154), 어플리케이션 프로그램 (155), 다른 프로그램 모듈 (156) 및 프로그램 데이터 (157)를 도시한다.
컴퓨터 (120)는 또한 다른 분리형/비분리형 휘발성/비휘발성 컴퓨터 저장 매체를 또한 포함한다. 한 예로, 도 5에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브 (161), 분리형 비휘발성 자기 디스크 (172)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브 (171) 및 CD-ROM또는 기타 광학 매체와 같은 분리형 비휘발성 광학 디스크 (176)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브 (175)가 도시되어 있다. 예시적인 운영 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD(digital versatile disks), 디지털 비디오 테이프, 반도체 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 copy)들임을 나타내기 위해 다른 번호들를 부여하였다.
사용자는 마우스(mouse), 트랙볼(trackball) 또는 터치패드(touch-pad)와 같은 포인팅 장치 (181), 키보드 (182) 및 마이크로폰 (183)과 같은 입력 장치를 이용해 컴퓨터 (120)에 코맨드 또는 정보를 입력할 수있다. (도시되지 않은) 기타 입력 장치들에는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이러한 그리고 다른 입력 장치들은 종종 시스템 버스에 연결된 사용자 입력 인터페이스 (180)를 통해 프로세싱 유닛 (140)에 연결되지만 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB) 등과 같은 기타 인터페이스 및 버스 구조에 의해 연결될 수 있다. 모니터 (184) 또는 다른 형태의 디스플레이 장치는 또한 비디오 인터페이스 (185)와 같은 인터페이스를 통해서 시스템버스 (141)에 연결된다. 모니터 외에도, 컴퓨터들은 출력 주변 장치 인터페이스 (188)를 통해 연결될 수 있는 스피커 (187)와 프린터 (186)와 같은 기타 주변 출력 장치들을 포함할 수 있다.
컴퓨터 (120)는 원거리 컴퓨터 (194)와 같은 하나 또는 그 이상의 원거리 컴퓨터들과의 논리적 연결을 사용하여 네트워크 환경에서 작동할 수 있다. 원거리 컴퓨터 (194)는 개인용 컴퓨터, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 장치 또는 기타 공통 네트워크 노드(node)일 수 있고, 일반적으로 컴퓨터 (120)와 관련하여 상술한 많은 또는 모든 구성요소들을 포함한다. 도 5에 도시된 논리적인 연결은 근거리통신망(LAN; 191) 및 원거리통신망 (WAN; 193)을 포함하지만 또한 그 외의 네트워크를 포함할 수 있다. 이런 네트워킹 환경들은 대부분 사무실, 기업 광역 컴퓨터 네트워크, 인트라넷(intranet) 및 인터넷들에서 일반적이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터 (120)는 네트워크 인터페이스나 어뎁터 (190)를 통해 LAN (191)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터 (120)는 일반적으로 인터넷과 같은 WAN (193)을 통해 통신을 구축하기 위한 모뎀 (192) 또는 다른 수단들을 포함한다. 내장형이나 외장형이 될수 있는 모뎀 (192)은 사용자 입력 인터페이스 (180)나 다른 적절한 매커니즘을 통해서 시스템 버스 (141)에 연결될 수 있다. 네트워크 환경에서, 컴퓨터 (120)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원거리 메모리 저장 장치에 저장될 수 있다. 예로서(한정되는 것은 아님), 도 5는, 원거리 컴퓨터 (194) 상에 상주하는 원거리 어플리케이션 프로그램 (195)을 도시한다. 도시된 네크워크 연결들은 예시적인 것이며 실제로는 컴퓨터들 간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다.
도 6은 본 발명의 예시적인 환경인 웹 기반 인식과 데이터 렌더링을 위한 아키텍쳐 (200)를 도시한다. 웹서버 (202)에 저장된 정보는, 모바일 장치 (30)나 컴퓨터 (120)와 같은 클라이언트 (100)(여기서는 입력 형태에 기초한 요구에 따라 디스플레이 스크린, 마이크로 폰, 카메라, 접촉식 패널(touch sensitive panel) 등과 같은 다른 형식의 컴퓨팅 장치를 나타낸다) 또는 정보들이 청각적으로나 키를 누름으로서 전화 (80)에 의해 발생되는 소리를 통해 요구되고 웹서버 (202)로 부터의 정보가 오직 청각적으로 사용자에게 제공되는 전화를 통해 액세스될 수 있다.
이 구현에서, 정보가 클라이언트 (100)및 스피치 인식을 사용하는 전화 (80) 중 어느 것을 통해 얻어지더라도 단일 인식 서버(204)가 어느 쪽의 동작 모드를 각 두 형태의 일을 지원할 수 있다는 점에서 아키텍쳐 (200)는 통합된다. 게다가 아키텍쳐 (200)는 알려진 마크업 언어(well-known mark-up languages)(예를 들어, 하이퍼 텍스트 생성 언어(HTML),확장성 하이퍼텍스트 생성 언어(XHTML), 컴팩트 하이퍼텍스트 생성 언어(cHTML), 확장성 생성 언어(XML),무선 마크업 언어(WML) 등)의 확장을 사용하여 동작한다. 그러므로 웹서버 (202)에 저장된 정보는 또한 이런 마크업 언어들에 근거한 잘 알려진 그래픽 사용자 인터페이스(GUL)방법을 이용해 액세 스될 수 있다. 잘 알려진 마크업 언어들의 확장을 사용하여 웹서버 (202)에서의 오서링(authoring)이 쉬워지고 현존하는 레거시 어플리케이션(legacy application)은 또한 음성인식을 포함 하도록 쉽게 변경될 수 있다.
일반적으로 클라이언트 (100)는, 일반적으로 206에 지시되고, 브라우져를 사용해서 웹서버 (202)에 의해 제공되는 HTML 페이지들, 스크립트 등을 실행한다. 예를 들어, 음성인식이 필요하면, 오디오 신호 - 오디오 신호는 위에서 설명한 것과 같이 클라이언트 (100)에 의해 사전 처리되었음 - 나 음성 특징들이 디지털화 될수 있는 스피치 데이터들은 문법 또는 언어 모델 (220)의 표시와 함께 인식 서버 (204)에 제공되어 클라이언트 (100)에 제공될수 있는 음성 인식 하는 동안 사용 되도록 한다. 대안적으로, 스피치 서버 (204)는 언어 모델 (220)을 포함할 수 있다. 인식 서버 (204)의 구현은 많은 형태들을 취할 수 있고, 그 중 하나가 도시되었지만 일반적으로 인식기 (21)를 포함한다. 만약 요구되고 적절하다면 인식의 결과들은 로컬 렌더링을 위해 클라이언트 (100)에게 다시 제공된다. 만약 요구되면, 텍스트-대-언어 모듈 (222)은 클라이언트 (100)에게 구두의 텍스트(spoken text)를 제공하기위해 사용될 수 있다. 인식과 임의 그래픽 사용자 인터페이스를 통한 정보의 컴파일시에 ,만약 필요하면, 클라이언트 (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)의 유선 또는 무선 전화 네트워크 (208)로의 연결을 포함하고, 유선 또는 무선 전화 네트워크는 전화 (80)를 제3자 게이트웨이(third party gateway: 210)에 연결시킨다. 게이트웨이 (210)는 전화 (80)를 전화 음성 브라우져 (212)에 연결시킨다. 전화 음성 브라우져 (212)는 전화 인터페이스를 제공하는 매체 서버 (214)와 음성 브라우져 (216)를 포함한다. 클라이언트 (100)와 같이, 전화 음성 브라우져 (212)는 웹서버 (202)로부터 HTML 페이지/스크립트 등을 수신한다. 한 구현에서, HTML 페이지/스크립트들은 클라이언트 (100)에 제공되는 HTML 페이지/스크립트들과 유사한 형태이다. 이와 같은 방법에서 웹서버 (202)는 클라이언트 (100)와 전화 (80)를 개별적으로 지원할 필요가 없으며 또한 표준 GUI 클라이언트들도 개별적으로 지원할 필요 없다. 게다가 공통 마크업 언어가 사용될 수 있다. 추가적으로 클라이언트 (100)와 같이, 전화 (80)에 의해 전송되는 오디오 신호들로부터의 음성 인식은 음성 브라우져 (216)에서부터 인식서버 (204)로 네트워크 (205)나, 예를 들어 TCP/IP를 사용하는 전용선 (207)을 통해서 제공된다. 웹서버 (202), 인식 서버 (204) 및 전화 음성 브라우져 (212)는 도 5에 도시된 범용 데스크탑 컴퓨터와 같은 임의의 적절한 컴퓨팅 환경에서도 구현될 수 있다.
시스템 (10)에서 기능하는 다양한 환경들과 아키텍쳐들이 설명되어 왔던 것과 같이 시스템 (10)의 여러 구성요소와 기능들의 상세한 설명이 제공된다. 도 7은 스피치 인식 및 이해 모듈 (14)의 블럭도를 도시한다. 스피치 인터페이스 모듈 (12)로부터 수신된 입력 스피치는 스피치 인식 및 이해 모듈 (14)로 전송된다. 스피치 인식 및 이해 모듈 (14)은 언어 모듈 (310)에 연결된 인식 엔진 (306)을 포함한다. 인식 엔진 (306)은 언어 모듈 (310)을 사용하여 각각의 입력을 표현하기 위해 가능한 표면 의미 구조(surface semantic structures)를 식별한다. 인식 엔진 (306)은 입력 스피치에 기초한 적어도 하나의 표면 의미 결과 객체를 제공한다. 구현에서, 인식 엔진 (306)은 각각의 대안적인 구조에 대한 하나 이상의 대안적인 표면 의미 객체를 제공할 수 있다.
비록 도 7 에서는 스피치 입력이 제공되었지만, 본 발명에는 손으로 쓴 것의 인식, 몸동작 인식 또는 그래픽 사용자 인터페이스가 사용될 수 있다(사용자는 키 보드나 다른 입력 장치와 상호작용한다). 다른 구현에서는, 본 기술에서 알려진 것과 같이 적절한 인식 엔진이 스피치 인식기 (306)를 대신할 수 있다. 그래픽 사용자 인터페이스를 위해, (언어 모델을 갖고 있는) 문법은 박스와 같이 사용자 입력과 관련되어 있다. 따라서 사용자의 입력은 일관적인 방식으로 입력 방법에 기초한 특별한 수정 없이 처리된다.
스피치와 손으로 쓴 것과 같은 언어 기반 사용자 입력을 위해, 인식 엔진 (306)에 의해 사용되는 언어 모델 (310)은 알려진 확률론적인 모델의 집합 중 임의의 것일 수 있다. 예를 들어, 언어 모델은 입력에서 N 개의 선행 단어들의 그룹이 주어지는 언어에서의 단어의 확률(probability)을 모델링하는 N-gram 모델일 수 있다. 언어 모델은 또한 의미 및/또는 구문론 정보와 특별 단어와 문구를 연결하는 문맥 자유 문법이 될 수 있다. 본 발명의 또 다른 구현에서, 통합된 언어 모델은 N-gram 언어 모델과 문맥 자유 문법을 결합시키는데 사용된다. 이 통합된 모델에서 의미론의 및/또는 구문론 토큰들은 단어에 대한 배치 값으로서 취급되고 단어 및 토큰들의 각각의 가설된 조합을 위해 N-gram 확률이 계산된다.
언어 모델 (310)은 거기에 제공되는 객체들의 기능과 같이 데이터 렌더링 모델 (16)을 위해 필요한 정보에 기초하여 계층 표면 의미 구조를 생성하여 관련 정보가 제공된 객체로서 기능하도록 렌더링할 수 있다. 일 구현에서, 입력 스피치는 입력 텍스트 내의 다양한 의미 토큰들이나 객체들을 식별하기 위해 분석된다. 그 객체들은 언어 모델 (310) 내에서 탐색되는 객체들의 세트로부터 식별된다. 일반적으로, 객체들은 정보를 렌더링 하기 위해 데이터 렌더링 모델 (16)에 의해 사용된 정보를 나타낸다. 후술하는 바와 같이, 객체들은 쿼리 객체, 내비게이션 객체 및/또는 코맨드 객체들을 포함할 수 있다. 쿼리 객체는 데이터베이스 (18)에 저장되어있는 정보에 속한 정보를 포함한다. 코맨드 객체들이 저장된 정보를 기초로 다양한 코맨드들을 수행할 수 있는 동안에 내비게이션 객체들은 저장된 정보를 통해 네비게이트 하기 위해 사용되는 정보를 포함한다.
스피치 인식 및 이해 모델 (14)은 또한 입력 스피치 내의 객체들을 식별하기 위해 대안적인 문구들을 인식하기 위해 스타일 제어(style control; 312)를 사용할 수도 있다. 스타일 제어 (312)는 데이터 렌더링 모듈 (16)에게 관련 객체들을 제공하는 것을 돕기 위해 언어 모델 (310)과 연결되어있다. 도 6에서 도시된 환경에서, 스타일 제어 (312)에 속한 정보는 워싱톤 레드몬드의 마이크로소프트사에 의한 ASP.NET과 같은 오서링툴을 사용해서 어플리케이션 프로그래머에 의해 웹서버 (202)에서 구현될 수 있다. 대안적으로, 자바 서버 페이지(JSP), 자바 2 엔터프라이즈 에디션(J2EE),자바 2 스텐다드 에디션(J2SE) 또는 자바 2 마이크로 에디션(J2ME)과 같은 다른 오서링툴도 사용될 수 있다. 예를 들어 문구 "다음 회전까지의 거리는 얼마인가요?(What is the distance until my next turn?)"는 문구 "다음 회전까지 얼마나 먼가요?(How far is it until my next turn?)"로 스타일화될 수 있다. 추가적으로, "다음 회전에 대한 방향은 어느쪽 인가요?(What is the orientation for my next turn?)"는 "다음 회전은 어떤 길 인가요?(Which way is my next turn?)" 또는 "다음의 회전은 어느 방향을 향하는가?(Towards which direction is my next turn?)"로 고쳐질 수 있다. 그러므로 스타일 제어 (312)는 데이터베이스 (18) 내에 있는 관련 데이터를 식별하고 또한 적절한 응답을 식별하여 사용자에게 제공하는데 사용될 수 있다.
언어 모델이 인식하지 못하는 스피치를 사용자가 제공하였을때, 시스템은 사용자에게 입력을 다시해 달라고 촉구한다. 그러나 만약 시스템이 입력의 의미론적인 정보에 기초하여 입력에 관련된 정보를 갖고 있지 않거나 그것이 부족하면 시스템은 사용자에게 가능한 옵션들을 알리는 적절한 도움 루틴을 실행할 수 있다.
도 8은 데이터 렌더링 모듈 (16)의 자세한 블럭 다이어그램을 도시한 것이다. 데이터 렌더링 모듈 (16)은 명령어 연산자 모듈 (602), 텍스트 분석기/표준화기 모듈 (604), 데이터베이스 인터페이스 모듈 (606), 응답 생성기 모듈 (607), 오디오 인터페이스 모듈 (608), 비주얼 인터페이스 모듈 (610) 및 텍스트-대-스피치 모듈 (612)을 포함한다. 데이터 렌더링 모듈 (16)은 스피치 인식 및 이해 모듈 (14)로부터 객체들을 받고 사용자에게 관련 정보의 (청각적인 그리고/또는 시각적인) 출력물을 제공한다. 앞에서 언급했던 것과 같이, 키워드나 키문구들은 스피치 인식 및 이해 모듈 (14)에서 식별되고 그것의 함수로서 객체를 제공한다. 데이터 렌더링 모듈 (16)은 데이터베이스 인터페이스 (606)를 사용해서 데이터베이스 (18)로부터 데이터를 검색 및/또는 추출하기 위해 스피치 인식 및 이해 모듈 (14)로부터 받은 객체들을 해석한다. 데이터베이스 인터페이스 (606)는 데이터베이스 (18)에 저장된 데이터의 구조 또는 스키마(schema)에 관한 정보를 포함한다. 데이터베이스 인터페이스 (606)는 예를 들면 로컬 컴퓨터나 원거리 통신망을 통해 배치 된 웹서버같은 다양한 다른 소스로부터의 데이터에 액세스할 수 있는 범용 모듈일 수 있다는 점에 주목할 가치가 있다. 관련 정보를 추출하기 위해, 데이터 렌더링 모듈 (16)은 스피치 인식 및 이해 모듈 (14)로부터 받은 객체들과 데이터베이스 (18)에 저장된 정보에 대응하는 태그들 또는 식별자들을 관련시킨다.
어떤 경우에는, 데이터베이스 (18)에 저장되어 있는 데이터들은 이미 데이터베이스(18) 내의 정보의 정보 형식이나 구조에 대응하는 각종 태그나 식별자들을 포함하고 있다. 다른 예에서, 텍스트 분석기/표준화기 (604)는 태그를 생성하거나 아니면 데이타에 있는 관련 정보를 식별하는 데 사용될 수 있다. 사용자에게 관련 정보가 렌더링 되기 전에 데이터의 추가적인 처리가 수행될 수 있다. 예를 들어 명령어 연산자 (602)는 받아진 객체들에 기초하여 데이터베이스 (18)로부터 받아진 데이터들의 다양한 조합들을 처리하기 위해 사용될 수 있다.
관련 정보가 사용자의 요구에 따라 처리되면 데이터는 응답 생성기 (607)로 보내진다. 응답 생성기 (607)는 사용자에 의해 제공된 입력에 알맞는 응답을 만들어낼 수 있다. 이어서 응답 생성기 (607)는 그러고나서 사용자에게 렌더링되기 위해 데이터를 오디오 인터페이스 (608) 및/또는 비주얼 인터페이스 (610)에게 보낸다. 오디오 인터페이스 (608) 안에 있는 텍스트-대-스피치 모듈 (612)은 데이터를 청각적으로 렌더링시키는 데 사용될 수 있다.
도 9는 질의들을 통해 선택적으로 사용자에게 렌더링될 수 있는 데이터베이스 (18)에 있는 표 (650)를 개략적으로 나타낸다. 표 (650)는 여러 회사들의 2002년 각 분기말의 마감 주가를 보여준다. 표 (650)는 행 (652)에 회사 이름들을 저장하고, 열 (654)에 2002년의 각 분기를 그리고 그 (656) 행과 열들에 주가를 저장했다. 표 (650)와 연결된 태그들은 행과 열들에 대응한다. 쿼리 객체들 (660)과 내비게이션 객체 (662)들은 표 (650)의 데이터를 렌더링하기 위해 언어 모델 (310)에 의해 정의된다.
표 (650)의 데이터를 선택적으로 렌더링하기 위해, 사용자는 쿼리 객체 (660) 및/또는 내비게이션 객체 (662)들이 포함된 쿼리를 제공한다. 쿼리는 관련 쿼리와 내비게이션 객체들을 식별하기 위해서 인식 및 이해 모듈 (14)에 의해 해석된다. 그러고나서 객체들은 행과 열에 대응하는 태그들과 연결된다.
쿼리 객체 (660)는 표 (650)의 특정 셀(cell)로부터의 정보를 렌더링하기 위해 사용될 수 있다. 예를 들어, 음성 쿼리 "마이크로소프트의 2분기의 마감 주가는 얼마였나? (What was the closing stock price of Microsoft in the second quarter?)"가 있을 수 있다. 이 경우에, 스피치 이해 모듈 (14)은 쿼리 객체 "마이크로소프트(Microsoft)"와 "2분기(quarter2)"를 데이터 렌더링 모듈 (16)에 제공한다. 이 객체들을 사용하여, 데이터 렌더링 모듈 (16)은 렌더링되는 알맞은 셀(표 (650)에서 음영 셀로 도시)을 결정하기 위해 이 객체들과 데이터베이스 (18)의 태그들을 관련시킨다. 이 경우에서, "마이크로소프트(Microsoft)"는 객체 <회사이름(company name)>에 관한 정보를 갖고 있는 쿼리 객체이고, "2분기(qurter 2)"는 객체 <분기(quarter)> 관한 정보를 갖고 있는 쿼리 객체이다.
"마이크로소프트(Microsoft)"는 "MSFT"로 표시되어있는 행에 대응하는 태그와 연결되어 있고 "2분기(quarter 2)"는 "Q2"로 표시되어 있는 열에 대응하는 태그와 연결되어 있다. 객체들과 알맞은 태그들을 연결시킨 후, 주가 "54.12"는 응답 생성기 (607)에 제공된다. 응답은 관련 정보를 사용해 생성될 수 있고 오디오 인터페이스 (608) 및/또는 비주얼 인터페이스 (610)를 사용해서 사용자에게 렌더링될 수 있다. 예를 들어, 렌더링된 응답은 "마이크로소프트의 2분기의 마감 주가는 54달러 12센트였다. (The closing stock price for Micro soft in the second quarter was fifty four dollars and twelve cents.)"가 될 수 있다.
이 예에서, 응답 생성기 (607)는 값 "54.12"를 받고 그 값을 검색된 데이터의 렌더링을 위해 저장된 문맥과 결합하여 사용한다. 이 예에서, 저장된 문맥은 "<회사이름>의 <분기> 마감 주가는 <결과>이었다. (The closing stock price for <company name> in the <quarter> was <result>)"이고, 여기서 <분기>와 <결과>는 또한 표준화되어 있다. 검색된 데이터의 렌더링을 위해 사용되는 문맥은 필요에 따라 그리고/또는 객체들의 함수로서 필요한 데이터에 대한 태그나 식별자와 개별적으로 연결될 수 있다. 만약 시각적인 출력이 제공되면, 응답 생성기 (607)는 검색된 데이터를 어떻게 시각적으로 볼 수 있는지에 대한 지시를 제공할 수 있다.
추가적으로, 쿼리 객체 (660)는 전체 행이나 전체 열을 렌더링할 객체들을 포함할 수 있다. 예를 들어, 사용자는 "마이크로 소프트사의 2002년도 모든 분기의 마감 주가가 얼마인가? (What are the closing stock prices for Microsoft in all the quarters of 2002?)"라고 물어볼 수 있다. 이 경우에, 데이터 렌더링 모듈 (16)은 사용자에게 2002년 마이크로소프트의 주가에 대한 값 각각을 렌더링할 것이다.
내비게이션 객체 (662)는 사용자가 표의 위치에 관련해 표 (650)를 내비게이트 하는 데 사용하도록 사용될 수 있다. 예를 들어, 마이크로소프트의 2분기의 마감 주가를 물은 후에, 사용자는 "마이크로소프트사의 다음 분기의 마감 주가는 얼마인가? (What is the closing stock price for Microsoft in the next quarter?)"라고 물을 수 있다. 이 경우에, 스피치 인식 및 이해 모듈 (14)은 객체 "마이크로소프트사"와 객체 "다음 분기"를 식별할 것이다. 이 객체들은 행 "마이크로소프트사"와 그 다음 열의 태그, 예를 들어 열 "Q3"과 연결될 것이다. 결과적으로, 행 마이크로소프트의 다음 분기의 데이터가 렌더링될 것이다.
다양한 스피치 어플리케이션 프로그램 인터페이스들이 본 발명을 구현하는 데 사용될 수 있다. 이러한 한 인터페이스의 예는 워싱턴 레드몬드의 마이크로소프트사가 개발한 SAPI이다. 게다가 본 발명은 스피치 어플리케이션 언어 태그(SALT)와 같은 마크업 언어 확장을 사용해 구현될 수 있다. SALT는 예를 들어 개인용 컴퓨터, 전화, 테블릿 PC 그리고 무선 모바일 장치의 정보, 어플리케이션 및 웹 사비스들에 액세스할 수 있게 하는 개발 표준이다. SALT는 HTML, XHTML 및 XML과 같은 현존하는 마크업 언어들을 확장한다. SALT 1.0의 사양서는 온라인으로 http://www.SALTforum.org에서 찾을 수 있다. SALT는, 예를 들면 스피치 서버 (204)로부터, 사용자의 입력에 기초하여 시맨틱 정보를 제공할 수 있으며, 이러한 정보는 데이터 렌더링 모듈 (16)에 제공되는 객체들을 형성한다는 점에 주목해야 한다. 후술한 것과 같이, SALT 확장이나 그와 비슷한 확장의 사용은 선택적으로 데이터를 렌더링하기 위해 이벤트 구동 사용자 상호작용(event driven user interface)을 지원해 준다.
도 10a-10c는 위에서 설명된것과 같이 표 (650)의 데이터를 렌더링 하기 위해 SALT을 사용한 예시적인 XML 코드를 제공한다. 도 10a에서 도시된 것과 같이, 코드는 헤더부 (670), 데이터부 (672) 및 입력부 (674)를 포함한다. 헤더부 (670)는 웹 페이지나 어플리케이션의 구성요소들을 초기화하고 설정하기 위한 다양한 정보들을 포함한다. 데이터부 (672)는 다양한 태그들과 함께 표 (650)의 데이터를 나타낸다. 예를 들어, 데이터부 (672)는 행을 나타내는 <company>를 위한 태그 (676)와, <name>을 위한 태그 (677)와 <Q2>를 위한 태그 (678)를 통합하며, <name>과 <Q1><Q2>등은 열을 나타낸다. 비록 여기에 보여진 데이터부 (672)는 렌더링될 정보를 포함하지만, 데이터부 (672)는, 예를 들면 유니폼 리소스 로케이터(URL)을 사용해서, 정보를 갖고 있는 다른 위치로의 링크를 포함할 수 있다. 입력부 (674)는 사용자로부터의 예상되는 다양한 입력들을 정의하고 있다.
도 10b는 표 (650)의 데이터 렌더링을 위한 코드가 계속되고 있다. 도 10b에서 다양한 스피치 어플리케이션 태그들이 태그 "SALT"과 함께 표시되어 있다. 예를 들면, 태그들은 "청취(listen)" 태그 (680), "문법(grammer)" 태그 (682) 및 "프롬프트(prompt)" 태그 (684와 686)를 포함한다. 청취 태그 (680)는 스피치 입력에 사용된다. 청취 태그는 스피치 인식기를 구성하고, 인식을 실행하고 스피치 입력 이벤트를 처리한다. 문법태그 (682)는 인식에 사용되는 문법을 특정하는 데 사용된다. 이런 방법으로, 문법태그 (682)는 언어 모델을 식별한다. 이 예에서, 문법의 규칙 부분 (688)은 표 (650)의 다양한 회사 이름에 대해 정의되고, 규칙 부분 (690)은 표 (650)의 각각의 분기들을 위해 정의되어 있다. 프롬프트 태그 (684와 686)는 시스템 출력, 즉, 상술한 바와 같은 문맥을 특정하는데 사용된다. 프롬프트 태그들은 간단한 텍스트, 스피치 출력 마크업, 변수 값들, 오디오 파일로의 링크 또는 그것들의 조합이 될 수 있다. 함수들 및/또는 스크립팅(scripting) 방법들은 또한 아래에 설명된 것처럼 검색된 데이터를 포맷하는데 사용될 수 있다. 프롬프트 (684)는 사용자의 요구에 기초하여 응답을 생성하고 도 8에 도시된 응답 생성기 (607)로서 동작한다. 프롬프트 (686)는 사용자에게 쿼리를 입력하라고 요구한다.
도 10c는 도 10b로 부터의 코드를 연속하고, 사용자의 음성 쿼리에 의거한 관련 정보들의 렌더링을 위한 스크립트(692)를 포함한다. 스크립트(692)는 렌더링될 관련 셀을 식별하고 식별된 객체와 데이터부(672)의 데이터에 대응되는 객체들과 태그들 사이의 관련에 기초한 렌더링을 위해 프롬프트 (684)를 호출한다. 이 예는 또한 이벤팅 지원 및 삽입된 스크립트 호스팅을 설명하고, 객체들의 인식과 식별시에 함수가 스크립트부 (692)에서 호출되고 실행되어 데이터를 선택적으로 렌더링한다.
데이터 렌더링 모듈 (16)은 또한 컴퓨터와 사용자 사이의 대화 생성에 특히 유용하다. 대화는 특히 사용자가 요구에 관해 데이터베이스에 저장된 정보의 일부분을 검색하기를 원하는 시나리오에 유용하다. 한 이런 시나리오는 운전 방향의 렌더링이다. 도 11은 샘플 운전 방향을 포함하는 표 (700)를 나타낸다. 표 (700)는 복수의 행 (702)과 복수의 열 (704)을 배열한 것이다. 각각의 행 (702)이 운전 방향에서의 회전을 나타내는 반면, 각각의 열 (704)은 각각의 회전에 대한 특정 정보를 나타낸다. 706에 표시된 추가적인 정보가 또한 표 (700)에 관련된다. 추가적인 정보 (706)는 총 주행 값을 나타내지만 다른 정보나 다른 정보로의 링크를 포함할 수 있다. 한 구현에서, 은행과 레스토랑 같은 근처의 사업들에 관련된 정보가 제공된다. 복수의 쿼리 객체들 (708)과 많은 내비게이션 객체들 (710)이 또한 표 (700)에 관련되어 있다.
사용자에게 운전 방향들을 렌더링할 때, 데이터 렌더링 모듈 (16)은 제 1 행 회전의 정보를 렌더링하도록 디폴트(default) 할 수도 있다. 데이터 렌더링 모듈 (16)은 제 1 회전의 모두 또는 일부를 사용자에게 렌더링하도록 프로그램될 수 있다. 예를 들어, 제 1 행의 방향에 대한 정보가 주어지면, 응답 생성기(607)는 "0.5마일 가서 콘코드가에서 좌회전 하시오.(Take a left on Concord Avenue for a distance of 0.5 miles.)"라고 청각적으로 사용자에게 렌더링할 수 있다. 사용자는 그럼 "무엇이 내가 찾아야할 표지판인가요? (What is the sign post I should look for?)"라고 회전에 관한 또 다른 정보를 요구할 수 있다. 대안적으로, 사용자는 회전의 일부를 재요구할 수 있다. 예를 들어, 사용자는 "어떤 방향으로 턴을 하나요? (What direction do I turn?)"이라고 물을 수 있다. 이 경우에, 방향 객체는 현재의 방향, 즉, "왼쪽(left)" 방향을 위한 태그와 관련될 수 있다. 데이터 렌더링 모듈 (16)은 표 (700)으로부터 관련된 정보를 검색하고 "왼쪽(left)"이 제 1 행과 제 1 열로부터 얻어진 "좌회전 하세요. (Take a left)"와 같은 적절한 응답을 렌더링한다. 사용자가 다음 회전을 듣고 싶을 때, 사용자는 "다음 턴은 무엇인가요? (What is the next turn?)"와 같은 쿼리를 제공할수 있다.
내비게이션 객체들 (710)을 사용해서, 데이터 렌더링 모듈 (16)은 현재 위치에 관련된 회전에 관련한 정보를 렌더링할 수 있다. 예를 들어, 사용자는 "다음 회전의 거리 이름이 무엇인가요? (What is the street name for the next turn?)"이라고 물을 수 있다. 표 (700)에서 그것의 현재 위치가 주어진 내비게이션 객체 "다음(next)"은 다음 회전(즉, 행)을 위한 태그와 연결될 것이며 거리 이름의 쿼리 객체는 적절한 열과 관련되고 관련 정보가 렌더링될 것이다.
어느 때나, 사용자는 대응하는 객체를 제공하는 적절한 쿼리를 사용해 표 (700)의 임의의 부분에 액세스할 수 있다. 게다가, 사용자는 <총(total)> 객체와 관련된 적절한 쿼리로 총 거리와 대략적인 주행 시간 (706)을 액세스할 수 있다. 대안적으로, 쿼리는 현재 위치와 사용자로부터의 입력에 입각한 새로운 운전 방향의 세트를 요구할 수도 있다. 예를 들어, 사용자는 "나를 가장 가까운 멕시코 음식점에 데려다 주세요. (Please take me to the closest Mexican restaurant.)"라고 말할 수도 있다. 이 입력은 현재 위치와 가장 가까운 멕시코 음식점의 주소를 제공하는 데이터를 기초하여 새로운 운전방향 세트를 생성하기 위한 것으로 해석될 것이다. 따라서, 운전 방향과 관련된 언어 모델은 이 정보에 기초한 다양한 쿼리, 내비게이션 또는 명령 객체들을 인식하고 만약 필요하다면 원거리 정보를 액세스하는데 사용될 원거리 데이터베이스 내에 포함된 새로운 데이터를 획득하는 코드, 즉, 스크립트를 실행하기 위해 확장될 수 있다. 시스템은 또한 새로운 데이터를 선택적으로 렌더링하기 위해 새로운 언어 모델을 획득할 수도 있다. 일 구현에서, 예를 들어, 마크업 페이지나 다른 코드로부터 렌더링된 (즉, 표(700)) 이전의 데이터는 표시된 현재의 위치와 함께 저장되어 새로운 정보의 렌더링의 완료시, 시스템은 그 현재 위치로부터 이전의 정보(즉, 표(700))를 렌더링하기 위해 리턴될 수 있다.
데이터 렌더링 모듈 (16)은 특정 코맨드들을 수행하는데 또한 사용된다. 도 12는 개략적으로 각각 2001과 2002년 제품에 대한 판매 데이터를 포함하고 있는 표 (750과 752)의 데이터를 도시한다. 위에서 설명된 것과 같이 각각의 셀들을 쿼리하고 표를 통해 내비게이션하는 것 외에, 사용자는 설명된 정보를 렌더링하기 위해 표 (750과 752) 내의 데이터를 처리하는 코맨드들을 사용해서 정보를 요구할 수 있다. 쿼리 객체 (760), 내비게이션 객체 (762) 및 코맨드 객체 (764)는 모두 표 (750과 752)로부터의 데이터를 렌더링할 때 사용된다. 코맨드 객체 (764)를 사용해서, 사용자는 표 (750과 752)의 정보에 기초한 관련 정보를 선택적으로 렌더링할 수 있으며 그 정보에 기초하여 코맨드를 실행할 수 있다.
예를 들어, <비교(compare)>객체를 사용할 때, 사용자는 "2001년과 2002년의 분기의 부품 1001의 판매 데이터를 주세요. (Please give me the sales data for part 1001 in quarter one of 2001 and quarter one of 2002)"라고 물을 수 있다. 이 쿼리를 통해, 데이터 렌더링 모듈 (16)은 값 "$3048.26"과 "$4125.06"을 추가적인 문맥과 함께 또는 없이 선택적으로 렌더링할 것이다. 일 구현에서, 그 값들은 청각적으로 렌더링될뿐만 아니라 사용자에 의한 쉬운 비교를 위해 차례 차례적인 관계로 디스플레이될 수 있다.
명령 객체들 (764)을 사용하여 코맨드 연산자 (602)는 사용자로부터의 요구에 의거하여 데이터를 또한 계산한다. 예를 들어, 사용자가 "부품 1001의 2002년 1분기와 2분기의 판매를 더해주세요. (Please add the sales for part 1001 in quarter one of year 2002 and quarter two of year 2002.)"라고 물으면 이 코맨드는 또한 사용자 입력으로부터 식별되는 <더하기(add)> 객체를 사용한다. 이런 경우에, 데이터베이스 인터페이스 (606)는 관련된 2002년 분기의 부품 1001에 대한 정보의 값을 추출하고 관련 데이터를 코맨드 연산자 (602)에 보낸다. 명령어 연산자 (602)는 그 후 각각의 값들을 모두 더하고 그 결과를 오디오 인터페이스 (608) 및/또는 비주얼 인터페이스 (610)를 사용해 데이터를 렌더링하는 응답 생성기 (607)에게 보낸다. 명령어 연산자 (602)는 또한 두개 이상의 값, 예를 들어 전체 행의 정보를 더할 수 있다. 다른 코맨드들은 또한 특정 어플리케이션에 따라 사용될 수 있다. 예를 들어, <빼기(subtract)>와 <퍼센트(percent)>는 두개 또는 그 이상의 데이터 값에 기초한 데이터들을 렌더링할 수 있다.
데이터 렌더링 모듈 (16)은 또한 구조화되지 않은 데이터, 예를 들어 데이터베이스 (18)에서 가청 파일로서 발산될 수 있는 텍스트 문단이나 손으로 직접 쓴 입력들을 적절한 변환으로 선택적으로 렌더링할 수 있다. 도 13은 주가 시황 요약에 관련된 텍스트의 문단 (800)을 도시한 것이다. 쿼리 객체들 (802)과 내비게이션 객체들 (804)은 사용자로부터의 음성 입력에 기초하여 문단 (800)을 선택적으로 렌더링하기 위해 정의된 것이다. 문단 (800)을 선택적으로 렌더링하기 위해서, 다양한 태그들은 문단 (800) 내의 관련된 정보와 대응해야 한다. 일 구현에서, 텍스트 표준화기/분석기 (604)는 문단 (800)의 관련된 부분들을 식별하고 관련된 부분들에 기초하여 다양한 태그들을 생성하는데 사용된다. 예를 들어, 표준화기/분석기 (604)는 (위에서 설명된 표의 행들과 유사한) 문장, 숫자, 회사이름, 등을 식별할 수 있다. 프로세싱에는 데이터 일부에 대한 의미론적인 정보의 확인을 포함할 수 있다.
문단 (800)이 관련 태그들을 식별하기 위해 사전처리되면, 문단 (800)은 렌더링될 수 있다. 처음에 데이터 렌더링 모듈 (16)이 텍스트의 첫번째 문장을 렌더링하기 시작한다. 사용자가 침묵하거나 "다음(next)" 내비게이션 객체를 인식하면 데이터 렌더링 모듈은 다음 문장을 렌더링하기 시작한다.
또한 사용자는 문단 (800)의 렌더링된 특정 부분을 갖기를 요구할수도 있다. 예를 들어, 사용자는 "마지막 주식의 색인은 무엇인가? (What was the last stock index?)" 같은 쿼리를 사용하여 반복되는 마지막 주가의 색인을 요구할 수 있다. <주가 색인(stock index)> 객체가 스피치 인식 및 이해 모듈 (14)에 의해 식별되면, 데이터 렌더링 모듈 (16)은 이 객체를 문단 (800)에 있는 태그와 관련시킨다. 예를 들어, 문단 (800)의 첫번째 문장이 렌더링되고 나서, 데이터 렌더링 모듈 (16)은 주가 색인 객체를 "스텐다드 앤드 푸어스는 500 주가 색인이다. (Standard and Poor's five hundred Stock Index.)" 에 대응하는 태그에 관련시킨다. 그러므로 정보의 세그먼트(즉, 문장)가 렌더링된 후에 그 단편의 일부는 사용자로부터의 음성 입력에 기초하여 렌더링된다. 어떤 문단의 임의의 부분이 원하는 정보에 접속하기 위해 대응하는 객체를 제공하는 적절한 쿼리를 사용하여 검색될 수 있다. 구조화되지 않은 데이터를 처리하고 사용자가 쿼리, 내비게이션 및 코맨드를 제공하는 것을 가능하게 하는 이 기술은 완벽한 신문, 잡지 또는 다른 정보의 자원들을 렌더링하기 위해 쉽게 확장될 수 있다. 이런 기술은 정보를 렌더링하기 위해 정의된 계층적인 구조(예, 신문의 스포츠난, 사업난, 수도권난 등)가 보충될 수 있다. 그럼에도 불구하고, 그 기술은 사용자로부터 제공된 객체들을 확인하며, 그런 객체들을 사용하여 정보를 선택적으로 렌더링하는 것을 포함한다.
도 14a-14d는 문단 (800)을 렌더링하기 위한 SALT를 갖는 예시적인 XML 코드를 도시했다. 도 14a를 참조하면 헤더부 (810)와 데이터부 (812)가 도시되었다. 헤더부 (810)는 문서를 초기화하기 위한 데이터를 포함한다. 데이터부 (812)는 텍스트 표준화기/분석기 (604)를 사용해 분석되고 표준화된 후의 문단 (800)을 도시한다. 도시된 바와 같이, <문장(sentence)>,<엔티티 이름 = "주가 색인"(entity name = "stock index")> 및 <엔티티 이름 = "숫자"(entity name = "number")>과 같은 다양한 태그들은 문단 (800)의 일부에 관련된다.
코드는 다양한 스피치 어플리케이션 언어 태그들이 도식되어있는 도 14b에 계속된다. 예를 들어, 코드는 청취 태그 (814), 문법 태그 (816) 그리고 프롬프트 태그 (818과 820)를 포함한다. 청취 태그 (814)는 스피치 인식기를 초기화하고 사용자의 음성 입력 내의 객체들을 식별하기 시작한다. 문법 태그 (816)는 이 경우 내비게이션 규칙 (820)과 쿼리 규칙 (822)을 정의하는 언어 모델을 초기화한다.
도 14c는 도 14b의 코드를 연속해서 도식하였다. 스크립트 태그 (826)는 코드의 스크립트 부분의 시작을 식별한다. 스크립트 부분은 데이터 렌더링 모듈 (16)을 연산하기 위한 다양한 기능들을 의미한다. 실행 코맨드 기능 (828)은 내비게이션이나 쿼리 코맨드들을 인식하고 인식된 객체들에 기초하여 필요한 기능들을 호출한다. 초기화 기능 (830)은 시작부터 문단 (800)을 플레이(play)하기 시작한다. 후진 기능 (832)과 후진 기능 (834)은 각각 한 문장 뒤로 이동하고 한문장 다음으로 이동하기 위해 제공된다. 도 14d에서 아이템 추출 기능 (836)은 사용자의 음성 입력에 기초하여 문단 (800)으로부터 관련 정보를 추출해 낸다. 예를 들면, 디스플레이 (836)는 문단 (800)을 스크린에 디스플레이한다.
위에서 지시한 것과 같이, 데이터 렌더링 모듈 (16)은 또한 다른 형태의 구조화되지 않은 텍스트를 렌더링하는데 사용된다. 예를 들어, 도 15는 음성메일 메시지 (840)를 도시한다. 객체 (842)는 메시지의 일부들을 렌더링하기 위해 사용된다. 음성 메일 메시지 (840)의 일부를 렌더링하기 위해 데이터베이스 인터페이스 (606; 도 8)는 음성 메일 메시지 (840)를 텍스트로 변환하는 스피치 인식기를 의미한다. 그 메시지가 텍스트로 변환되고나면, 텍스트 표준화기/분석기 (604)는 음성 메일 메시지의 관련 일부들을 식별하는데 사용된다. 예를 들어, 텍스트 표준화기/분석기 (604)는 사람, 메시지의 주제 및/또는 전화번호와 같은 숫자들을 식별한다. 태그들은 문단 (800)에 대한 위에서 설명된 것과 유사한 식별에 기초하여 생성된다. 음성 메일 메시지나 음성 메일 메시지의 일부가 렌더링된 후, 사용자는 관련된 부분들이 반복되는 것을 요구할 수 있다. 예를 들어, 도 15의 음성 메일 메시지에서, 사용자는 전화번호나 메시지의 주제가 반복되는 것을 요구할수 있다. 객체 (842)를 사용하여, 데이터 렌더링 모듈 (16)은 객체들을 음성 메일 메시지 (840)의 데이터에 대응하는 태그들과 관련시킨다. 그리고 요구된 데이터가 렌더링된다.
또다른 구현으로, 대다수의 음성 메일 메시지는 내비게이션 객체들을 사용하는 각각의 메시지로의 선택적인 접속을 제공하기 위해 처리될 수 있다. 코맨드 객체들은 메시지(즉, 전화번호)의 정보를 사용하거나 전화 번호를 갖는 사람들의 목록과 같은 다른 정보에 접속함으로써 리턴콜(return call) 등을 나타내는데 사용된다. 다른 예로서, 도 11의 운전 방향 예를 고려하여, 근방 상점들에 속한 정보들은 또한 원거리 정보 기억장치 및/또는 원거리 어플리케이션으로부터 액세스 될 수있다.
비록 본 발명은 특별한 구현들의 참조로 설명되었지만 기술에 능숙한 자들은 변화들이 발명의 정신과 영역으로부터 벗어남 없이 형식과 세부 만들었다는 것을 인식할 것이다.
상술한 바와 같이, 본 발명에 따르면, 음성 입력을 기초로 하여 사용자에게 데이터를 렌더링하기 위한 진보된 인터페이스를 제공할 수 있다.

Claims (25)

  1. 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법에 있어서,
    문서 내의 데이터를 사용자에게 렌더링하는 단계;
    상기 쿼리로부터 제1 객체와 제2 객체를 식별하는 단계;
    상기 문서의 텍스트와 관련된 시맨틱 태그(semantic tag)들을 식별하기 위해 상기 문서를 액세스하는 단계;
    상기 제1 객체를 상기 문서 내의 저장된 텍스트의 제1 부분에 대응되는 제1 시맨틱 태그와 관련시키고, 상기 제2 객체를 상기 문서 내의 저장된 텍스트의 제2 부분에 대응되는 제2 시맨틱 태그와 관련시키는 단계 -저장된 텍스트의 상기 제1 부분 또는 상기 제2 부분 중 적어도 하나는 렌더링된 상기 문서 내의 데이터와 관련됨-;
    상기 제1 부분 및 상기 제2 부분 모두와 관련된, 저장된 텍스트의 제3 부분을 식별하는 단계; 및
    저장된 텍스트의 상기 제3 부분을 선택적으로 청각적으로(audibly) 렌더링하는 단계
    를 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  2. 제1항에 있어서,
    상기 제1 객체와 상기 제2 객체 중 적어도 하나는 저장된 텍스트에 대응하는 태그에 관한 정보를 포함하는 쿼리 객체인, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  3. 제1항에 있어서,
    상기 제1 객체와 상기 제2 객체 중 적어도 하나는 상기 저장된 텍스트 내에서 내비게이트(navigate)하기 위한 정보를 포함하는 내비게이션 객체인, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  4. 제1항에 있어서,
    상기 제1 객체와 상기 제2 객체 중 적어도 하나는 상기 저장된 텍스트에 대해 선택된 코맨드(command)를 수행하기 위한 정보를 포함하는 코맨드 객체인, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 객체와 상기 제2 객체를 식별하는 단계는, 상기 제1 객체와 상기 제2 객체를 식별하기 위해 언어 모델을 사용하는 단계를 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  6. 제5항에 있어서,
    상기 제1 객체와 상기 제2 객체를 식별하는 단계는, 상기 제1 객체와 상기 제2 객체에 대한 대안적인(alternative) 문구들을 인식하기 위해 스타일 제어를 사용하는 단계를 더 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 저장된 텍스트는 다차원 구조에 배열되고, 상기 제1 객체와 상기 제2 객체 중 적어도 하나는 상기 다차원 구조에서 적어도 하나의 차원에 대응하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  8. 제7항에 있어서,
    상기 다차원 구조는 다수의 행과 다수의 열을 포함하는 표이고, 상기 제1 객체는 특정한 행에 관한 정보를 포함하고 상기 제2 객체는 특정한 열에 관한 정보를 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  9. 제1항 내지 제4항 중 어느 한 항에 있어서,
    저장된 텍스트의 상기 제3 부분을 선택적으로 청각적으로 렌더링하는 단계는 스크립트를 실행하여 상기 제3 부분을 청각적으로 렌더링하는 단계를 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  10. 제1항 내지 제4항 중 어느 한 항에 있어서,
    저장된 텍스트의 상기 제3 부분을 선택적으로 청각적으로 렌더링하는 단계는 상기 제1 객체 및 상기 제2 객체에 기초한 저장된 문맥(context)과 결합하여 상기 제3 부분을 청각적으로 렌더링하는 단계를 포함하는, 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법.
  11. 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법에 있어서,
    사용자에게 텍스트의 세그먼트를 청각적으로 렌더링하는 단계 - 상기 세그먼트는 상기 세그먼트의 부분들에 대응하는 시맨틱 태그들을 포함함 - ;
    텍스트의 세그먼트가 청각적으로 렌더링되는 동안 상기 사용자로부터 음성 쿼리를 수신하고 상기 쿼리로부터 적어도 하나의 시맨틱 객체를 식별하는 단계;
    상기 적어도 하나의 시맨틱 객체를, 청각적으로 렌더링된 상기 세그먼트의 상기 텍스트의 부분에 대응하는 시맨틱 태그와 관련시키는 단계; 및
    상기 시맨틱 태그에 대응하는 세그먼트 내의 상기 텍스트의 상기 부분을 청각적으로 렌더링하는 단계
    를 포함하는, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법.
  12. 제11항에 있어서,
    상기 세그먼트를 분석하여 상기 세그먼트 내의 관련된 정보의 태그들을 식별하는 단계를 더 포함하는, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 텍스트의 세그먼트는 문장이고 상기 태그들은 상기 문장 내의 데이터에 대응하는, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법.
  14. 제11항 또는 제12항에 있어서,
    상기 텍스트의 세그먼트는 행이고 상기 태그들은 상기 행 내의 열들에 대응하는, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법.
  15. 제11항 또는 제12항에 있어서,
    상기 세그먼트 내의 상기 텍스트의 부분들을 청각적으로 렌더링하는 단계는 스크립트를 실행하는 단계를 포함하는, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법.
  16. 사용자에게 정보를 제공하는 방법에 있어서,
    사용자 음성 쿼리로부터 제1 객체, 제2 객체 및 코맨드 객체를 식별하는 단계;
    저장된 정보를 액세스하여 상기 제1 객체와 상기 제2 객체를 저장된 정보의 제1 부분과 저장된 정보의 제2 부분에 대응하는 태그들과 관련시키는 단계; 및
    상기 사용자 음성 쿼리로부터 식별된 상기 코맨드 객체와 관련된 데이터 조작(data operation)에 기초하여 상기 저장된 정보의 상기 제1 부분 및 제2 부분들과 관련된 값들의 함수(function)로서 데이터 출력을 생성하는 단계 - 상기 데이터 출력은 상기 저장된 정보에서 직접 발견되지 않음 -; 및
    상기 생성된 데이터 출력을 청각적으로 렌더링하는 단계
    를 포함하는, 사용자에게 정보를 제공하는 방법.
  17. 제16항에 있어서,
    상기 데이터 조작은 상기 제1 부분과 상기 제2 부분을 더하는 것을 포함하는, 사용자에게 정보를 제공하는 방법.
  18. 제16항에 있어서,
    상기 데이터 조작은 상기 제2 부분으로부터 상기 제1 부분을 빼는 것을 포함하는, 사용자에게 정보를 제공하는 방법.
  19. 제16항에 있어서,
    상기 데이터 조작은 상기 제1 부분 및 상기 제2 부분에 기초하여 퍼센트를 계산하는 것을 포함하는, 사용자에게 정보를 제공하는 방법.
  20. 제16항에 있어서,
    상기 관련시키는 단계는,
    저장된 정보의 상기 제1 부분 및 상기 제2 부분을 포함하는 복수의 저장된 정보를 포함하는 데이터베이스를 액세스하는 단계를 포함하고, 상기 복수의 저장된 정보는 상기 데이터베이스 내의 관계형 표(relational table)에 저장된 값들을 포함하고, 상기 태그들은 상기 표의 열 및 행들에 대응하는, 사용자에게 정보를 제공하는 방법.
  21. 제20항에 있어서,
    저장된 정보의 상기 제1 부분 및 상기 제2 부분은 상기 표에 저장된 제1 수치 값(numerical value) 및 제2 수치 값을 포함하고, 상기 데이터 조작은 결과적인 수치 값을 형성하기 위해 상기 제1 수치 값 및 상기 제2 수치 값으로 수행되는 수학적 연산을 포함하는, 사용자에게 정보를 제공하는 방법.
  22. 제21항에 있어서,
    상기 생성된 데이터 출력을 청각적으로 렌더링하는 단계는 상기 결과적인 수치 값을 청각적으로 렌더링하는 단계를 포함하는, 사용자에게 정보를 제공하는 방법.
  23. 제20항에 있어서,
    상기 사용자 음성 쿼리로부터 내비게이션 객체를 식별하는 단계; 및
    상기 내비게이션 객체에 기초하여 상기 표에 저장된 정보에 대응하는 태그를 식별하고, 이에 대한 응답으로, 상기 표에 저장된 상기 정보를 청각적으로 렌더링하는 단계
    를 더 포함하는, 사용자에게 정보를 제공하는 방법.
  24. 제1항 내지 제4항, 제11항 내지 제12항, 제16항 내지 제23항 중 어느 한 항에 기재된 방법을 수행하는 프로그램을 포함하는 컴퓨터 판독 가능 기록 매체.
  25. 삭제
KR1020040014644A 2003-03-05 2004-03-04 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체 KR101004501B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/382,121 US7548858B2 (en) 2003-03-05 2003-03-05 System and method for selective audible rendering of data to a user based on user input
US10/382,121 2003-03-05

Publications (2)

Publication Number Publication Date
KR20040078888A KR20040078888A (ko) 2004-09-13
KR101004501B1 true KR101004501B1 (ko) 2010-12-31

Family

ID=32824778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040014644A KR101004501B1 (ko) 2003-03-05 2004-03-04 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체

Country Status (25)

Country Link
US (1) US7548858B2 (ko)
EP (1) EP1455268A3 (ko)
JP (1) JP2004310748A (ko)
KR (1) KR101004501B1 (ko)
CN (2) CN1702612A (ko)
AR (1) AR043723A1 (ko)
AU (1) AU2004200684A1 (ko)
BR (1) BRPI0400702A (ko)
CA (1) CA2459030A1 (ko)
CO (1) CO5560094A1 (ko)
EC (1) ECSP045007A (ko)
GT (1) GT200400036A (ko)
HR (1) HRP20040168A2 (ko)
IL (1) IL160462A0 (ko)
MX (1) MXPA04002158A (ko)
NI (1) NI200400007A (ko)
NO (1) NO20040923L (ko)
NZ (1) NZ531247A (ko)
PA (1) PA8597001A1 (ko)
PE (1) PE20041075A1 (ko)
RU (1) RU2360281C2 (ko)
SG (1) SG135951A1 (ko)
TW (1) TW200424951A (ko)
UY (1) UY28220A1 (ko)
ZA (1) ZA200401490B (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516190B2 (en) * 2000-02-04 2009-04-07 Parus Holdings, Inc. Personal voice-based information retrieval system
US7412038B2 (en) * 2004-04-28 2008-08-12 International Business Machines Corporation Telecommunications voice server leveraging application web-server capabilities
US20060095296A1 (en) * 2004-11-02 2006-05-04 Lawrence Erdman System and method for improved data retrieval in a clinical reporting environment
US7958131B2 (en) 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US8601383B2 (en) 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US7624099B2 (en) * 2005-10-13 2009-11-24 Microsoft Corporation Client-server word-breaking framework
US8694319B2 (en) 2005-11-03 2014-04-08 International Business Machines Corporation Dynamic prosody adjustment for voice-rendering synthesized data
CN100388181C (zh) * 2005-11-30 2008-05-14 宏碁股份有限公司 手持装置的单手操作系统及其方法
US7996228B2 (en) * 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US8271107B2 (en) 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
DE102006006305A1 (de) * 2006-02-10 2007-08-16 Siemens Ag Verfahren zur Aufbereitung von Informationen für ein Sprachdialogsystem
US9135339B2 (en) 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US7770100B2 (en) 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US8526580B2 (en) 2006-08-31 2013-09-03 Broadcom Corporation System and method for voicemail organization
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US8000969B2 (en) * 2006-12-19 2011-08-16 Nuance Communications, Inc. Inferring switching conditions for switching between modalities in a speech application environment extended for interactive text exchanges
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
MY179050A (en) 2008-04-04 2020-10-26 Colgate Palmolive Co Analysis of substrates having agents deposited thereon
US20100070863A1 (en) * 2008-09-16 2010-03-18 International Business Machines Corporation method for reading a screen
US8229971B2 (en) 2008-09-29 2012-07-24 Efrem Meretab System and method for dynamically configuring content-driven relationships among data elements
CN101587492B (zh) * 2009-05-11 2011-05-11 金蝶软件(中国)有限公司 定位处理对象的方法和系统
US9626339B2 (en) 2009-07-20 2017-04-18 Mcap Research Llc User interface with navigation controls for the display or concealment of adjacent content
US20110150191A1 (en) * 2009-12-18 2011-06-23 Mitel Networks Corporation Method and apparatus for call handling
US9564120B2 (en) * 2010-05-14 2017-02-07 General Motors Llc Speech adaptation in speech synthesis
KR101762611B1 (ko) * 2010-12-10 2017-07-28 삼성전자 주식회사 터치스크린을 구비한 휴대 단말기의 화면 표시 방법 및 장치
US10984337B2 (en) 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
KR20140004515A (ko) 2012-07-03 2014-01-13 삼성전자주식회사 디스플레이 장치, 대화형 시스템 및 응답 정보 제공 방법
US9288421B2 (en) 2012-07-12 2016-03-15 Samsung Electronics Co., Ltd. Method for controlling external input and broadcast receiving apparatus
KR101743514B1 (ko) * 2012-07-12 2017-06-07 삼성전자주식회사 외부 입력 제어 방법 및 이를 적용한 방송 수신 장치
US9195649B2 (en) * 2012-12-21 2015-11-24 The Nielsen Company (Us), Llc Audio processing techniques for semantic audio recognition and report generation
US10579682B1 (en) * 2013-09-17 2020-03-03 Google Llc Machine-learned disambiguation of user action data
US10083002B2 (en) * 2014-12-18 2018-09-25 International Business Machines Corporation Using voice-based web navigation to conserve cellular data
US10019485B2 (en) * 2015-02-23 2018-07-10 Google Llc Search query based form populator
EP3341933A1 (en) * 2015-10-21 2018-07-04 Google LLC Parameter collection and automatic dialog generation in dialog systems
GB2564920A (en) 2016-12-30 2019-01-30 Beijing Didi Infinity Technology & Dev Co Ltd Systems and methods for intelligent information management
US11264025B2 (en) * 2019-07-23 2022-03-01 Cdw Llc Automated graphical user interface control methods and systems using voice commands
CN113470649A (zh) * 2021-08-18 2021-10-01 三星电子(中国)研发中心 语音交互方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020107A (en) 1989-12-04 1991-05-28 Motorola, Inc. Limited vocabulary speech recognition system
EP0817002A2 (en) 1996-07-01 1998-01-07 International Business Machines Corporation Speech supported navigation of a pointer in a graphical user interface

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2846374B2 (ja) 1989-11-28 1999-01-13 日本電信電話株式会社 情報案内・提供方法
DE69423838T2 (de) 1993-09-23 2000-08-03 Xerox Corp Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen
US5748841A (en) * 1994-02-25 1998-05-05 Morin; Philippe Supervised contextual language acquisition system
US5666438A (en) * 1994-07-29 1997-09-09 Apple Computer, Inc. Method and apparatus for recognizing handwriting of different users of a pen-based computer system
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US5715445A (en) * 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US5715450A (en) * 1995-09-27 1998-02-03 Siebel Systems, Inc. Method of selecting and presenting data from a database using a query language to a user of a computer system
JPH1049381A (ja) * 1996-07-04 1998-02-20 Internatl Business Mach Corp <Ibm> 複数のデータ処理要求の処理方法及び処理システム、プログラムの実行方法及びシステム
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US6018710A (en) * 1996-12-13 2000-01-25 Siemens Corporate Research, Inc. Web-based interactive radio environment: WIRE
US5978799A (en) * 1997-01-30 1999-11-02 Hirsch; G. Scott Search engine including query database, user profile database, information templates and email facility
US6108629A (en) * 1997-04-25 2000-08-22 At&T Corp. Method and apparatus for voice interaction over a network using an information flow controller
CA2216224A1 (en) 1997-09-19 1999-03-19 Peter R. Stubley Block algorithm for pattern recognition
CN1301365A (zh) * 1997-10-21 2001-06-27 英国电讯有限公司 信息管理系统
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
US6934687B1 (en) * 1997-11-20 2005-08-23 Ncr Corporation Computer architecture and method for supporting and analyzing electronic commerce over the world wide web for commerce service providers and/or internet service providers
US6366651B1 (en) * 1998-01-21 2002-04-02 Avaya Technology Corp. Communication device having capability to convert between voice and text message
US6505159B1 (en) 1998-03-03 2003-01-07 Microsoft Corporation Apparatus and method for providing speech input to a speech recognition system
US6483899B2 (en) * 1998-06-19 2002-11-19 At&T Corp Voice messaging system
US6292833B1 (en) * 1998-07-17 2001-09-18 Openwave Systems Inc. Method and apparatus for providing access control to local services of mobile devices
US6519562B1 (en) * 1999-02-25 2003-02-11 Speechworks International, Inc. Dynamic semantic control of a speech recognition system
US6175830B1 (en) 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method
US6615172B1 (en) * 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
WO2001061568A2 (en) 2000-02-17 2001-08-23 E-Numerate Solutions, Inc. Rdl search engine
US6865528B1 (en) 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
US6876969B2 (en) * 2000-08-25 2005-04-05 Fujitsu Limited Document read-out apparatus and method and storage medium
US6999932B1 (en) 2000-10-10 2006-02-14 Intel Corporation Language independent voice-based search system
AUPR082400A0 (en) 2000-10-17 2000-11-09 Telstra R & D Management Pty Ltd An information retrieval system
NZ508695A (en) 2000-12-07 2003-04-29 Compudigm Int Ltd Method and system of searching a database of records
US20020165707A1 (en) * 2001-02-26 2002-11-07 Call Charles G. Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers
US6850934B2 (en) * 2001-03-26 2005-02-01 International Business Machines Corporation Adaptive search engine query
JP4225703B2 (ja) * 2001-04-27 2009-02-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報アクセス方法、情報アクセスシステムおよびプログラム
CN1266625C (zh) 2001-05-04 2006-07-26 微软公司 用于web启用的识别的服务器
US7010518B1 (en) * 2001-06-20 2006-03-07 Microstrategy, Inc. System and method for user defined data object hierarchy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020107A (en) 1989-12-04 1991-05-28 Motorola, Inc. Limited vocabulary speech recognition system
EP0817002A2 (en) 1996-07-01 1998-01-07 International Business Machines Corporation Speech supported navigation of a pointer in a graphical user interface

Also Published As

Publication number Publication date
GT200400036A (es) 2006-04-17
NO20040923L (no) 2004-09-06
CN101482805B (zh) 2011-06-08
NZ531247A (en) 2005-08-26
US7548858B2 (en) 2009-06-16
EP1455268A3 (en) 2006-05-17
CN101482805A (zh) 2009-07-15
KR20040078888A (ko) 2004-09-13
ECSP045007A (es) 2004-10-26
UY28220A1 (es) 2004-04-30
TW200424951A (en) 2004-11-16
CN1702612A (zh) 2005-11-30
CA2459030A1 (en) 2004-09-05
JP2004310748A (ja) 2004-11-04
PA8597001A1 (es) 2005-02-04
EP1455268A2 (en) 2004-09-08
MXPA04002158A (es) 2005-09-08
IL160462A0 (en) 2004-07-25
ZA200401490B (en) 2004-08-30
CO5560094A1 (es) 2005-09-30
AU2004200684A1 (en) 2004-09-23
PE20041075A1 (es) 2005-01-15
AR043723A1 (es) 2005-08-10
SG135951A1 (en) 2007-10-29
RU2004106570A (ru) 2005-08-10
NI200400007A (es) 2008-02-28
RU2360281C2 (ru) 2009-06-27
US20040176954A1 (en) 2004-09-09
BRPI0400702A (pt) 2004-10-19
HRP20040168A2 (en) 2005-04-30

Similar Documents

Publication Publication Date Title
KR101004501B1 (ko) 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체
US8886521B2 (en) System and method of dictation for a speech recognition command system
US7409344B2 (en) XML based architecture for controlling user interfaces with contextual voice commands
US8249879B2 (en) System and method of providing a spoken dialog interface to a website
US7836401B2 (en) User operable help information system
US20120046950A1 (en) Retrieval and presentation of network service results for mobile device using a multimodal browser
US20080155672A1 (en) Method, system, and computer program product providing for multimodal content management
CN1670733A (zh) 用自然语言命令呈递表格
US7729919B2 (en) Combining use of a stepwise markup language and an object oriented development tool
MXPA04010107A (es) Entrada multimodal secuencial.
KR100747724B1 (ko) 시각장애인을 위한 웹 네비게이션 시스템 및 그 방법
House et al. Spoken-Language Access to Multimedia (SLAM)
KR100381606B1 (ko) Vxml을 이용한 음성 웹 호스팅 시스템
CN114047900A (zh) 业务处理方法、装置、电子设备及计算机可读存储介质
EP1122636A2 (en) System and method for analysis, description and voice-driven interactive input to html forms
JP2019144755A (ja) 対話管理サーバ、対話管理方法、及びプログラム
Suciu et al. Search based applications for speech processing
Poon et al. Browsing the Web from a Speech-Based Interface.
Amoli et al. Chromium Navigator Extension: Voice-Activated Assist for Disabled
McCune Telling is believing: let your speech replace your keyboard with today's voice-recognition technology
Saigal SEES: An adaptive multimodal user interface for the visually impaired
Rollins Audio XmL: aural interaction with XML documents
Chandon WebVoice: Speech Access to Traditional Web Content for Blind Users

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
LAPS Lapse due to unpaid annual fee