KR101251697B1 - 다이얼로그 작성 및 실행 프레임워크 - Google Patents

다이얼로그 작성 및 실행 프레임워크 Download PDF

Info

Publication number
KR101251697B1
KR101251697B1 KR1020087009169A KR20087009169A KR101251697B1 KR 101251697 B1 KR101251697 B1 KR 101251697B1 KR 1020087009169 A KR1020087009169 A KR 1020087009169A KR 20087009169 A KR20087009169 A KR 20087009169A KR 101251697 B1 KR101251697 B1 KR 101251697B1
Authority
KR
South Korea
Prior art keywords
communication
dialog
message
interface
programming interface
Prior art date
Application number
KR1020087009169A
Other languages
English (en)
Other versions
KR20080058408A (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 KR20080058408A publication Critical patent/KR20080058408A/ko
Application granted granted Critical
Publication of KR101251697B1 publication Critical patent/KR101251697B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

다이얼로그 어플리케이션을 작성하고 실행하기 위한 프레임워크는 통신 구조에서 활용된다. 이 어플리케이션은 복수의 서로 다른 통신 모드와 함께 사용될 수 있다. 다이얼로그 어플리케이션에 의해 처리되는 메시지는 다이얼로그 상태를 판정하고 연관된 응답을 제공하기 위해 사용된다.
다이얼로그, 프레임워크, 음성 데이터, 텍스트 데이터, 통신 인터페이스, 프롬프트, 인스턴트 메시지, 전화 통신, 이메일

Description

다이얼로그 작성 및 실행 프레임워크{DIALOG AUTHORING AND EXECUTION FRAMEWORK}
이하의 논의는 일반적 배경 정보를 제공하기 위한 것이며, 청구항의 범위를 결정하기 위해서 사용된 것은 아니다.
폭넓고 다양한 산업에서의 원격 어플리케이션은 컴퓨터 네트워크에 걸쳐 이용될 수 있다. 예를 들어, 이 어플리케이션은 호 라우팅(call routing) 및 고객 계정/개인 정보 엑세스와 같은 접속 센터 셀프 서비스 어플리케이션(contact center self-service applications)을 포함한다. 여행 예약, 재무 및 주식 어플리케이션, 및 고객 관계 관리를 비롯한 다른 접속 센터 어플리케이션도 가능하다. 또한, 정보 기술 그룹은 예를 들어, 판매 및 야외 근무 자동화(sales and field service automation), E-상업, 자동-안내원, 도움말 데스크 비밀번호 리셋 어플리케이션 및 음성 가능 네트워크 관리의 영역 내 어플리케이션으로부터 도움을 받을 수 있다.
전통적인 고객 관리는 통상적으로 전화답변 및 고객 질의에 응답하는 몇몇 사람인 에이전트에 의한 콜센터를 통해 이루어져 왔다. 현재, 이러한 콜센터의 다수는 듀얼 톤 멀티 주파수(Dual Tone Multi Frequency; DTMF) 및 자동 음성 인식(Automatic Speech Recognition; ASR) 기술의 조합을 이용한 상호작용 음성 답 변(Interactive Voice Response; IVR) 시스템에 기반한 전화통신을 통해 자동화되었다. 더 나아가, 고객 관리는 과거 전화 통신 기반 시스템에서 인스턴트 메시징(IM) 및 이메일 기반 시스템으로 확장되었다. 이러한 서로 다른 채널은 최종 고객에게 추가적인 선택의 기회를 제공하고, 이에 따라 전체적인 고객 만족도를 향상시킨다. 현재 각 채널에 대해 상이한 툴을 사용하기 때문에 이러한 다양한 채널을 통한 고객 관리의 자동화에 어려움이 더해지고 있다.
발명의 상세한 설명은 아래의 실시예에서 더 기술된 것에 대해 보다 간략화된 형식으로 일부 사상을 소개해주기 위해 제공된다. 이는 특허 청구 범위의 대상에 대한 주요 특징 또는 필수적 특징을 식별하기 위함이 아니며, 또한 이에 대한 범위를 결정하기 위해 사용된 것이 아니다.
다이얼로그 어플리케이션을 작성하고(author) 실행하기 위한 프레임워크는 통신 구조에서 활용된다. 이 어플리케이션은 복수의 서로 다른 통신 모드와 함께 사용될 수 있다. 다이얼로그 어플리케이션에 의해 처리되는 메시지는 다이얼로그 상태를 판정하고 연관된 응답을 제공하기 위해 사용된다.
도 1은 예시적인 이동 장치의 정면도.
도 2는 도 1의 이동 장치에 대한 기능적 구성요소의 블록도.
도 3은 예시적인 전화기의 정면도.
도 4는 통상적인 컴퓨팅 환경의 블록도.
도 5는 통신 메시지를 다루기 위한 통신 구조의 블록도.
도 6은 복수의 다이얼로그 상태를 도시하는 도면.
도 7은 사용자 인터페이스 내의 구성요소의 블록도.
도 8은 통신 메시지를 다루는 방법에 대한 흐름도.
통신 메시지를 다루기 위한 에이전트 및 이와 동일한 것을 구현하기 위한 방법을 기술하기 전에, 통신 구조에서 사용될 수 있는 일반적인 컴퓨팅 장치를 기술하는 것은 유용할 것이다. 이 장치는 컴퓨터 네트워크상의 에이전트를 이용하기 위해 다양한 컴퓨팅 설정에 사용될 수 있다. 예를 들어, 이 장치는, 텍스트 및 음성을 포함하는 상이한 모드의 자연 언어 입력을 이용하는 에이전트와 상호작용할 수 있다. 이하에서 논의되는 장치는 예시적으로 사용되었을 뿐이고 특허 청구 대상을 한정하기 위함이 아니다.
데이터 관리 이동 장치(30)의 예시적인 형식은 도 1에 도시되어 있다. 이동 장치(30)는 하우징(32)을 포함하고, 스타일러스(33)로서 사용되는 접촉 감지 디스플레이 스크린이 구비된 디스플레이(34)를 포함하는 사용자 인터페이스를 갖는다. 스타일러스(33)는, 필드를 선택하거나, 커서의 시작점을 선택적으로 이동시키거나, 제스처나 수기 등을 통해 명령 정보를 제공하기 위하여 디스플레이(34)의 지정된 좌표에 접촉하거나 누르기 위해 사용된다. 다른 방법으로 또는 부가적으로, 하나 이상의 버튼(35)은 검색(navigation)을 위해 장치(30)상에 구비될 수 있다. 또한, 회전형 휠, 롤러 또는 기타 수단과 같은 다른 입력 메커니즘이 제공될 수 있다. 컴퓨터 영상 등을 통한 비주얼 입력이 입력의 다른 형식으로서 포함될 수 있다.
도 2에 관하여, 블록도는 이동 장치(30)를 포함하는 기능적 구성요소를 나타낸다. 중앙 처리 장치(CPU; 50)는 소프트웨어 제어 기능을 구현한다. CPU(50)는 디스플레이(34)에 연결되어, 제어기 소프트웨어에 따라 생성된 텍스트 및 그래픽 아이콘이 디스플레이(34) 상에 나타나도록 한다. 스피커(43)는 통상적으로 디지털-아날로그 변환기(59)와 함께 CPU(50)에 연결되어 음성 출력을 제공할 수 있다.
사용자에 의해 이동 장치(30)로 다운로드 또는 입력된 데이터는, CPU(50)에 쌍방향으로(bi-directionally) 연결된 비휘발성 판독/기록 랜덤 엑세스 메모리 저장소(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)에 의해 디지털화되는 음성 신호를 제공한다. 음성 인식 프로그램은 중간 음성 인식(intermediate speech recognition) 결과를 얻기 위해, 디지털화된 음성 신호 상의 특징 추출 기능(feature extraction function) 및/또는 표준화(normalization)를 수행할 수 있다.
무선 송수신기(52) 또는 통신 인터페이스(60)를 사용하여, 음성 및 기타 데이터는 에이전트와 같이 원거리로 전송될 수 있다. 음성 데이터를 전송하는 경우, 원격 음성 서버가 사용될 수 있다. 인식 결과는 (예를 들어, 비주얼 및/또는 음성) 렌더링을 위해 이동 장치(30)로 반환될 수 있고, 에이전트로 최종적인 전송이 이루어지며, 에이전트와 이동장치(30)는 통신 메시지를 기반으로 상호작용한다.
유사한 프로세싱은 다른 입력의 형식으로 사용될 수 있다. 예를 들어, 수기 입력은 장치(30)의 사전 처리(pre-processing) 과정이 있거나 없이 디지털화될 수 있다. 음성 데이터와 같이, 이러한 입력의 형식은 인식을 위해 서버로 전송될 수 있고, 이곳에서 인식의 결과는 적어도 하나의 장치(30) 및/또는 원격 에이전트로 반환된다. 마찬가지로 DTMF 데이터, 제스처 데이터 및 비주얼 데이터는 유사하 게 처리될 수 있다. 입력의 형식에 의존하여, 장치(30)(및 이하에서 논의한 클라이언트의 다른 형식)는 비주얼 입력을 위해 카메라와 같은 필수적인 하드웨어를 갖출 수 있다.
도 3은 휴대용 전화기(80)의 예시적인 실시예의 평면도이다. 전화기(80)는 디스플레이(82) 및 키패드(84)를 포함한다. 일반적으로, 도 2의 블록도는 도 3의 전화기에 적용되며, 다른 기능을 수행하는데 필수적인 추가적인 회로가 요구될 수 있다. 예를 들어, 전화기로서 동작하는데 필수적인 송수신기가 도 2의 실시예에 요구될 수도 있지만, 그러한 회로는 본 발명에 적절하지 않다.
에이전트는 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템, 환경 또는 구성에서 동작할 수 있다. 본 발명에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 (스크린이 없는) 일반적인 전화기, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램 가능한 가전제품, 라디오 주파수 식별(RFID) 장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
이하는 도 4에서 나타난 범용 컴퓨터(120)의 간략한 설명이다. 하지만, 컴퓨터(120)는 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(120)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들 의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다. 프로그램 모듈에 의해 수행되는 태스크는 도면과 함께 이하에서 기술된다. 당업자는 임의의 컴퓨터 판독 가능 매체 상에 기록될 수 있는 프로세서 실행 가능 명령어로서 상세한 설명 및 도면을 구현할 수 있다.
도 4와 관련하여, 컴퓨터(120)의 컴포넌트들은 처리 장치(140), 시스템 메모리(150), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(140)에 연결시키는 시스템 버스(141)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(141)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, USB(Universal Serial Bus), MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다. 컴퓨터(120)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(120)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(120)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct- wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만 이에 한정되는 것은 아니다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(150)는 판독 전용 메모리(ROM)(151) 및 랜덤 액세스 메모리(RAM)(152)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(120) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(153)은 통상적으로 ROM(151)에 저장되어 있다. RAM(152)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고/있거나 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 4는 운영 체제(154), 애플리케이션 프로그램(155), 기타 프로그램 모듈(156) 및 프로그램 데이터(157)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(120)는 또한 기타 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 4은 비착탈식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(161), 착탈식·비휘발성 자기 디스크(192)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(191), CD-ROM 또는 기타 광 매체 등의 착탈식·비휘발성 광 디스크(176)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(175)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(161)는 통상적으로 인터페이스(160)와 같은 비착탈식 메모리 인터페이스를 통해 시스템 버스(141)에 접속되고, 자기 디스크 드라이브(191) 및 광 디스크 드라이브(175)는 통상적으로 인터페이스(190)와 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(141)에 접속된다.
위에서 설명되고 도 4에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(120)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 4에서, 예를 들어, 하드 디스크 드라이브(161)는 운영 체제(164), 애플리케이션 프로그램(165), 기타 프로그램 모듈(166), 및 프로그램 데이터(167)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(154), 애플리케이션 프로그램(155), 기타 프로그램 모듈(156), 및 프로그램 데이터(157)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(164), 애플리케이션 프로그램(165), 기타 프로그램 모듈(166) 및 프로그램 데이터(167)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다.
사용자는 키보드(182), 마이크(183) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(181) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(120)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(180)를 통해 처리 장치(140)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(184) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(185) 등의 인터페이스를 통해 시스템 버스(141)에 접속될 수 있다. 모니터 외에, 컴퓨터는 스피커(187) 및 프린터(186) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(188)를 통해 접속될 수 있다.
컴퓨터(120)는 원격 컴퓨터(194)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(194)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(120)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(191) 및 WAN(193)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(120)는 네트워크 인터페이스 또는 어댑터(190)를 통해 LAN(191)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(120)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(192) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(192)은 사용자 입력 인터페이스(180) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속된다. 네트워크화된 환경에서, 컴퓨터(120) 또는 그의 일부와 관련하여 기 술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 4은 원격 애플리케이션 프로그램(195)이 원격 컴퓨터(194)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
통상적으로 어플리케이션 프로그램(155)은 명령줄(command line) 또는 사용자 입력 인터페이스(180)를 통한 그래픽 사용자 인터페이스(GUI)를 통해 사용자와 상호작용하였다. 하지만, 컴퓨터 시스템의 사용을 간략화하고 확장시키기 위한 노력에 힘입어, 입력 수단은 사용자로부터 자연 언어 입력을 수신할 수 있도록 발전해왔다. 자연 언어 및 음성에 반하여, 그래픽 사용자 인터페이스는 정확하다. 적절히 설계된 그래픽 사용자 인터페이스는 보통 인터페이스(180)를 통해 수신된 입력의 특정 번역을 확인하기 위해 함축적인 어플리케이션을 요하지 않으며 모호한 참조를 생성하지 않는다. 예를 들어, 인터페이스는 정확하기 때문에, "당신은 '예'버튼을 클릭했습니까" 등과 같이 입력에 관계된 것에 대해 추가적으로 사용자에게 질의될 것을 요하지 않는다. 통상적으로 그래픽 사용자 인터페이스로서 설계된 객체 모델은 그것의 구현에 있어 매우 기계적이고 엄격하다.
그래픽 사용자 인터페이스로부터의 입력에 대비하여, 자연 언어 질의 또는 명령은 종종 하나만이 아닌, 입력 객체 모델을 호출하는 일련의 함수로 번역될 수 있다. 전통적인 선 입력 또는 그래픽 사용자 인터페이스의 엄격하고 기계적인 제한에 대비하여, 자연 언어는 인간인 질문자가 모호성을 해결하기 위해 종종 무의식 적으로 상대방의 지식에 의존하는 통신 수단이다. 사실, 자연 언어는 정확히 말해 그것이 기계적이지 않기 때문에 "자연적"이라고 언급된다. 인간인 질문자는 발언(utterance)을 둘러싼 임의 갯수의 영역에 관련된 문맥적 정보 및 암시에 기초하여 모호성을 해결할 수 있다. 인간인 질문자에게 있어서, "금요일 리뷰 미팅에 참석한 그들에게 초안을 전달하라"는 문장은 추가적인 설명 없이 완벽하게 이해된다. 하지만, 기계의 기계적인 관점에서, 어떤 문서 그리고 어떤 미팅이 언급되었는지 그리고 누구에게 문서가 전송되어야 하는지 등의 구체적인 상세 항목이 특정되어야 한다.
도 5는 에이전트(202)와 함께 예시적인 통신 구조(200)를 나타낸다. 에이전트(202)는 개시자(initiator)로부터의 통신 요청 및/또는 메시지를 수신하고 이 요청 및/또는 메시지에 기반한 작업을 수행한다. 이 메시지는 목적지로 라우팅될 수 있다. 개시자는 에이전트(202)로 연결되는 사람, 장치, 전화기, 원격 개인 정보 관리기 등을 포함할 수 있다. 개시자로부터의 메시지는, 실시간 음성(예를 들어, 단순한 전화기로부터 또는 인터넷 프로토콜 소스를 통한 음성), 실시간 텍스트(인스턴트 메시지 등), 비-실시간 음성(예를 들어, 음성 메일 메시지) 및 비-실시간 텍스트(예를 들어, 단문서비스(SMS) 또는 이메일)를 비롯한 많은 형식을 취할 수 있다. 작업은, 예를 들어 개시자에 의해 전송된 고객 관리 질의에 응답하여 에이전트(202)에 의해 자동적으로 수행된다.
일 실시예에서, 에이전트(202)는 이상에서 논의된 컴퓨터(120)와 같은 범용 컴퓨터상에서 구현될 수 있다. 에이전트(202)는 사용자 다이얼로그 어플리케이션 을 위한 교신의 단일점을 나타낸다. 그러므로, 만약 사람이 다이얼로그 어플리케이션과 상호작용을 원한다면, 통신 요청 및 메시지는 에이전트(202)를 통해 처리된다. 이러한 방법으로, 그자는 특정 장치를 이용하여 에이전트(202)에 교신할 필요가 없다. 그자는 수신되는 통신 요청 및 메시지를 처리하고 라우팅하는 임의의 필요한 장치를 통해 에이전트(202)로 교신하기만 하면 된다.
통신 요청 또는 메시지의 개시자는 수 개의 서로 다른 통신 모드를 통해 에이전트(202)와 교신할 수 있다. 통상적으로, 에이전트(202)는 이동 장치(30)(입력의 형식을 기준으로 요구되는 디스플레이 스크린, 마이크, 카메라, 접촉 감지 패널 등을 갖는 컴퓨팅 디바이스의 다른 형태를 나타냄)와 같은 클라이언트를 통해 엑세스 될 수 있거나, 눌러진 키에 대한 응답으로 전화기(80)에 의해 생성된 음조를 통해 통신이 음성화되고 에이전트(202)로부터의 정보가 사용자에게 음성화되어 다시 제공될 수 있는 전화기(80)를 통해 엑세스될 수 있다.
하지만 더욱 중요한 것은, 에이전트(202)는 장치(30) 또는 전화기(80)를 통해 정보가 취득되었는지 간에 단일하게 동작하며, 에이전트(202)는 어떤 동작의 모드도 지원할 수 있다. 에이전트(202)는 통신 메시지를 수신하기 위해 복수의 인터페이스에 동작적으로 연결될 수 있다. 그러므로, 에이전트(202)는 장치를 대한 통신 모드에 기반한 장치의 상이한 유형에 대한 응답을 제공할 수 있다.
IP 인터페이스(204)는 예를 들어, TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)등의 패킷 스위칭 기술을 이용하여 정보를 수신하고 송신한다. 그러므로 인터넷 프로토콜을 이용한 컴퓨팅 장치 통신은 IP 인터페이스(204)와 인터페이스 접속 할 수 있다.
POTS(Plain Old Telephone System 또는 Plain Old Telephone Service라고도 불림) 인터페이스(206)는 PSTN(Public Switch Telphone Network), 개인 네트워크(예를 들어, 법인 PBX(Private Branch Exchange)) 및/또는 이들의 조합을 포함하여 임의의 유형의 회로 스위칭 시스템과 인터페이스 접속할 수 있다. 그러므로 POTS 인터페이스(206)는 회로 스위칭 기술을 이용한 정보를 수신하기 위해 FXO(Foreign Exchange Office) 인터페이스 및 FXS(Foreign Exchange Station) 인터페이스를 포함할 수 있다.
IP 인터페이스(204) 및 POTC 인터페이스(206)는 아날로그 전화 통신 아답터(ATA)와 같은 단일 장치에 구현될 수 있다. 전화 어플리케이션 프로그램 인터페이스(TAPI)를 사용하여 POTS를 컴퓨터에 접속하는 "음성 모뎀"과 같이, 컴퓨터와 POTS 사이에서 오디오 데이터를 전송하고 인터페이스 접속시킬 수 있는 다른 장치가 사용될 수 있다.
도 5에 나타난 바와 같이, 장치(30) 및 에이전트(202)는 인터넷과 같은 광역 네트워크인 네트워크(208)를 통해, 공통 접속되어 있고, 개별적으로 어드레스 지정 가능하다. 따라서 클라이언트(30)와 에이전트(202)가 반드시 물리적으로 인접하게 위치되어야 할 필요는 없다. 클라이언트(30)는 지정된 프로토콜을 이용하여 음성, 텍스트, 비디오 데이터와 같은 데이터를 IP 인터페이스(204)로 전송할 수 있다. 일 실시예에서, 클라이언트(30)와 IP 인터페이스(204) 간의 통신은, 예를 들어 모두 IETF(Internet Engineering Task Force) 표준인 SIP와 RTP(Session Initiator Protocol with Realtime Transport Protocol) 등의 표준화된 프로토콜을 사용한다.
전화기(80)를 통한 에이전트(202)로의 엑세스는, 전화기(80)의 유선 또는 무선 전화 네트워크(210)로의 접속을 포함하고 이는 또한, FXO 인터페이스를 통해 전화기(80)를 에이전트(202)로 접속시킨다. 다른 방법으로, 전화기(80)는 POTS 인터페이스(206)의 일부인 FXO 인터페이스를 통해 에이전트(202)로 직접 접속될 수 있다.
IP 인터페이스(204) 및 POTS 인터페이스(206) 모두 통신 어플리케이션 프로그래밍 인터페이스(API)를 통해 에이전트(202)로 접속된다. 통신 API(212)의 일 구현은 워싱턴주 레이몬드의 마이크로소프트사에 의해 개발된 마이크로소프트 RTC(Real Time Communication) 클라이언트 API이다. 다른 통신 API(212)의 구현은 컴퓨터 지원 원격통신 구조(ECMA-269/ISO 18051) 또는 ISO/ECMA 표준인 CSTA이다. 통신 API(212)는 두 컴퓨터 간, 두 전화기 간 그리고 전화기와 컴퓨터 간 통신을 위한 어플리케이션을 포함하는 다모드 통신 어플리케이션(multimodal communication application)을 이용할 수 있다. 통신 API(212)는 오디오 및 비디오 호출, 텍스트 기반 메시징 및 어플리케이션 공유를 지원할 수 있다. 그러므로, 에이전트(202)는 클라이언트(30) 및/또는 전화기(80)로의 통신을 개시할 수 있다.
에이전트(202)는 또한 다이얼로그 실행 모듈(214), 자연 언어 처리 유닛(216), 다이얼로그 상태(218) 및 프롬프트(220)를 포함한다. 다이얼로그 실행 모듈(214)은 통신 API(212)로부터의 통신 요청 및 메시지를 다루고, 다이얼로그 상태(218)에 기초한 작업을 수행하기 위해 논리를 포함한다. 이러한 작업은 프롬프 트(220)로부터의 프롬프트를 전송하는 것을 포함할 수 있다.
다이얼로그 실행 모듈(214)은 자연 언어 처리 유닛(216)을 사용하여 다양한 자연 언어 처리 작업을 수행한다. 자연 언어 처리 유닛(216)은 사용자 입력의 특징을 식별하는데 사용되는 인식 엔진을 포함한다. 음성에 대한 인식 특징은 보통 구어에서의 "단어"인 반면에, 수기에 대한 인식 특징은 사용자 수기 내의 "획(stroke)"에 대응한다. 특정한 일 실시예에서, 문법과 같은 언어 모델은 음성 발성 내 텍스트를 인식하는데 사용될 수 있다. 알려진 바와 같이, 인식은 비주얼 입력을 위해 제공될 수 있다.
다이얼로그 실행 모듈(214)은, 다이얼로그 상태(218)로부터의 원하는 다이얼로그 상태를 판정하기 위해 자연 언어 처리 유닛(216)에 의해 인식되는 객체를 사용할 수 있다. 또한 다이얼로그 실행 모듈(214)은 사용자 입력에 기초하여 사람에게 출력을 제공하기 위해 프롬프트(220)에 엑세스한다. 다이얼로그 상태(218)는 다이얼로그 실행 모듈(214)에 의해 접속되는 하나 이상의 파일로서 저장될 수 있다. 프롬프트(220)는 다이얼로그 상태(218)로 통합되거나, 다이얼로그 상태(218)와는 별개로 저장되고 엑세스될 수 있다. 프롬프트는, 사용자로부터의 요청에 기초하여 통신 API(212)를 통해 사용자에게 전송되는 텍스트, 오디오 및/또는 비디오 데이터로 저장될 수 있고, 예를 들어, 초기 프롬프트는 "Acme 회사 도움 센터에 오신것을 환영합니다. 어떻게 도와드릴까요?"를 포함할 수 있다. 프롬프트는 사용자에 대해 통신의 모드를 기초로 전송된다. 만약 사용자가 전화기를 사용하여 에이전트(202)에 접속한다면, 프롬프트는 전화기를 통하여 소리가 들리도록 실행(play) 될 수 있다. 만약 사용자가 이메일 메시지를 전송한다면, 에이전트(202)는 이메일 메시지로써 응답할 수 있다.
동작 중에, 다이얼 실행 모듈(214)은 다이얼로그 상태(218)와 같은 복수의 다이얼로그 상태를 포함하는 다이얼로그를 가로지르기 위해(traverse through) 사용자로부터 수신된 통신 메시지를 번역한다. 일 실시예에서, 다이얼로그는 프롬프트와 함께 사용자로부터의 질문에 답변하는 데 사용하기 위한 도움 센터로서 구성될 수 있다. 다이얼로그 상태(218)는 다이얼로그 실행 모듈(214)에 의해 엑세스되는 파일로서 저장될 수 있다. 이 파일은 에이전트(202)에 엑세스하기 위해 사용자에게 사용되는 특정 통신 모드와 독립되어 작성(author)될 수 있다. 그러므로, 다이얼로그 실행 모듈(214)은 다이얼로그 상태(218)에 엑세스하기 위해 어플리케이션 프로그래밍 인터페이스(API)를 포함할 수 있다.
도 6은 복수의 다이얼로그 상태를 포함하는 예시적인 다이얼로그(300)의 도해이다. 각 상태는 원으로서 나타나있고, 화살은 두 상태 간 변환(transition)을 나타낸다. 다이얼로그(300)는 개시 상태(302) 및 종료 상태(304)를 포함한다. 통신 메시지가 에이전트(202)에 의해 수신된 이후, 다이얼로그(300)는 상태(302)로서 개시되고 시작된다. 상태(302)는 하나 이상의 프로세스 또는 수행될 작업을 포함할 수 있다. 예를 들어, 다이얼로그 상태(302)는 실행되고/되거나 사용자에게 전송될 웰컴 프롬프트(welcome prompt)를 포함할 수 있다. 개시 상태(302) 이후, 추가적인 통신 메시지는 수신될 수 있다. 수신된 통신 메시지에 기초하여, 다이얼로그(300)은 다음 상태로 이동한다. 예를 들어, 다이얼로그(300)는 상태(306, 308) 등으로 변환될 수 있다. 이러한 각각의 상태는 사용자와 다이얼로그를 수행하기 위해, 더 연관된 작업 및 프롬프트를 포함할 수 있다. 이들 상태는 다이얼로그(300) 내 다른 상태로의 변환을 포함한다. 궁극적으로, 다이얼로그(300)은 종료 상태(304)로 도달할 때까지 가로질러 이동한다.
도 7은 다이얼로그(300)와 같은 다이얼로그를 사람이 작성하도록 해주는 사용자 인터페이스 내 컴포넌트의 블록도이다. 인터페이스는 사람으로 하여금 상태 기초 다이얼로그를 생성하게 해준다. 일 실시예에서, 인터페이스는 플로우차팅 툴을 이용하여 다이얼로그의 생성을 가능하게 한다. 이 툴은 사람으로 하여금 다이얼로그 상태 및 다이얼로그 상태와 연관된 다양한 속성을 생성하도록 해준다. 예를 들어, 사람은 다이얼로그 상태(302)를 위해 작업(320), 프롬프트(322), 문법(324) 및 다음 다이얼로그 상태(326)를 특정할 수 있다.
작업(320)은 다이얼로그 상태(302)를 위해 실행되는 하나 이상의 프로세스를 포함한다. 프롬프트(322)는 통신 API(212)를 통해 전송될 수 있는 텍스트, 오디오 및/또는 비디오 데이터를 포함한다. 문법(324)은 작성자(author)로 하여금, 다이얼로그 상태(302)로부터 상태 변화를 이끌어 낼 수 있는 자연 언어 입력을 표현할 수 있게 한다. 예를 들어, 문법(324)은 문맥 자유 문법(context free grammer), n-gram, 혼합(hybrid) 또는 기타일 수 있다. 다이얼로그 상태(302)에 뒤따를 수 있는 다음 다이얼로그 상태(326), 이 경우 다이얼로그 상태(306 및 308)는 또한 특정될 수 있다. 다이얼로그 상태(306 및 308)는 그들의 특정한 태스크, 프롬프트, 문법 및 다음 다이얼로그 상태를 포함할 수 있다.
도 8은 다이얼로그 실행 모듈(214)에 의해 수행되는 방법(350)의 흐름도이다. 단계(352)에서, 통신 메시지가 수신된다. 다음으로, 단계(354)에서 통신 모듈은 수신된 메시지를 기초로 판정된다. 예를 들어, 모드는 전화 시스템을 통한 이메일, 인스턴트 메시지 또는 접속일 수 있다. 단계(356)에서, 통신 메시지는 다이얼로그에 대한 다음 다이얼로그 상태를 판정하기 위해 분석된다. 이 단계는 메시지 내의 의미 정보(semantic information)를 식별하기 위해 자연 언어 처리 유닛(216)에 엑세스하는 다이얼로그 실행 모듈(214)을 포함할 수 있다. 의미 정보는 다음 다이얼로그 상태를 판정하기 위해 문법과 함께 사용될 수 있다. 단계(358)에서, 다이얼로그 상태와 연관된 작업이 실행된다. 이후 통신 메시지는 단계(360)에서 다이얼로그 상태 및 통신 모드에 기초하여 전송된다. 예를 들어, 메시지는 다이얼로그 상태에 연관된 하나 이상의 프롬프트를 포함할 수 있다. 단계(362)에서, 다이얼로그가 종료 상태인지 아닌지 여부를 판정한다. 만약 다이얼로그가 종료 상태가 아니라면, 방법(350)은 추가적인 통신 메시지를 기다리기 위해 단계(352)로 진행할 것이다. 만약 종료 상태에 도달하면, 방법(350)은 단계(364)에서 종료한다.
채널에 걸쳐 통신 모드와 독립적인 다이얼로그를 작성하기 위한 프레임워크는 이에 따라 실현될 수 있다. 다이얼로그 실행 모듈은 사용자와 통신하기 위해 다양한 통신 채널을 통해 통신할 수 있다. 다이얼로그는 다이얼로그 실행 모듈에 의해 엑세스되어 다이얼로그 실행 모듈은 사용자가 원하는 통신 모드와 무관한 다이얼로그를 개시하고 수행할 수 있다.
비록 대상이 구조적 특징 및/또는 방법론적 행동에 특정된 언어로서 기술되었지만, 특허 청구 범위에 의해 정의된 대상이 반드시 이상에서 기술된 특정 특징 또는 행동에 국한되는 것은 아니다. 오히려, 이상에서 기술된 특정 특징 및 행위는 청구항을 구현하기 위한 예시적인 형태로서 제시되었다.

Claims (20)

  1. 컴퓨터를 사용하여 통신 메시지를 처리하는 방법으로서,
    인터넷 프로토콜 인터페이스에서 하나 이상의 통신 메시지를 수신하는 단계;
    POTS(Plain Old Telephone System) 인터페이스에서 또다른 하나 이상의 통신 메시지를 수신하는 단계;
    통신 애플리케이션 프로그래밍 인터페이스에서 상기 하나 이상의 통신 메시지와 상기 또다른 하나 이상의 통신 메시지를 수신하는 단계;
    상기 통신 애플리케이션 프로그래밍 인터페이스에 수신된 각각의 통신 메시지에 대하여, 상기 통신 메시지를 전송하는데 사용된 통신 모드를 식별하는 단계 - 상기 통신 메시지 각각에 대한 상기 통신 모드는 복수의 다른 통신 모드 중의 하나이고, 상기 복수의 다른 통신 모드는 패킷 스위칭 기술 모드 (packet switching technology mode) 및 회로 스위칭 기술 모드 (circuit switching technology mode)를 포함함 -;
    상기 통신 애플리케이션 프로그래밍 인터페이스에 수신된 각각의 통신 메시지에 대하여, 컨텐츠에 기초하여, 또한 상기 통신 메시지를 전송하는데 사용된 상기 통신 모드에 관계없이, 상기 통신 메시지의 다이얼로그 상태를 결정하는 단계;
    상기 통신 애플리케이션 프로그래밍 인터페이스에 수신된 각각의 통신 메시지에 대하여, 상기 다이얼로그 상태에 기초하고, 상기 통신 애플리케이션 프로그래밍 인터페이스를 통하여, 상기 통신 메시지를 전송하는데 사용된 식별된 통신 모드를 사용하여 응답 메시지를 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    복수의 특정된 다이얼로그 상태를 포함하는 다이얼로그 파일에 엑세싱하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 다이얼로그 상태 각각은, 태스크, 프롬프트 및 관련된 다이얼로그 상태(a related dialog state) 중 적어도 하나를 포함하는 연관된 속성을 포함하는 방법.
  4. 제1항에 있어서,
    상기 다이얼로그 상태에 기초하여 태스크를 수행하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 통신 메시지에 포함된 의미 정보(semantic information) - 상기 다이얼로그 상태는 상기 의미 정보에 기초하여 판정됨 - 를 판정하기 위해 상기 통신 메시지 각각을 분석하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 통신 모드는 이메일, 인스턴트 메시징 및 전화 통신 중 하나인 방법.
  7. 제1항에 있어서,
    상기 각각의 통신 메시지는 음성 데이터 및 텍스트 데이터 중 하나를 포함하는 방법.
  8. 소스로부터 통신 모드를 사용하여 전송된 통신 메시지를 처리하는 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서, 상기 프로그램은,
    상기 통신 메시지의 의미 컨텐츠(semantic contents)에 기초하여, 또한 상기 통신 메시지를 전송하는 데 사용된 상기 통신 모드에 관계없이, 다이얼로그 상태를 식별하기 위해 복수의 저장된 다이얼로그 상태에 엑세스하는 다이얼로그 실행 모듈; 및
    상기 다이얼로그 실행 모듈에 연결되며, 전화 모드 및 비-전화 모드를 포함하는 복수의 다른 통신 모드를 사용하여 송신된 통신 메시지를 수신하고, 각각의 통신 메시지에 대하여, 상기 복수의 다른 통신 모드에서 상기 통신 메시지를 송신하는데 사용된 특정한 통신 모드를 식별하고, 상기 식별된 다이얼로그 상태에 기초하고 상기 식별된 특정한 통신 모드를 사용하여 상기 소스로 응답을 송신하는 통신 인터페이스 - 상기 응답은 상기 식별된 다이얼로그 상태와 상기 식별된 특정한 통신 모드에 기초하여 복수의 다른 포맷으로 데이터를 저장하는 프롬프트 모듈(prompt module)로부터 선택된 것이며, 상기 복수의 다른 포맷은 텍스트 데이터, 오디오 데이터, 비디오 데이터를 포함하고, 상기 프롬프트 모듈은 상기 식별된 특정한 통신 모드와 일치하는 상기 복수의 다른 포맷 중 하나의 형태로 상기 응답을 상기 다이얼로그 실행 모듈에 전송함 -
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  9. 제8항에 있어서,
    상기 다이얼로그 실행 모듈은 상기 통신 메시지에 포함된 의미 정보를 판정하기 위하여 상기 통신 메시지를 분석하도록 더 구성된, 컴퓨터 판독 가능 기록 매체.
  10. 제9항에 있어서,
    상기 의미 정보에 기초하여 다음 다이얼로그 상태가 판정되는, 컴퓨터 판독 가능 기록 매체.
  11. 제10항에 있어서,
    상기 다이얼로그 실행 모듈은 상기 의미 정보에 기초하여 상기 다이얼로그 상태를 판정하기 위해 언어 모델에 엑세스하도록 구성된, 컴퓨터 판독 가능 기록 매체.
  12. 제8항에 있어서,
    상기 통신 인터페이스는 인터넷 프로토콜 소스 및 POTS 소스에 상기 응답을 전송하도록 구성된, 컴퓨터 판독 가능 기록 매체.
  13. 삭제
  14. 시스템으로서,
    멀티모달(multimodal) 통신 애플리케이션을 지원하는 통신 프로그래밍 인터페이스 - 상기 멀티모달 통신 애플리케이션은 두 컴퓨터 간의 통신, 두 전화 간의 통신, 전화와 컴퓨터 간의 통신에 대한 애플리케이션을 포함하며, 상기 통신 프로그램 인터페이스는 오디오 및 비디오 통화, 텍스트-기반 메시징 및 애플리케이션 공유를 지원하고, 상기 통신 프로그래밍 인터페이스는 통신 메시지를 수신하고, 각각의 통신 메시지는 적어도 세 개의 다른 통신 모드 중에서 하나의 통신 모드를 사용하여 송신된 것이고, 상기 통신 프로그래밍 인터페이스는 수신된 통신 메시지 각각이 송신되는데 어떤 통신 모드를 사용한 것인지를 결정하고, 상기 통신 프로그래밍 인터페이스는 상기 수신된 통신 메시지 각각을 송신하는데 사용된 상기 적어도 세 개의 다른 통신 모드 중의 상기 하나를 사용하여 응답하는 통신 메시지를 상기 통신 메시지 각각에 송신함 -;
    복수의 다이얼로그 상태를 포함하는 다이얼로그 파일 - 각각의 다이얼로그 상태는 연관된 속성을 가짐 - ;
    상기 통신 프로그래밍 인터페이스로부터 통신 메시지를 수신하기 위해 상기 통신 프로그래밍 인터페이스와 연결되는 다이얼로그 실행 모듈 - 상기 다이얼로그 실행 모듈은 특정한 수신된 통신 메시지에 기초하여 다이얼로그 상태를 결정하기 위하여 상기 다이얼로그 파일에 엑세스하고, 상기 다이얼로그 상태는 상기 다이얼로그 실행 모듈에 의해 상기 수신된 통신 메시지를 송신하는데 사용된 통신 모드에 관계없이 결정되며, 상기 다이얼로그 실행 모듈은 상기 통신 프로그래밍 인터페이스에 상기 다이얼로그 상태와 연관된 응답을 제공하여 응답하는 통신 메시지에 포함되도록 하며, 상기 응답은 프롬프트를 포함하며, 상기 프롬프트는 상기 특정한 수신된 통신 메시지의 발신자에게 특정한 수신된 메시지를 송신하는데 사용된 상기 통신 모드를 사용하여 상기 프롬프트에 응답하여 정보를 입력할 것을 촉구함 -
    를 포함하는 시스템.
  15. 제14항에 있어서,
    상기 연관된 속성은 상기 프롬프트, 언어 모델 및 관련된 다이얼로그 상태를 포함하는, 시스템.
  16. 제14항에 있어서,
    상기 수신된 통신 메시지 내의 의미 정보를 식별하기 위해 다이얼로그 실행 모듈에 연결된 자연어 처리 유닛을 더 포함하는 시스템.
  17. 제14항에 있어서,
    상기 통신 프로그래밍 인터페이스에 연결된 인터넷 프로토콜 인터페이스와 POTS 인터페이스를 더 포함하는 시스템.
  18. 제14항에 있어서,
    상기 다이얼로그 실행 모듈은 상기 다이얼로그 파일에 엑세스하기 위해 애플리케이션 프로그래밍 인터페이스를 포함하는 시스템.
  19. 제14항에 있어서,
    상기 통신 메시지는 음성 데이터 및 텍스트 데이터 중 적어도 하나를 포함하는 시스템.
  20. 제14항에 있어서,
    상기 통신 프로그래밍 인터페이스는 상기 특정한 수신된 메시지가 이메일 메시지일 경우 응답하는 통신 메시지를 이메일 메시지로, 상기 특정한 수신된 메시지가 인스턴트 메시징 메시지인 경우 인스턴트 메시징 메시지로, 상기 특정한 수신된 메시지가 오디오 메시지인 경우 오디오 메시지로 송신하는 시스템.
KR1020087009169A 2005-10-18 2006-10-03 다이얼로그 작성 및 실행 프레임워크 KR101251697B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/253,047 US20070115920A1 (en) 2005-10-18 2005-10-18 Dialog authoring and execution framework
US11/253,047 2005-10-18
PCT/US2006/038740 WO2007047105A1 (en) 2005-10-18 2006-10-03 Dialog authoring and execution framework

Publications (2)

Publication Number Publication Date
KR20080058408A KR20080058408A (ko) 2008-06-25
KR101251697B1 true KR101251697B1 (ko) 2013-04-05

Family

ID=37962817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087009169A KR101251697B1 (ko) 2005-10-18 2006-10-03 다이얼로그 작성 및 실행 프레임워크

Country Status (6)

Country Link
US (1) US20070115920A1 (ko)
EP (1) EP1941435A4 (ko)
JP (1) JP2009512393A (ko)
KR (1) KR101251697B1 (ko)
CN (1) CN101292256A (ko)
WO (1) WO2007047105A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4197344B2 (ja) * 2006-02-20 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声対話システム
US8943394B2 (en) * 2008-11-19 2015-01-27 Robert Bosch Gmbh System and method for interacting with live agents in an automated call center
US20140269490A1 (en) * 2013-03-12 2014-09-18 Vonage Network, Llc Systems and methods of configuring a terminal adapter for use with an ip telephony system
US10462619B2 (en) * 2016-06-08 2019-10-29 Google Llc Providing a personal assistant module with a selectively-traversable state machine
US10621984B2 (en) * 2017-10-04 2020-04-14 Google Llc User-configured and customized interactive dialog application
KR102485253B1 (ko) * 2017-11-10 2023-01-06 현대자동차주식회사 대화 시스템 및 그 제어방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357596A (en) * 1991-11-18 1994-10-18 Kabushiki Kaisha Toshiba Speech dialogue system for facilitating improved human-computer interaction
US20010005382A1 (en) * 1999-07-13 2001-06-28 Inter Voice Limited Partnership System and method for packet network media redirection

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396536A (en) * 1992-06-23 1995-03-07 At&T Corp. Automatic processing of calls with different communication modes in a telecommunications system
US6389132B1 (en) * 1999-10-13 2002-05-14 Avaya Technology Corp. Multi-tasking, web-based call center
US6985576B1 (en) * 1999-12-02 2006-01-10 Worldcom, Inc. Method and apparatus for automatic call distribution
KR100314084B1 (ko) * 1999-12-07 2001-11-15 구자홍 인터넷 브라우져를 이용한 상담 장치 및 방법
JP3535068B2 (ja) * 2000-03-30 2004-06-07 富士通株式会社 マルチチャネル処理の制御装置およびマルチチャネル処理の制御方法
KR20020015908A (ko) * 2000-08-23 2002-03-02 전영 화상과 음성을 이용한 실시간 인터넷 콜시스템
AU2002246550A1 (en) * 2000-11-30 2002-08-06 Enterprise Integration Group, Inc. Method and system for preventing error amplification in natural language dialogues
WO2002073331A2 (en) * 2001-02-20 2002-09-19 Semantic Edge Gmbh Natural language context-sensitive and knowledge-based interaction environment for dynamic and flexible product, service and information search and presentation applications
KR100679807B1 (ko) * 2001-09-29 2007-02-07 주식회사 케이티 유선전화망에서의 문자정보서비스 제공 시스템
US7136909B2 (en) * 2001-12-28 2006-11-14 Motorola, Inc. Multimodal communication method and apparatus with multimodal profile
US20030179876A1 (en) * 2002-01-29 2003-09-25 Fox Stephen C. Answer resource management system and method
JP3777337B2 (ja) * 2002-03-27 2006-05-24 ドコモ・モバイルメディア関西株式会社 データサーバのアクセス制御方法、そのシステム、管理装置、及びコンピュータプログラム並びに記録媒体
US7302383B2 (en) * 2002-09-12 2007-11-27 Luis Calixto Valles Apparatus and methods for developing conversational applications
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
JP2004289803A (ja) * 2003-03-04 2004-10-14 Omron Corp 対話システム、対話制御方法および対話制御プログラム
US7729919B2 (en) * 2003-07-03 2010-06-01 Microsoft Corporation Combining use of a stepwise markup language and an object oriented development tool
US7363027B2 (en) * 2003-11-11 2008-04-22 Microsoft Corporation Sequential multimodal input
US7546546B2 (en) * 2005-08-24 2009-06-09 International Business Machines Corporation User defined contextual desktop folders

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357596A (en) * 1991-11-18 1994-10-18 Kabushiki Kaisha Toshiba Speech dialogue system for facilitating improved human-computer interaction
US20010005382A1 (en) * 1999-07-13 2001-06-28 Inter Voice Limited Partnership System and method for packet network media redirection

Also Published As

Publication number Publication date
EP1941435A4 (en) 2012-11-07
CN101292256A (zh) 2008-10-22
US20070115920A1 (en) 2007-05-24
JP2009512393A (ja) 2009-03-19
WO2007047105A1 (en) 2007-04-26
KR20080058408A (ko) 2008-06-25
EP1941435A1 (en) 2008-07-09

Similar Documents

Publication Publication Date Title
US7921214B2 (en) Switching between modalities in a speech application environment extended for interactive text exchanges
US7801968B2 (en) Delegated presence for unified messaging/unified communication
US8239204B2 (en) Inferring switching conditions for switching between modalities in a speech application environment extended for interactive text exchanges
US9111538B2 (en) Genius button secondary commands
US8442563B2 (en) Automated text-based messaging interaction using natural language understanding technologies
RU2349969C2 (ru) Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения
US8868425B2 (en) System and method for providing network coordinated conversational services
US7653547B2 (en) Method for testing a speech server
US11762629B2 (en) System and method for providing a response to a user query using a visual assistant
JP2011504304A (ja) パーソナル通信デバイス用のスピーチ・トゥ・テキスト・トランスクリプション
KR101251697B1 (ko) 다이얼로그 작성 및 실행 프레임워크
EP4029205A1 (en) Systems and methods facilitating bot communications
US8995626B2 (en) Unified and consistent user experience for server and client-based services
US20070294349A1 (en) Performing tasks based on status information
US10178230B1 (en) Methods and systems for communicating supplemental data to a callee via data association with a software-as-a-service application
JP3761158B2 (ja) 電話応答支援装置及び方法
US10984229B2 (en) Interactive sign language response system and method
CN108418979B (zh) 一种话务接续提示方法、装置、计算机设备及存储介质
JPH08263401A (ja) データの調整保守のための方法および装置
US20060019704A1 (en) Integrating wireless telephone with external call processor
US20040258217A1 (en) Voice notice relay service method and apparatus
Machiraju et al. Skype Calling Bot
CN117540805A (zh) 数据处理方法、装置、电子设备及存储介质
CN111324702A (zh) 人机对话方法及模拟人声进行人机对话的耳麦
Duerr Voice recognition in the telecommunications industry

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee