KR20230003253A - 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색 - Google Patents

인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색 Download PDF

Info

Publication number
KR20230003253A
KR20230003253A KR1020227042494A KR20227042494A KR20230003253A KR 20230003253 A KR20230003253 A KR 20230003253A KR 1020227042494 A KR1020227042494 A KR 1020227042494A KR 20227042494 A KR20227042494 A KR 20227042494A KR 20230003253 A KR20230003253 A KR 20230003253A
Authority
KR
South Korea
Prior art keywords
client device
user
ivr
phone call
given
Prior art date
Application number
KR1020227042494A
Other languages
English (en)
Other versions
KR102624148B1 (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 구글 엘엘씨
Priority to KR1020247000568A priority Critical patent/KR20240006719A/ko
Publication of KR20230003253A publication Critical patent/KR20230003253A/ko
Application granted granted Critical
Publication of KR102624148B1 publication Critical patent/KR102624148B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • H04M3/4935Connection initiated by DAS system
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42059Making use of the calling party identifier
    • H04M3/42068Making use of the calling party identifier where the identifier is used to access a profile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42204Arrangements at the exchange for service or number selection by voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4936Speech interaction details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5166Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

구현은 어시스턴트를 활용하여 보조 전화 통화 중에 타겟 상태에 도달하기 위해 대화형 음성 응답(IVR) 트리를 자동으로 탐색하는 것에 관한 것이다. 어시스턴트는 보조 전화 통화를 시작하기 위한 입력을 수신하고, 입력에 기초하여 보조 전화 통화 동안에 사용자를 대신하여 참여할 엔터티를 식별하고, 그 엔터티와 관련하여 저장된 IVR 트리를 식별할 수 있다. 다양한 구현에서, IVR 트리의 탐색은 보조 전화 통화를 개시하는 것에 후속하여 클라이언트 디바이스에서 검출된 상호작용(들)에 기초하여 수정될 수 있다. 다양한 구현에서, 보조 전화 통화는 검색 인터페이스에서 개시될 수 있고, 타겟 상태는 주어진 검색 결과와 관련될 수 있다. 다양한 구현에서, IVR 트리는 IVR 트리의 후보 상태(들)의 서브 세트만이 타겟 상태로서 사용 가능할 수 있다는 점에서 동적일 수 있다.

Description

인간 사용자를 대신하여 대화형 음성 응답(IVR) 트리 자동 탐색
자동화 어시스턴트는 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 자동차 시스템, 독립형 개인 비서 디바이스 등과 같은 다양한 컴퓨팅 디바이스를 통해 사용자와 상호작용할 수 있다. 자동화 어시스턴트는 사용자로부터 입력(예를 들어, 음성, 터치 및/또는 타이핑)을 수신하여 응답 출력(예를 들어, 시각적 및/또는 청각적)으로 응답한다.
사용자는 자동화 어시스턴트와 상호작용하여 자동화 어시스턴트가 사용자를 대신하여 동작(들)을 수행하도록 할 수 있다. 일 예로, 자동화 어시스턴트는 대화형 음성 응답(IVR) 시스템을 탐색할 수 있고, 주어진 동작을 수행하기 위해 사용자를 대신하여 전화를 걸 수 있으며, 동작(들)을 수행하기 위해 추가 사용자와의 대화에 참여할 수 있다. 예를 들어, 사용자는 자동화 어시스턴트가 사용자를 대신하여 전화를 통해 레스토랑을 예약하도록 요청하는 사용자 입력을 제공할 수 있다. 자동화 어시스턴트는 특정 레스토랑과 전화 통화를 개시할 수 있고, 예약을 하기 위해 특정 레스토랑과 관련된 IVR 시스템을 탐색할 수 있고 및/또는 예약을 하기 위해 특정 레스토랑과 관련된 추가 사람에게 예약 정보를 제공할 수 있다. 그런 다음 자동화 어시스턴트는 특정 레스토랑과 관련된 사람이 전화 통화의 활성 참가자인 경우 사용자에게 알리고, 전화 통화 중에 사용자를 대신하여 식당 예약이 성공적으로 이루어졌는지 여부를 사용자에게 알리고 및/또는 사용자가 전화 통화에 참여하도록 할 수 있다.
본 명세서에 개시된 구현은 자동화 어시스턴트를 사용하여 엔티티와 관련된 대화형 음성 응답(IVR) 시스템의 IVR 트리를 탐색하기 위해 주어진 사용자를 대신하여 엔티티와 보조 전화 통화(assisted telephone call)를 수행하는 것에 관한 것이다. 엔티티와 관련된 IVR 시스템의 IVR 트리는 주어진 사용자의 클라이언트 디바이스에서 액세스 가능한 데이터베이스(들)에 저장될 수 있다. IVR 트리를 탐색하기 위해 보조 전화 통화를 수행하는 것은 IVR 트리를 IVR 트리의 타겟(대상) 상태로 자동으로 탐색하는 것을 포함할 수 있다. IVR 트리의 타겟 상태는 주어진 사용자의 클라이언트 디바이스에서 검출된 사용자 입력에 기초하여 복수의 것 중에서 결정될 수 있다. 자동화 어시스턴트는 합성 음성 또는 인간의 음성이 IVR 시스템에서 가청적으로 인지될 수 있도록(그러나 반드시 주어진 사용자일 필요는 없음), 합성 음성 또는 인간 음성을 보조 전화에 삽입하는 것을 포함할 수 있는 보조 전화 통화의 일부로서 렌더링될 수 있는 합성 음성의 인스턴스(들), 및/또는 IVR 시스템에 의해 인식될 수 있도록 에뮬레이트된 버튼 누름을 통화에 삽입하는 것을 포함할 수 있는 보조 전화 통화의 일부로서 렌더링될 수 있는 에뮬레이트된 버튼 누름의 인스턴스(들)에 의해 IVR 트리를 IVR 트리의 타겟 상태로 자동으로 탐색할 수 있다. 합성 음성, 사람 음성, 및/또는 에뮬레이트된 버튼 누름은 IVR 트리를 타겟 상태로 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들)에 기초하여 결정될 수 있다. 파라미터(들)는 엔티티와 관련된 IVR 트리와 관련되어 저장될 수 있고, 파라미터에 대한 대응 값(들)은 데이터베이스(들)로부터 검색될 수 있고 및/또는 클라이언트 디바이스의 주어진 사용자로부터 요청될 수 있다. 일부 구현에서, 자동화 어시스턴트는 클라이언트 디바이스로 하여금 클라이언트 디바이스의 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 렌더링하게 할 수 있다. 일부 추가적 또는 대안적인 구현에서, 자동화 어시스턴트는 IVR 트리를 타겟 상태로 자동으로 탐색한 후 사용자를 대신하여 동작(들)을 선택적으로 수행할 수 있다. 예를 들어, 자동화 어시스턴트는 사용자를 대신하여 동작(들)을 수행하기 위해 엔터티와 관련된 인간 담당자와의 대화에 참여할 수 있다.
일부 구현은 보조 전화 통화를 개시하는 것에 후속하여 클라이언트 디바이스에서 검출된 사용자 상호작용에 기초하여 IVR 트리의 탐색을 수정하는 것에 관한 것이다. 자동화 어시스턴트는 IVR 트리의 탐색을 수정하는 것과 관련된 프롬프트(들)를 생성 및 렌더링할 수 있으며, 프롬프트(들)에 응답하여 수신된 사용자 입력에 기초하여 IVR 트리의 탐색을 수정할지 여부를 결정할 수 있다. 이러한 구현의 일부 버전에서, IVR 트리의 탐색을 수정하는 것은 타겟 상태를 대체 타겟 상태로 수정하거나 타겟 상태로 탐색하는 것에 후속하여 탐색될 추가 타겟 상태를 추가하는 것을 포함할 수 있다. 예를 들어, 자동화 어시스턴트가 주택 개량 업체(entity)와 관련된 IVR 트리의 도색 부서와 관련된 타겟 상태로 탐색하고 있다고 가정한다. 이 예에서, 주어진 사용자가 주택 개량 업체와 관련된 웹페이지의 주택 및 원예 섹션과 상호작용하는 경우, 사용자는 주택 개량 업체와 관련된 IVR 트리의 가정 및 원예 부서와 관련된 타겟 상태로 추가적으로로 또는 대안적으로 탐색하도록 프롬프트될 수 있다. 이러한 구현의 일부 추가적 및/또는 대안적인 버전에서, IVR 트리의 탐색을 수정하는 것은 IVR 트리를 타겟 상태로 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들)을 수정하는 것을 포함할 수 있다. 위의 예를 계속하여, 주어진 사용자가 특정 브랜드의 페인트와 관련된 웹페이지와 상호작용하면, 사용자는 페인트 브랜드 파라미터에 대해 특정 브랜드의 페인트와 관련된 대응하는 값을 이용하도록 프롬프트될 수 있다. 이들식 및 기타 방식으로, 클라이언트 디바이스 리소스(들) 및/또는 네트워크 리소스(들)는 대체 타겟 상태 및/또는 IVR 트리를 탐색하기 위한 대체 값(들)과 관련하여 수행되는 다른 보조 전화 통화의 재실행을 방지함으로써 보존될 수 있다. 또한, 보조 전화 통화가 보다 신속하게 종결될 수 있으므로 컴퓨터 및/또는 네트워크 리소스가 보조 전화 통화를 수행하는데 사용되는 전체 기간이 줄어들 수 있다. 더욱이, 클라이언트 디바이스의 배터리 리소스는 또한 주어진 사용자가 보조 전화 통화의 능동적인 참가자가 아니며 클라이언트 디바이스는 보조 전화 통화 동안 잠금 상태 또는 저전력 상태에 놓일 수 있다는 점에서 보존될 수 있다.
일부 추가적 또는 대안적 구현은 사용자 입력에 기초하여 결정된 검색 쿼리에 응답하여 수신되는 검색 결과와 함께 IVR 트리의 후보 상태(들)에 대한 IVR 딥링크를 제공하는 것에 관한 것이다. 이러한 구현의 일부 버전에서, 주어진 IVR 딥링크는 검색 쿼리를 발행하기 전에 클라이언트 디바이스에서의 최근 사용자 상호작용에 기초하여 제공될 수 있다. 예를 들어, 클라이언트 디바이스의 사용자가 분실 수하물을 항공사 엔터티에 신고하는 것과 관련된 검색 결과와 상호 작용한 다음 항공사 엔터티에 대한 검색을 발행한다고 가정한다. 이 예에서, 자동화 어시스턴트는 분실 수하물 신고의 타겟 상태와 관련된 IVR 딥링크가 최근 사용자 상호작용에 기초하여 클라이언트 디바이스의 주어진 사용자에 의해 선택을 위해 (제공될 수 있는 다른 IVR 딥링크보다 더 눈에 띄게 선택적으로) 제공되도록 할 수 있다. 이러한 구현의 일부 추가적 및/또는 대안적인 버전에서, 주어진 IVR 딥링크는 검색 쿼리의 용어(들)에 기초하여 제공될 수 있다. 예를 들어, 클라이언트의 지정된 사용자가 "예시 항공사(Example Airlines)에 분실 수하물 신고"라는 검색 쿼리를 발행한다고 가정한다. 이 예에서, 자동화 어시스턴트는 분실 수하물 신고의 타겟 상태와 관련된 IVR 딥링크가 "분실 수하물 신고" 및 "예시 항공사"를 포함한 검색 쿼리의 용어(들)에 기초하여 클라이언트 디바이스의 주어진 사용자에 의한 선택을 위해 제공되게 할 수 있다. 이러한 방식 및 기타 방식으로, 사용자 입력의 양이 감소될 수 있으며, 이에 따라 주어진 사용자가 "IVR 딥링크"를 선택하기만 하면 되기 때문에 클라이언트 디바이스 리소스(들)가 보존될 수 있다. 또한, 보조 전화 통화는 보다 신속하게 종결될 수 있으므로 보조 전화 통화를 수행하는데 컴퓨터 및/또는 네트워크 리소스가 사용되는 전체 시간이 단축된다. 더욱이, 클라이언트 디바이스의 배터리 리소스는 또한 주어진 사용자가 보조 전화 통화의 능동적인 참가자가 아니며 클라이언트 디바이스는 보조 전화 통화 동안 잠금 상태 또는 저전력 상태에 놓일 수 있다는 점에서 보존될 수 있다.
일부 추가적 또는 대안적 구현은 주어진 사용자의 클라이언트 디바이스와 관련된 컨텍스트 정보 및/또는 클라이언트 디바이스의 주어진 사용자와 관련된 컨텍스트 정보에 기초하여 후보 상태의 가용성을 결정하는 것에 관한 것이다. 클라이언트 디바이스와 관련된 컨텍스트 정보는 예를 들어 디바이스 상태 정보(예를 들어, 온 상태, 오프 상태, 잠금 상태, 수면 상태), 클라이언트 디바이스의 현재 위치와 관련된 날짜 및/또는 시간 정보, 클라이언트 디바이스의 현재 위치, 및/또는 클라이언트 디바이스에 의해 생성된 기타 컨텍스트 정보를 포함할 수 있다. 예를 들어, 레스토랑 엔티티와 관련된 후보 상태는 레스토랑 엔티티가 열려 있는 경우 포장 후보 상태 및 배달 후보 상태를 포함할 수 있다. 그러나, 레스토랑 엔티티와 관련된 후보 상태는 레스토랑 엔티티가 닫혀 있는 경우 포장 후보 상태 또는 배달 후보 상태를 포함하지 않을 수 있으며, 레스토랑이 열려 있더라도 클라이언트 디바이스가 배달 반경을 벗어나 위치하는 경우 배달 후보 상태를 포함하지 않을 수 있다. 또한, 클라이언트 디바이스의 주어진 사용자와 관련된 컨텍스트 정보는 예를 들어 클라이언트 디바이스의 사용자에 의해 생성되거나 클라이언트 디바이스의 사용자에 의해 수신된 전자 통신(들), 클라이언트 디바이스의 주어진 사용자의 다양한 사용자 계정과 관련된 사용자 계정 정보, 클라이언트 디바이스의 주어진 사용자의 금융 정보, 클라이언트 디바이스의 주어진 사용자의 사진 앨범(들), 클라이언트 디바이스의 주어진 사용자의 소셜 미디어 프로필, 클라이언트 디바이스의 사용자의 기본 설정(들), 클라이언트 디바이스의 주어진 사용자의 개인 정보, 및/또는 클라이언트 디바이스의 주어진 사용자와 관련된 기타 정보를 포함할 수 있다. 예를 들어, 호텔 엔티티와 관련된 후보 상태는 주어진 사용자가 호텔 엔티티에서 골드 등급 회원 이상인 경우 컨시어지 상태 연락 또는 무료 업그레이드 요청 상태를 포함할 수 있다. 그러나, 주어진 사용자가 호텔 엔티티의 골드 등급 회원 이상이 아닌 경우, 후보 상태는 이러한 상태를 생략할 수 있다. 이들 및 다른 방식으로, 클라이언트 디바이스 리소스(들) 및/또는 네트워크 리소스(들)는 이용 가능하지 않을 수 있는 후보 상태를 선택하는 주어진 사용자와 관련하여 수행되는 다른 보조 전화 통화의 재실행(re-launching)을 방지함으로써 보존될 수 있다. 또한, 보조 전화 통화가 보다 신속하게 종결될 수 있으므로, 보조 전화 통화를 수행하는데 컴퓨터 및/또는 네트워크 리소스가 사용되는 전체 시간이 단축된다. 더욱이, 클라이언트 디바이스의 배터리 리소스는 또한 주어진 사용자가 보조 전화 통화에 능동적인 참가자가 아니고 클라이언트 디바이스가 보조 전화 통화 동안 잠금 상태 또는 저전력 상태에 놓일 수 있다는 점에서 점에서 보존될 수 있다.
일부 추가적 또는 대안적인 구현은 엔티티와 관련된 IVR 트리에 대한 신뢰도 레벨에 기초하여 다양한 방식으로 후보 상태를 렌더링하는 것에 관한 것이다. 엔티티와 관련하여 저장된 IVR 트리에 대한 신뢰도 레벨은 엔티티와 관련하여 저장된 IVR 트리와 다른 IVR 트리를 탐색하는 것을 포함하는 엔티티와의 지원 전화 통화의 양에 기초할 수 있고, 탐색된 IVR 트리와 저장된 IVR 트리 간의 차이 정도에 선택적으로 기초할 수 있다. 예를 들어, IVR 트리의 신뢰도 레벨이 자동화 어시스턴트가 엔티티와 관련된 IVR 트리를 매우 신뢰함을 나타내는 제1 임계값을 충족하는 경우, 자동화 어시스턴트는 보조 전화 통화를 개시하기 전에 또는 보조 전화 통화를 개시할 때 IVR 트리를 하나 이상의 후보 상태로 빠르게 탐색하는 방법을 클라이언트 디바이스의 주어진 사용자에게 알리기 위해 클라이언트 디바이스에서 버튼 누름의 시퀀스가 렌더링되게 할 수 있거나(예를 들어, 분실 수하물을 신고하려면 "1", "3", "5"를 누르십시요), 또는 자동화 어시스턴트는 후보 상태(들)와 관련된 선택 가능한 그래픽 엘리먼트(들)(버튼 누름의 시퀀스와 일치하지 않을 수 있음)가 클라이언트 디바이스에서 렌더링되게 할 수 있고, 선택될 때 자동화 어시스턴트가 보조 전화 통화를 개시하기 전에 또는 보조 전화 통화를 개시할 때 상기 선택된 선택 가능한 그래픽 엘리먼트와 관련된 타겟 상태로 자동으로 탐색하게 할 수 있다(예를 들어, 분실 수하물을 신고하려면 "5"를 누르십시요). 다른 예로서, IVR 트리에 대한 신뢰도 레벨이 제1 임계값을 충족하지 못하지만 제2 임계값을 충족하는 경우, 이는 자동화 어시스턴트가 엔터티와 관련된 IVR 트리를 약간 신뢰함을 나타내며, 이후 자동화 어시스턴트는 후보 상태(들)와 관련된 앞서 언급한 선택 가능한 그래픽 엘리먼트(들)(버튼 누름 시퀀스와 일치하지 않을 수 있음)가 클라이언트 디바이스에서 그리고 자동화 어시스턴트가 약간 신뢰하는 IVR 트리의 일부가 순회될 때만 렌더링되게 할 수 있다. 또 다른 예로서, IVR 트리에 대한 신뢰도 레벨이 제1 임계값 및 제2 임계값을 충족하지 못하는 경우, 이는 자동화 어시스턴트가 엔티티와 관련된 IVR 트리를 신뢰하지 않음을 나타내며, 이후 자동화 어시스턴트는 자동화 어시스턴트가 IVR 트리에 대한 옵션을 인식한 후 후보 상태와 관련된 앞서 언급한 선택 가능한 그래픽 엘리먼트(버튼 누름 시퀀스와 일치하지 않을 수 있음)가 클라이언트 디바이스에서 렌더링되게 할 수 있다. 이들 및 다른 방식으로, 클라이언트 디바이스 리소스(들) 및/또는 네트워크 리소스(들)는 자동화 어시스턴트가 IVR 트리 탐색을 위해 사용자에게 잘못된 정보를 제공한 경우 다른 보조 전화 통화의 재실행을 방지함으로써 보존될 수 있다. 또한, 보조 전화 통화가 보다 신속하게 종결될 수 있으므로, 후보 상태와 관련된 버튼 누름 시퀀스 또는 선택 가능한 엘리먼트를 제공함으로써 보조 전화 통화를 수행하는데 컴퓨터 및/또는 네트워크 리소스가 이용되는 전체 기간을 줄일 수 있다. 더욱이, 클라이언트 디바이스의 배터리 리소스는 또한 주어진 사용자가 보조 전화 통화의 능동적인 참가자가 아니고 클라이언트 디바이스는 보조 전화 통화 동안 잠금 상태 또는 저전력 상태에 놓일 수 있다는 점에서 점에서 보존될 수 있다.
위의 설명은 본 명세서에 개시된 일부 구현의 개요로서 제공된다. 이러한 구현 및 다른 구현은 본 명세서에서 추가로 상세히 설명된다.
도 1은 본 명세서에 개시된 구현들이 구현될 수 있는 본 개시의 다양한 양태를 보여주는 예시적인 환경의 블록도를 도시한다.
도 2는 다양한 구현에 따른 예시적인 대화형 음성 응답(IVR) 트리를 도시한다.
도 3은 다양한 구현에 따른 주어진 사용자와 관련된 클라이언트 디바이스에서의 사용자 상호작용(들)에 기초하여 대화형 음성 응답(IVR) 트리의 탐색을 수정하는 예시적인 방법을 나타내는 흐름도를 도시한다.
도 4a, 4b 및 4c는 다양한 구현에 따른 주어진 사용자와 관련된 클라이언트 디바이스에서의 사용자 상호작용(들)에 기초하여 대화형 음성 응답(IVR) 트리의 탐색을 수정하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적인 예를 도시한다.
도 5는 다양한 구현에 따른 주어진 사용자와 관련된 클라이언트 디바이스에서 검색 인터페이스로부터 대화형 음성 응답(IVR) 트리를 탐색하는 예시적인 방법을 나타내는 흐름도를 도시한다.
도 6a, 6b, 6c, 6d 및 6e는 다양한 구현에 따른 주어진 사용자와 관련된 클라이언트 디바이스에서 검색 인터페이스로부터 대화형 음성 응답(IVR) 트리를 탐색하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적인 예를 도시한다.
도 7은 다양한 구현에 따른, 동적 대화형 음성 응답(IVR) 트리를 탐색하는 예시적인 방법을 나타내는 흐름도를 도시한다.
도 8a, 8b, 8c 및 8d는 다양한 구현에 따른 동적 대화형 음성 응답(IVR) 트리를 탐색하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적인 예를 도시한다.
도 9는 다양한 구현에 따른 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
이제 도 1을 참조하면, 본 개시의 다양한 양태를 보여주고 본 명세서에 개시된 구현들이 구현될 수 있는 예시적인 환경의 블록도가 도시된다. 클라이언트 디바이스(110)가 도 1에 도시되어 있으며, 다양한 구현에서 사용자 입력 엔진(111), 디바이스 상태 엔진(112), 렌더링 엔진(113), 검색 엔진(114), 음성 인식 엔진(120A1), 자연어 이해("NLU") 엔진(130A1), 및 음성 합성 엔진(140A1)을 포함한다.
사용자 입력 엔진(111)은 클라이언트 디바이스(110)에서 다양한 유형의 사용자 입력을 검출할 수 있다. 클라이언트 디바이스(110)에서 검출된 사용자 입력에는 클라이언트 디바이스(110)의 마이크로폰(들)을 통해 검출된 음성 입력 및/또는 보조 전화 통화 중에 엔티티와 관련된 추가 사용자의 추가 클라이언트 디바이스로부터 클라이언트 디바이스(110)로 전송된 추가 음성 입력, 클라이언트 디바이스(110)의 사용자 인터페이스 입력 디바이스(예를 들어, 터치스크린)를 통해 검출된 터치 입력, 및/또는 클라이언트 디바이스(110)의 사용자 인터페이스 입력 디바이스(예를 들어, 터치스크린 상의 가상 키보드)를 통해 검출된 타이핑 입력이 포함될 수 있다. 엔티티와 관련된 추가 사용자는 예를 들어 추가 클라이언트 디바이스와 관련된 추가 인간 참가자, 추가 사용자의 추가 클라이언트 디바이스와 관련된 추가 자동화 어시스턴트, 및/또는 기타 추가 사용자일 수 있다.
본 명세서에 설명된 보조 전화 통화(assisted telephone call)는 다양한 음성 통신 프로토콜(예를 들어, VoIP(Voice over Internet Protocol), PSTN(공중 전화 교환 네트워크), 및/또는 기타 전화 통신 프로토콜)을 사용하여 수행될 수 있다. 본 명세서에 설명된 바와 같이, 합성(된) 음성은 보조 전화 통화의 일부로서 렌더링될 수 있는데, 이는 합성 음성을 보조 전화 통화의 참가자 중 적어도 하나가 인식할 수 있도록 통화에 삽입(inject)하는 것을 포함할 수 있다. 또한 본 명세서에 기술된 바와 같이, 에뮬레이트된 버튼 누름이 보조 전화 통화의 일부로서 렌더링될 수 있는데, 이는 보조 전화 통화의 참가자들 중 적어도 하나가 인지할 수 있도록 에뮬레이트된 버튼 누름을 통화에 삽입하는 것을 포함할 수 있다. 합성 음성은 또한 통화의 엔드포인트들 중 하나인 클라이언트 디바이스(110)에 의해 생성 및/또는 삽입될 수 있고 및/또는 클라이언트 디바이스(100)와 통신하는 서버에 의해 생성 및/또는 삽입될 수 있고, 보조 전화 통화에 연결될 수 있다. 또한, 본 명세서에 기술된 바와 같이, 청각 출력은 보조 전화 통화 외부에서 렌더링될 수 있으며, 이는 청각 출력을 통화에 삽입하는 것을 포함하지 않지만, 청각 출력은 보조 전화 통화에 연결된 클라이언트 디바이스(110)의 마이크로폰에 의해 검출될 수 있고, 그 결과 통화에서 감지할 수 있다. 일부 구현에서, 보조 전화 통화는 선택적으로 음소거될 수 있고 및/또는 필터링은 보조 전화 통화에서, 보조 전화 통화 외부에서 렌더링되는 가청 출력의 인식(perceiving)을 완화하기 위해 사용될 수 있다.
다양한 구현에서, 자동화 어시스턴트(115)(일반적으로 도 1에서 점선으로 표시됨)는 보조 전화 통화 시스템(160)을 사용하여 네트워크(190)(예를 들어, Wi-Fi, 블루투스, 근거리 통신, 근거리 통신망(들), 광역 네트워크(들) 및/또는 기타 네트워크)를 통해 클라이언트 디바이스(110)에서 보조 전화 통화를 실행할 수 있다. 보조(assisted) 전화 통화 시스템(160)은 다양한 구현에서 음성 인식 엔진(120A2), NLU 엔진(130A2), 음성 합성 엔진(140A2), 및 보조 전화 통화 엔진(150)을 포함한다. 일부 구현에서, 자동화 어시스턴트(115)는 보조 전화 통화 시스템(160)을 이용하여 추가 사용자와의 보조 전화 통화 중에, 클라이언트 디바이스(110)의 사용자를 대신하여 엔티티와 관련된 IVR 시스템의 대화형 음성 응답(IVR) 트리를 탐색(navigate)할 수 있다. 일부 추가적 또는 대안적인 구현에서, 자동화 어시스턴트(115)는 보조 전화 통화 시스템(160)을 이용하여 추가 사용자와의 보조 전화 통화 중에, 클라이언트 디바이스(110)의 사용자를 대신하여 태스크(들)를 수행할 수 있다. 일부 추가적 또는 대안적인 구현에서, 자동화 어시스턴트(115)는 보조 전화 통화 시스템(160)을 이용하여 비대화형 시스템(예를 들어, 대기(on-hold) 시스템, 음성 메일 시스템)을 탐색하고 및/또는 보조 전화 통화 중에 IVR 시스템이 오작동하는지 또는 아무 일도 일어나지 않는지 인식한다(그리고 선택적으로 보조 전화 통화를 종료하고 사용자에게 알린다)
더욱이, 일부 구현에서, IVR 트리를 탐색한 후 클라이언트 디바이스(110)의 사용자를 대신하여 임의의 태스크(들)를 수행하기 전에, 자동화 어시스턴트(115)는 자동화 어시스턴트(115)와의 대화에 참여하기 위해 추가 사용자로부터 동의를 얻을 수 있다. 예를 들어, 자동화 어시스턴트(115)는 인간 참가자의 음성에 대응하는 오디오 데이터를 처리하기 위해 인간 참가자와 연결 시 동의를 얻을 수 있다. 자동화 어시스턴트(115)가 추가 사용자로부터 동의를 얻은 경우, 자동화 어시스턴트(115)는 (예를 들어, 검증 엔진(155)과 관련하여 아래에 설명되는 바와 같이) IVR 트리의 타겟 상태가 도달되었는지 검증할 수 있고, 및/또는 (예를 들어, 태스크 엔진(157)과 관련하여 아래에 설명되는 바와 같이) 사용자를 대신하여 태스크(들)를 수행할 수 있다. 그러나, 자동화 어시스턴트(115)가 추가 사용자의 동의를 얻지 못하면, 자동화 어시스턴트(115)는 클라이언트 디바이스(110)로 하여금 (예를 들어, 렌더링 엔진(113)을 사용하여) 클라이언트 디바이스(110)의 사용자에게 사용자가 보조 전화 통화를 이어받을 필요가 있음을 나타내는 통지를 렌더링하게 할 수 있고 및/또는 보조 전화 통화를 종료하고 (예를 들어, 렌더링 엔진(113)을 사용하여) 클라이언트 디바이스(110)의 사용자에게 통지를 렌더링하게 할 수 있다.
이하에서 상세히 설명되는 바와 같이, 자동화 어시스턴트(115)는 자동화 어시스턴트(115)를 사용하여 전화 통화를 개시하기 위해 클라이언트 디바이스(110)의 사용자로부터의 사용자 입력을 검출하는 것에 응답하여 보조 전화 통화 시스템(160)을 사용하여 보조 전화 통화를 실행할 수 있다. 일부 구현에서, 자동화 어시스턴트(115)는 클라이언트 장치(110)에서 수신된 사용자 입력에 기초하여, 클라이언트 디바이스(110)의 사용자를 대신하여 보조 전화 통화 동안 참여할 엔티티와 관련된 IVR 트리의 탐색을 위한 타겟 상태를 복수의 후보 상태 중에서 결정할 수 있다. 이러한 구현의 일부 버전에서, 자동화 어시스턴트(115)는 보조 전화 통화를 시작하기 전에 또는 보조 전화 통화가 개시될 때 타겟 상태의 선택을 수신할 수 있다. 이러한 구현의 일부 추가 또는 대안적인 버전에서, 자동화 어시스턴트(115)는 보조 전화 통화를 개시하기 전에 또는 보조 전화 통화가 개시될 때 타겟 상태가 되는 선택 시퀀스를 수신할 수 있다. 자동화 어시스턴트(115)는 타겟 상태에 도달할 때까지 IVR 트리를 탐색할 수 있고, 자동화 어시스턴트(115)가 타겟 상태에 도달했다는 통지가 (예를 들어, 렌더링 엔진(113)을 사용하여) 클라이언트 디바이스(110)에 렌더링되게 할 수 있다. 다양한 구현에서, 자동화 어시스턴트(115)는 타겟 상태에 도달할 때 사용자를 대신하여 태스크(들)를 추가로 수행할 수 있고, (예를 들어, 렌더링 엔진(113)을 사용하여) 클라이언트 디바이스(110)에 렌더링될 태스크(들)의 수행 결과를 포함하는 통지(알림)를 유발할 수 있다.
도 1에 도시된 바와 같이, 보조 전화 통화 시스템(160)은 원격으로(예를 들어, 서버(들) 및/또는 기타 원격 클라이언트 디바이스(들)을 통해) 구현되어 클라이언트 디바이스(110)와 통신할 수 있다. 보조 전화 통화 시스템(160)이 네트워크(들)(190)를 통해 원격으로 구현되고 클라이언트 디바이스(110)와 통신하는 것으로 도 1에 도시되어 있지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 다양한 구현에서, 보조 전화 통화 시스템(160)은 클라이언트 디바이스(110)상에서 로컬로 구현될 수 있다. 다른 예로서, 다양한 구현에서, 보조 전화 통화 시스템(160)은 클라이언트 디바이스(110)(예를 들어, 클라우드 기반 보조 전화 통화)에 대한 임의의 연결 없이 보조 전화 통화 시스템(160)에서 원격으로 구현될 수 있고, 클라이언트 디바이스(110)는 선택적으로 오프 상태에 있거나 어떤 네트워크에도 연결되지 않을 수 있다(예를 들어, 디바이스 상태 엔진(112)을 사용하여 결정됨). 더욱이, 자동화 어시스턴트(115)가 클라이언트 디바이스(110) 상에서 로컬로 구현되고 보조 전화 통화 시스템(160)에서 원격으로 구현되는 것으로 도 1에 도시되어 있지만, 이는 또한 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 다양한 구현에서, 자동화 어시스턴트(115)는 클라이언트 디바이스(110) 상에서 로컬로 구현될 수 있는 반면, 다른 구현에서 자동화 어시스턴트(115)는 클라이언트 디바이스(110) 상에서 로컬로 구현되고 별도의 클라우드 기반 자동화 어시스턴트와 상호작용할 수 있다(예를 들어, 자동화 어시스턴트(115)의 논리적 인스턴스를 형성함).
구현에서, 사용자 입력 엔진(111)이 클라이언트 디바이스(110)의 마이크로폰(들)을 통해 사용자의 음성 입력을 검출하고 및/또는 추가 사용자로부터, (예를 들어, 보조 전화 통화 동안) 추가 클라이언트 디바이스로부터 클라이언트 디바이스(110)로 전송된 추가 음성 입력을 캡처하는 오디오 데이터를 수신할 때, 클라이언트 디바이스(110)의 음성 인식 엔진(120A1)은 음성 인식 모델(들)(120A)을 사용하여, 음성 입력을 캡처하는 및/또는 추가 음성 입력을 캡처하는 오디오 데이터를 처리할 수 있다. 음성 인식 엔진(120A1)은 오디오 데이터의 처리에 기초하여 음성 입력 및/또는 추가 음성 입력에 대응하는 인식된 텍스트를 생성할 수 있다. 또한, 클라이언트 디바이스(110)의 NLU 엔진(130A1)은 NLU 모델(들)(130A)을 사용하여, 음성 인식 엔진(120A1)에 의해 생성된 인식된 텍스트를 처리하여 음성 입력 및/또는 추가 음성 입력에 포함된 의도(들)를 결정할 수 있다. 예를 들어, 클라이언트 디바이스(110)가 사용자로부터 "가상 항공사(Hypothetical Airline)에 전화하여 수하물 분실 신고해줘"라는 음성 입력을 감지하면, 클라이언트 디바이스(110)는 음성 인식 모델(들)(120A)을 사용하여, 음성 입력을 캡처하는 오디오 데이터를 처리하여 "가상 항공사에 전화하여 수하물 분실 신고해줘"라는 음성 입력에 대응하는 인식된 텍스트를 생성할 수 있고, NLU 모델(들)(130A)을 사용하여, 인식된 텍스트를 처리하여 적어도 전화를 걸려는 제1 의도와 분실 수하물을 신고하려는 제2 의도를 결정할 수 있다. 다른 예로서, 클라이언트 디바이스(110)가 "전화한 이유를 간단히 말씀해 주십시요"라는 추가 음성 입력을 검출하면, 클라이언트 디바이스(110)는 음성 인식 모델(들)(120A)을 사용하여, 추가 음성 입력을 캡처하는 오디오 데이터를 처리하여 "전화한 이유를 간단히 말씀해 주십시요"라는 추가 음성 입력에 대응하는 인식된 텍스트를 생성할 수 있고, NLU 모델(들)(130A)을 사용하여, 인식된 텍스트를 처리하여 보조 전화 통화가 시작된 이유(예를 들어, 수하물 분실 신고)와 관련된 정보 요청을 포함하는 자연어 입력 요청의 의도를 결정한다. 이들 구현의 일부 버전에서, 클라이언트 디바이스(110)는 오디오 데이터, 인식된 텍스트, 및/또는 의도(들)를 보조 전화 통화 시스템(160)으로 전송할 수 있다.
다른 구현에서, 사용자 입력 엔진(111)이 클라이언트 디바이스(110)의 마이크로폰(들)을 통해 사용자의 음성 입력을 검출하고 및/또는 (예를 들어, 보조 전화 통화 동안 및/또는 통화 중에) 추가 사용자로부터, 추가 클라이언트 디바이스로부터 클라이언트 디바이스(110)로 전송된 추가 음성 입력을 캡처하는 오디오 데이터를 수신할 때, 자동화 어시스턴트(115)는 클라이언트 디바이스(110)가 음성 입력 및/또는 추가 음성 입력을 캡처하는 오디오 데이터를 보조 전화 통화 시스템(160)으로 전송하게 할 수 있다. 보조 전화 통화 시스템(160)의 음성 인식 엔진(120A2) 및/또는 NLU 엔진(130A2)은 클라이언트 디바이스(110)의 음성 인식 엔진(120A1) 및/또는 NLU 엔진(130A1)과 관련하여 위에서 설명한 것과 유사한 방식으로 음성 입력을 캡처하는 오디오 데이터 및/또는 추가 음성 발언(spoken utterance)을 캡처하는 오디오 데이터를 처리할 수 있다. 일부 추가적인 및/또는 대안적인 구현에서, 클라이언트 디바이스(110)의 음성 인식 엔진(120A1) 및/또는 NLU 엔진(130A1)은 보조 전화 통화 시스템(160)의 음성 인식 엔진(120A2) 및/또는 NLU 엔진(130A2)과 함께 분산 방식으로 사용될 수 있다. 더욱이, 음성 인식 모델(들)(120A) 및/또는 NLU 모델(들)(130A)은 클라이언트 디바이스(110)에 로컬로 및/또는 네트워크(들)(190)를 통해 클라이언트 디바이스(110) 및/또는 보조 전화 통화 시스템(160)과 통신하는 서버(들)에 원격으로 저장될 수 있다.
다양한 구현에서, 음성 인식 모델(들)(120A)은 종단간(end-to-end) 음성 인식 모델(들)이므로 음성 인식 엔진(들)(120A1 및/또는 120A2)은 모델을 직접 사용하여 음성 입력에 대응하는 인식된 텍스트를 생성할 수 있다. 예를 들어, 음성 인식 모델(들)(120A)은 문자별(단위)(또는 다른 토큰별)로 인식된 텍스트를 생성하는데 사용되는 종단간 모델(들)일 수 있다. 문자별로 인식된 텍스트를 생성하는데 사용되는 이러한 종단 간 모델(들)의 한 가지 비-제한적인 예는 순환 신경망 변환기(RNN-T) 모델이다. RNN-T 모델은 어텐션 메커니즘을 사용하지 않는 시퀀스 간 모델의 한 형태이다. 다른 구현에서, 음성 인식 모델(들)(120A)은 음성 인식 엔진(들)(120A1 및/또는 120A2)이 예측된 음소(들)(및/또는 다른 표현)를 대신 생성할 수 있도록 종단간 음성 인식 모델(들)이 아니다. 예를 들어, 예측된 음소(들)(및/또는 다른 표현)는 이후에 그 예측된 음소(들)에 부합하는 인식된 텍스트를 결정하기 위해 음성 인식 엔진(들)(120A1 및/또는 120A2)에 의해 이용될 수 있다. 이 과정에서, 음성 인식 엔진(들)(120A1 및/또는 120A2)은 선택적으로 디코딩 그래프, 어휘집 및/또는 기타 리소스(들)를 사용할 수 있다.
사용자 입력 엔진(111)이 클라이언트 디바이스(110)의 사용자 인터페이스 입력 디바이스를 통해 터치 및/또는 타이핑된 입력을 검출하는 구현에서, 자동화 어시스턴트(115)는 터치 입력의 표시 및/또는 타이핑된 입력의 표시가 클라이언트 디바이스(110)로부터 보조 전화 통화 시스템(160)으로 전송되게 할 수 있다. 이러한 구현의 일부 버전에서, 터치 입력의 표시 및/또는 타이핑된 입력의 표시는 기본(underlying) 텍스트 또는 터치 입력의 표현 및/또는 타이핑된 입력의 텍스트를 포함할 수 있으며, 기본 텍스트 음성 인식 모델(들)(120A)은 종단간 음성 인식 모델(들)이며 기본 텍스트 및/또는 텍스트에 대한 의도(들)를 결정하기 위해 NLU 모델(들)(130A)을 사용하여 처리될 수 있다.
본 명세서에 설명된 바와 같이, 보조 전화 통화 시스템(160)의 보조 전화 통화 엔진(150)은 음성 인식 엔진(들)(120A1 및/또는 120A2)에 의해 생성된 인식된 텍스트, 클라이언트 디바이스(110)에서 검출된 터치 입력의 기본 텍스트 또는 표현, 클라이언트 디바이스(110)에서 검출된 타이핑된 입력의 기본 텍스트, 및/또는 NLU 엔진(들)(130A1 및/또는 130A2)에 의해 결정된 의도(들)를 추가로 처리할 수 있다. 보조 전화 통화 엔진(150)은 다양한 구현에서 엔티티 식별 엔진(151), 대화형 음성 응답(IVR) 엔진(152), 파라미터(들) 엔진(153), 사용자 상호작용 엔진(154), 검증 엔진(155), 통지 엔진(156), 및 태스크 수행 엔진(157)을 포함한다.
엔티티 식별 엔진(151)은 클라이언트 디바이스(110)의 사용자를 대신하여, 참여할 엔티티를 식별할 수 있다. 엔티티는 예를 들어 개인 엔티티, 비즈니스 엔티티, 위치 엔티티 및/또는 기타 엔티티일 수 있다. 예를 들어, 개인 엔터티는 친구 엔터티, 가족 구성원 엔터티, 동료 엔터티 및/또는 기타 특정 유형의 개인 엔터티일 수 있다. 또한, 비즈니스 엔티티는 레스토랑 엔티티, 항공사 엔티티, 호텔 엔티티, 미용실 엔티티, 의사의 사무실 엔티티 및/또는 기타 특정 유형의 비즈니스 엔티티일 수 있다. 게다가, 위치 엔티티는 학교 엔티티, 박물관 엔티티, 도서관 엔티티, 공원 엔티티, 및/또는 다른 특정 유형의 위치 엔티티일 수 있다. 일부 구현에서, 엔티티 식별 엔진(151)은 또한 식별된 엔티티에 대한 특정 엔티티를 결정할 수 있다. 예를 들어 개인 엔터티에 대한 특정 엔터티는 사람의 이름(예를 들어, 제인 도우, 존 도우 등)일 수 있고, 비즈니스 엔터티의 특정 엔터티는 비즈니스 이름(예를 들어, 가상 항공사, 예시적인 항공사 등)일 수 있고, 위치 엔터티에 대한 특정 엔터티는 위치 이름(예를 들어, 가상 대학, 예시적인 국립 공원 등)일 수 있다. 본 명세서에 설명된 엔티티는 다양한 세분화 수준으로 정의될 수 있지만, 단순화를 위해 본 명세서에서 집합적으로 "엔티티"로 지칭된다.
일부 구현에서, 엔티티 식별 엔진(151)은 자동화 어시스턴트(115)를 사용하여 보조 전화 통화를 개시하기 전에 클라이언트 디바이스(110)와의 사용자 상호작용(들)에 기초하여 클라이언트 디바이스(110)의 사용자를 대신하여 참여할 엔티티를 식별할 수 있다. 이러한 구현의 일부 버전에서, 엔티티는 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하는 것에 응답하여 식별될 수 있다. 예를 들어, 클라이언트 디바이스(110)의 사용자가 소프트웨어 애플리케이션의 통화 인터페이스 엘리먼트(예를 들어, 연락처 애플리케이션의 연락처, 브라우저 애플리케이션의 검색 결과, 및/또는 다른 소프트웨어 애플리케이션에 포함된 다른 통화 가능 엔터티와 관련됨)에 대한 입력(예를 들어, 음성 또는 터치)을 지시하는 경우, 엔티티 식별 엔진(151)은 통화 인터페이스 엘리먼트와 관련된 엔티티를 식별할 수 있다. 예를 들어, 사용자 입력이 브라우저 애플리케이션에서 "가상 항공사"와 관련된 통화 인터페이스 엘리먼트로 지시되는 경우, 엔티티 식별 엔진(151)은 보조 전화 통화 동안 클라이언트 디바이스(110)의 사용자를 대신하여 참여할 엔티티로서 "가상의 항공사"(또는 더 일반적으로 비즈니스 엔티티 또는 레스토랑 엔티티)를 식별할 수 있다.
더욱이, 엔티티 식별 엔진(151)은 엔티티(들) 데이터베이스(151A)에 저장된 복수의 엔티티 중에서 엔티티를 식별할 수 있다. 일부 구현에서, 엔티티(들) 데이터베이스(151A)에 저장된 복수의 엔티티는 엔티티 및/또는 특정 유형의 엔티티에 의해 인덱싱될 수 있다. 예를 들어, 엔티티 식별 엔진(151)이 엔티티 "가상 항공사"를 식별하는 경우, "가상 항공사"는 엔티티(들) 데이터베이스(151A)에서 비즈니스 엔티티로서 인덱싱될 수 있고 선택적으로 항공사 엔티티로서 추가로 인덱싱될 수 있다. 엔티티(들) 데이터베이스(151A)에 식별된 엔티티들을 저장하고 인덱싱함으로써, 엔티티 식별 엔진(151)은 엔티티들을 쉽게 식별하고 검색할 수 있으며, 이에 따라 향후 보조 전화 통화가 발생할 때 엔티티를 식별하기 위한 후속 처리를 줄일 수 있다. 더욱이, 다양한 구현에서, 각각의 엔티티는 엔티티(들) 데이터베이스(151A)의 태스크(들)와 관련될 수 있다.
IVR 엔진(152)은 엔티티 식별 엔진(151)을 통해 식별되는 엔티티와 관련된 IVR 트리(및 선택적으로 IVR 트리와 관련된 오디오 데이터)를 식별할 수 있다. 일부 구현에서, 식별된 엔티티와 관련된 IVR 트리는 식별된 엔티티와 관련되어 IVR 트리(들) 데이터베이스(152A)에 저장될 수 있다. 예를 들어, IVR 트리(들) 데이터베이스(152A)에 저장된 IVR 트리는 엔티티(들) 데이터베이스(151A)에 저장된 대응하는 엔티티에 매핑될 수 있다. 일부 추가적 또는 대안적인 구현에서, IVR 트리는 엔티티(들) 데이터베이스(151A)의 대응 엔티티와 연관되어 저장될 수 있고, IVR 트리(들) 데이터베이스(152A)는 생략될 수 있다. IVR 트리 각각에는 대응하는 복수의 후보 상태가 포함될 수 있으며, 자동화 어시스턴트(115)는 사용자 입력 엔진(111)을 통해 검출된 사용자 입력에 기초하여 복수의 대응하는 후보 상태 중에서 주어진 IVR 트리의 타겟 상태를 결정할 수 있다. 보조 전화 통화 중에, 자동화 어시스턴트는 자동으로 IVR 트리를 타겟 상태로 탐색할 수 있다.
일부 구현에서, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에, 자동화 어시스턴트(115)(및/또는 자동화 어시스턴트의 추가 인스턴스)는 엔티티(들) 데이터베이스(151A)에 저장된 복수의 엔티티와 자동(화된) 전화 통화를 개시할 수 있다. 이러한 자동 전화 통화 동안, 자동화 어시스턴트(115)(및/또는 자동화 어시스턴트의 추가 인스턴스)는 IVR은 복수의 엔티티 각각과 관련된 대응하는 IVR 트리를 매핑하기 위해 엔티티와 관련된 IVR 시스템을 탐색할 수 있고, 대응하는 IVR 트리의 매핑은 IVR 트리(들) 데이터베이스(152A)에 저장될 수 있다. 이러한 구현의 일부 버전에서, 자동화 어시스턴트(115)(및/또는 자동화 어시스턴트의 추가 인스턴스)는 주어진 엔티티와 관련된 주어진 IVR 트리의 변형을 매핑하기 위해 복수의 엔티티 중의 주어진 엔티티에 대해 다수의 자동 전화 통화를 개시할 수 있다. 예를 들어, 자동화 어시스턴트(115)는 레스토랑 엔티티가 열려 있을 때 그 레스토랑 엔티티와 첫 번째 자동 전화 통화를 개시할 수 있고 레스토랑이 닫혀 있을 때 그 레스토랑 엔티티와 두 번째 자동 전화 통화를 개시할 수 있다. 즉, IVR 엔진(152)은 자동화 어시스턴트(115)로 하여금 주어진 IVR 트리가 동적인지 여부를 결정하기 위해 상이한 컨텍스트(예를 들어, 주어진 클라이언트 디바이스와 관련된 컨텍스트 또는 사용자와 관련된 컨텍스트)에서 레스토랑 엔티티와 관련된 주어진 IVR 트리를 매핑하게 할 수 있다. 그 결과, IVR 트리(152)가 엔티티와 관련된 IVR 트리를 식별할 때, 클라이언트 디바이스(110) 및/또는 클라이언트 디바이스(110)의 사용자의 현재 컨텍스트와 매칭하는 IVR 트리가 (예를 들어, 도 7 및 도 8a 내지 도 8d와 관련하여 설명되는 바와 같이) 식별될 수 있다. 일부 추가적 또는 대안적인 구현에서, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에, 엔티티는 IVR 트리의 표현을 제공할 수 있고 IVR 트리는 IVR 트리(들) 데이터베이스(152A)에 저장될 수 있다.
다양한 구현에서, 자동화 어시스턴트(115)는 보조 전화 통화를 개시하기 위한 사용자 입력에 응답하여 개시된 보조 전화 통화, 및 선택적으로 변경 정도에 기초하여 시간 경과에 따른 IVR 트리의 변경 사항을 추적할 수 있다. 이러한 변경 사항은 저장된 IVR 트리 및 현재 자동화 어시스턴트(115)에 의해 탐색되고 있는 IVR 트리 및/또는 IVR 트리와 관련된 저장된 오디오 데이터 및 현재 자동화 어시스턴트(115)에 의해 탐색되고 있는 IVR 트리와 관련된 오디오 데이터 사이의 상태 차이에 기초하여 식별될 수 있다. 예를 들어, 자동화 어시스턴트(115)가 주어진 엔티티와 관련되고 보조 전화 통화 중에 순회(travers)되는 IVR 트리가 IVR 트리(들) 데이터베이스(152A)에 저장된 IVR 트리와 다르다고 결정하는 경우(예를 들어, 현재 탐색 중인 IVR 트리에는 새로운 소개 메시지, 다른 내부 노드 또는 리드(lead) 노드가 포함됨), 자동화 어시스턴트(115)는 IVR 트리(들) 데이터베이스(152A)에 주어진 엔티티와 관련하여 이미 저장된 IVR 트리와 함께 현재 탐색되고 있는 IVR 트리의 상이한 상태를 저장할 수 있다. 또한, 새로운 소개 메시지의 포함은 IVR 트리가 다른 다운스트림 변경 사항을 포함할 수 있고 IVR 트리를 즉시 탐색하려고 시도하기 보다는 (가능한 경우) 이러한 변경 사항을 모니터링할 수 있다는 자동화 어시스턴트(115)에 대한 신호로 이용될 수 있다. 그 결과, 자동화 어시스턴트(115)는 할 수 있다. 다른 예로서, 자동화 어시스턴트(115)가 (예를 들어, 수신된 오디오 데이터와 저장된 오디오 데이터의 음향 특징을 비교하는 것 및/또는 수신된 오디오 데이터와 저장된 오디오 데이터에 대응하는 인식된 텍스트를 비교하는 것에 기초하여) IVR의 탐색 중에 수신된 오디오 데이터가 IVR 트리와 관련하여 저장된 오디오 데이터와 다르다고 결정하는 경우, 자동화 어시스턴트(115)는 IVR 트리(들) 데이터베이스(152A)에 주어진 엔티티와 관련하여 이미 저장된 IVR 트리와 함께 현재 탐색되고 있는 IVR 트리의 상이한 오디오 데이터를 저장할 수 있다. 저장된 IVR 트리와 탐색된 IVR 트리 간의 차이가 주어진 엔터티와의 보조 전화 통화의 임계값에 대해 지속되는 경우, 상이한 IVR 트리는 그 주어진 엔티티와 관련된 IVR 트리를 대체할 수 있다. 이들 구현의 일부 버전에서, 상이한 IVR 트리는 (예를 들어, 클라이언트 디바이스(110) 및/또는 클라이언트의 사용자와 관련된 컨텍스트 정보에 기초하여 결정된) 동일한 컨텍스트에서 발생하는 경우에만 IVR 트리를 대체하는 것으로 간주될 수 있다. 이러한 구현의 일부 버전에서, 주어진 엔티티와 관련된 IVR 트리와 연관된 신뢰도 레벨은 보조 전화 통화 동안 순회된 IVR 트리가 IVR 트리(들) 데이터베이스(152A)의 IVR 트리와 관련하여 저장된 IVR 트리와 얼마나 자주 매칭하는지에 기초할 수 있다. 이러한 구현의 일부 추가 버전에서, 도 6b-6e와 관련하여 설명되는 바와 같이, 자동화 어시스턴트(115)는 신뢰도 레벨 및 그 신뢰도 레벨이 하나 이상의 임계값을 충족하는지 여부에 기초하여 상이한 방식으로 복수의 후보 상태를 렌더링할 수 있다.
일부 구현에서, 파라미터(들) 엔진(153)은 엔티티 식별 엔진(151)을 통해 식별된 엔티티에 기초하여 IVR 엔진(152)을 통해 식별되는 IVR 트리를 탐색하는 것과 관련된 파라미터(들)를 식별할 수 있다. IVR 트리에 대한 파라미터(들)는 IVR 엔진(152)을 통해 식별되는 IVR 트리와 관련되어 저장될 수 있고, IVR 트리를 타겟 상태로 탐색하기 위한 탐색 경로에 기초하여 달라질 수 있다. 자동화 어시스턴트(115)는 파라미터(들)에 대한 대응 값(들)을 사용하여 IVR 트리를 탐색할 수 있다. 일부 구현에서, 파라미터(들)에 대한 대응 값(들)은 사용자 프로파일(들) 데이터베이스(153A)에 저장될 수 있고, 자동화 어시스턴트(115)는 IVR 트리를 탐색하는 것과 관련된 파라미터(들)를 식별하는 것에 응답하여 클라이언트 디바이스(110)의 사용자로부터 임의의 값(들)을 요청하지 않고 사용자 프로파일(들) 데이터베이스(153A)로부터 파라미터(들)에 대한 대응 값(들)을 검색할 수 있다. 이러한 구현의 일부 추가 또는 대체 버전에서, 자동화 어시스턴트(115)는 IVR 트리 탐색과 관련된 파라미터를 식별하는 것에 응답하여 그리고 대응 값(들)이 사용자 프로파일(들) 데이터베이스(153A)로부터 검색될 수 없다는 결정에 응답하여 사용자로부터 파라미터(들)에 대한 대응 값(들)이 요청되게 할 수 있다. 예를 들어, 자동화 어시스턴트(115)는 클라이언트 디바이스의 사용자와 대화를 개시할 수 있고, 하나 이상의 프롬프트가 렌더링 엔진(113)을 통해 클라이언트 디바이스(110)에 렌더링되게 하여 사용자 프로파일(들) 데이터베이스(153A)의 정보를 사용하여 해결될 수 없는 임의의 파라미터(들)에 대한 대응 값(들)을 요청하도록 한다.
사용자 프로파일(들) 데이터베이스(153A)에는 예를 들어, 클라이언트 디바이스(110)의 사용자와 관련된 전자 통신(예를 들어, 이메일, 문자 메시지, 음성 메시지 등), 클라이언트 디바이스(110)의 사용자의 다양한 사용자 계정과 관련된 사용자 계정 정보(예를 들어, 계정 상태 정보, 계정 번호, 계정 사용자 이름, 계정 비밀번호 등), 클라이언트 디바이스(110)에 설치되고 및/또는 클라이언트 디바이스(110)에 의해 액세스 가능한 애플리케이션(예를 들어, 스마트 디바이스 애플리케이션, 메모 애플리케이션, 리마인더 애플리케이션, 전화 애플리케이션, 캘린더 애플리케이션 및/또는 기타 소프트웨어 애플리케이션)으로부터의 애플리케이션 정보, 클라이언트 디바이스(110)의 사용자의 결제 정보(예를 들어, 은행 계좌 번호, 신용 카드 번호, 결제 애플리케이션 정보 등), 클라이언트 디바이스(110) 사용자의 사진 앨범, 클라이언트 디바이스(11) 사용자의 소셜 미디어 프로필(들), 클라이언트 디바이스(110) 사용자의 사용자 선호도, 클라이언트 디바이스(110) 사용자의 개인 정보(예를 들어, 이름, 전화번호, 실제 주소, 이메일 주소, 주민등록번호, 생년월일 등), 및/또는 기타 액세스 제한 정보를 포함하는 다양한 소스로부터의 사용자에 관한 정보가 포함될 수 있다. 예를 들어, 항공사 엔티티와 관련된 IVR 트리를 비행 예약 취소와 관련된 타겟 상태로 탐색하기 위해, 파라미터(들) 엔진(153)은 비행 예약을 취소하기 위한 파라미터를 식별할 수 있고 그 파라미터에 대한 값을 결정할 수 있다. 예를 들어, 항공편 확인(확정) 번호 파라미터가 식별될 수 있고 그 항공편 확인 번호가 항공편 확인 이메일에서 검색되며, 항공편 회원 번호(frequent flier number) 파라미터가 식별될 수 있고, 항공편이 취소되고 있는 항공사와 관련된 클라이언트 디바이스(110)의 사용자에 대한 항공편 회원 번호가 그 항공사와 관련된 애플리케이션으로부터 검색될 수 있다. 대조적으로, 항공사 엔티티와 관련된 IVR 트리를 비행 예약 변경과 관련된 다른 타겟 상태로 탐색하기 위해, 파라미터(들) 엔진(153)은 위의 파라미터 및 대응하는 값을 가질 수 있지만, 또한, 새로운 비행의 날짜 또는 시간 파라미터 및 새로운 비행의 목적지 파라미터를 식별할 수 있고, 이러한 파라미터에 대한 대응하는 값이 클라이언트 디바이스(110)의 사용자로부터 요청될 수 있다.
예를 들어, 도 2를 간략히 참조하면, 예시적인 IVR 트리(200)가 도시되어 있다. 도 2에 도시된 IVR 트리(200)는 복수의 에지로 연결된 복수의 노드를 포함한다. 복수의 노드는 예를 들어, 적어도 하나의 루트(root) 노드 및 적어도 하나의 리프(leaf) 노드를 포함할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, IVR 트리에는 루트 노드(211), 복수의 내부 노드(221, 222, 223) 및 복수의 리프 노드(231, 232, 233, 234, 235, 236)가 포함된다. 리프 노드(231, 232, 233, 234, 235, 236)는 복수의 후보 상태에 해당할 수 있고, 리프 노드(231, 232, 233, 234, 235, 236) 중 주어진 하나가 타겟 상태에 해당할 수 있다. 특히, 복수의 노드는 복수의 대응하는 에지로 연결된다. 이들 노드 및/또는 에지는 (선택적으로 노드 및/또는 에지 각각과 관련된 오디오 데이터와 함께) IVR 트리(들) 데이터베이스(152A)에 IVR 트리로서 저장될 수 있다. 대응하는 에지 각각은 보조 전화 통화 동안 자동화 어시스턴트(115)에 의해 생성된 입력에 기초하여 순회될 수 있다. 예를 들어, 대응하는 에지는 자동화 어시스턴트(115)에 의해 버튼 누름(예를 들어, 도 2의 에지에 의해 표시된 바와 같이, 루트 노드(211)에서 내부 노드 1(221)로 이동하려면 "1"을 누르고, 루트 노드 211에서 내부 노드 2(222)로 이동하려면 "2"를 누르고, 루트 노드 211에서 리프 노드 1(231)로 이동하려면 "3"을 누름)으로 에뮬레이트될 수 있는 숫자 표시자(numerical indicator)에 대응하는 입력에 기초하거나, 또는 자유 형식의 자연어 입력에 대응하는 입력(예를 들어, 루트 노드(211)에서 내부 노드 1(221)로 순회하기 위해 "항공편 예약"이라고 말하는 등)에 기초하여 이동될 수 있다.
일부 구현에서, 자유 형식의 자연어 입력은 IVR 트리의 에지를 따라 이동하기 위해 추가 클라이언트 디바이스에 렌더링될 합성 음성을 포함하는 자동화 어시스턴트(115)에 의해 생성된 합성 음성 오디오 데이터일 수 있다. 예를 들어, 자동화 어시스턴트는 위에서 설명한 숫자 표시자의 표시 및/또는 보조 전화 통화가 이루어진 이유에 대한 간략한 요약을 포함하는 합성 음성 오디오 데이터를 생성할 수 있다. 일부 추가적 또는 대안적인 구현에서, 자유 형식의 자연어 입력은 클라이언트 디바이스(110)의 사용자의 음성 입력을 캡처하고 보조 전화 통화를 개시하기 전에 및/또는 보조 전화 통화 중에 제공되는 오디오 데이터일 수 있다. 예를 들어, IVR 트리가 (예를 들어, 음성 식별을 사용하여) 클라이언트 디바이스(110)의 사용자의 신원을 검증(확인)하기 위해 사용자가 음성 발언을 제공할 것을 요구하는 경우, 오디오 데이터는 사용자의 음성 입력을 캡처할 수 있다.
다양한 구현에서, 자동화 어시스턴트(115)는 IVR 트리(200)의 탐색을 추적할 수 있다. IVR 트리(200)의 탐색을 추적함으로써, 자동화 어시스턴트(115)는 IVR 트리(200)를 탐색하기 위해 입력(예를 들어, 합성 음성, 에뮬레이트된 버튼 누름, 및/또는 오디오 데이터)을 제공할 시기를 결정할 수 있다. 예를 들어, 자동화 어시스턴트(115)는 루트 노드(211)에서 시작하는 보조 전화 통화의 개시를 추적할 수 있고, 클라이언트 디바이스(110)에서 검출된 사용자 입력에 기초하여 결정된 타겟 상태로 IVR 트리(200)를 탐색하기 위해 IVR 트리(200)의 에지를 따라 내부 노드(221, 222, 223) 및/또는 리프 노드(231, 232, 233, 234, 235 및 236)로 순회하기 시작한다. 자동화 어시스턴트(115)가 에지들을 따라 다른 노드로 이동하여 타겟 상태에 도달함에 따라, 이동된 에지 및/또는 노드는 자동화 어시스턴트(115)에 의해 추적될 수 있다. 이 예에서, IVR 트리(200)가 루트 노드(211)와 관련된 메인 메뉴를 제시하기 전에 소개 메시지를 포함한다면, 자동화 어시스턴트(115)는 소개 메시지가 새롭다고 결정할 수 있고 루트 노드(211)와 관련된 메인 메뉴가 제시될 때까지(또는 임의의 다른 변경 사항이 제시될 때까지) IVR 트리를 탐색하기 위한 임의의 입력을 보류할 수 있다. 다른 예로, 자동화 어시스턴트(115)는 IVR 시스템이 IVR 트리를 탐색하기 위한 모든 옵션을 제공할 때까지 IVR 트리를 타겟 상태로 탐색하기 위해 제공될 입력이 제공되지 않을 수 있음을 결정할 수 있다(예를 들어, IVR 트리는 언제든지 입력 제공을 지원하지 않음). 이 예에서, 자동화 어시스턴트(115)는 IVR 트리를 탐색하기 위한 모든 옵션이 제공될 때까지 IVR 트리를 탐색하기 위한 임의의 입력을 보류할 수 있다. 일부 구현에서, 자동화 어시스턴트(115)는 IVR 트리(200)의 탐색 동안 이동되었던 이전 노드로 돌아갈 수 있다.
하나의 비제한적인 예로서, IVR 트리(200)가 가상 엔티티(Example Airlines)와 관련된 IVR 트리에 대응한다고 가정하자. 이 예에서, 루트 노드(211)는 예시 항공사와 관련된 IVR 시스템의 메인 메뉴에 해당할 수 있고, 내부 노드들은 중간 상태(221, 222, 223)에 해당하고 리프(leaf) 노드(231, 232, 233, 234, 235, 236)는 IVR 트리의 타겟 상태에 해당할 수 있다. 또한 리프 노드 1(231)은 "담당자와 대화"하는 타겟 상태와 관련되고, 리프 노드 2(232)는 "예정된 항공편 정보"라는 타겟 상태와 관련되고, 리프 노드 3(233)은 "분실 수하물 신고"라는 타겟 상태와 관련되고, 리프 노드 4(234)는 "항공편 예약"이라는 타겟 상태와 관련되고, 리프 노드 5(235)는 "항공편 예약 변경"이라는 타겟 상태와 관련되며, 리프 노드 6(236)은 "항공 예약 취소"라는 타겟 상태와 관련된다. 일부 구현에서, 자동화 어시스턴트(115)가 보조 전화 통화 동안 IVR 트리를 탐색하는 타겟 상태는 보조 전화 통화를 개시하기 전 및/또는 보조 전화 통화 동안 클라이언트 디바이스(110)의 사용자 입력 엔진(111)을 통해 검출된 사용자 입력에 기초하여 결정될 수 있다.
예를 들어, 사용자가 분실 수하물을 신고하기를 원한다는 것을 나타내는 사용자 입력이 클라이언트 디바이스(110)에서 수신되었다고 가정하자. 이 예에서, 자동화 어시스턴트(115)는 "분실 수하물 신고"라는 타겟 상태와 관련된 리프 노드 3(233)로 탐색하기로 결정할 수 있다. 이 예에서, 자동화 어시스턴트(115)는 IVR 트리(200)가 IVR 엔진(152)과 관련하여 전술한 바와 같이 이전에 자동화 어시스턴트(115)(및/또는 추가적인 자동화 어시스턴트)에 의해 매핑되었기 때문에 분실 수하물을 보고하기 위해 루트 노드(211)에서 내부 노드 1(221)로 이동하고 그 내부 노드 1(221)에서 리프 노드 3(233)로 이동하는 것을 알 수 있다. 루트 노드(211)에서 리프 노드 3(233)로 탐색할 때 및/또는 리프 노드 3(233)에 도달할 때, 자동화 어시스턴트(115)는 IVR 트리(200)를 탐색하는 동안 요청된 파라미터(들)에 대한 대응 값(들)이 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되도록 할 수 있다. 이 예에서, 자동화 어시스턴트(115)는 요청되는 파라미터(들)에 대한 대응 값(들)에 대한 응답하여 최근 비행과 관련된 항공편 정보(예를 들어, 항공편 확인 번호, 출발지, 도착지)에 대한 대응 값(들), 클라이언트 디바이스(110) 사용자의 개인 정보(예를 들어, 이름 및 전화 번호), 및/또는 엔티티와 관련된 추가 클라이언트 디바이스의 파라미터(들)에 대한 다른 대응 값(들)을 렌더링할 수 있다. 리프 노드 3(233)에 도달하면, 자동화 어시스턴트(115)는 (예를 들어, 렌더링 엔진(113)을 통해) 클라이언트 디바이스(110)에서 렌더링될 통지를 (예를 들어, 통지 엔진(156)을 통해) 선택적으로 생성할 수 있으며, 이 통지는 사용자에게 보조 전화 통화에 참여하도록 요청하고 및/또는 분실 수하물 신고 결과를 클라이언트 디바이스(110)의 사용자에게 알릴 수 있다.
다른 예로서, 사용자가 잊은(lost) 예약을 취소하기를 원한다는 것을 나타내는 사용자 입력이 클라이언트 디바이스(110)에서 수신되었다고 가정하자. 이 예에서, 자동화 어시스턴트(115)는 "분실 수하물 신고"의 타겟 상태와 관련된 리프 노드 6(236)로 탐색하기로 결정할 수 있다. 이 예에서, 자동화 어시스턴트(115)는 IVR 트리(200)가 IVR 엔진(152)과 관련하여 전술한 바와 같이 자동화 어시스턴트(115)(및/또는 추가적인 자동화 어시스턴트)에 의해 이전에 매핑되었기 때문에, 항공편 예약을 취소하기 위해 루트 노드(211)에서 내부 노드 1(221)으로 순회하고, 내부 노드 1(221)에서 내부 노드 3(223)으로 순회하며, 내부 노드 3(223)에서 리프 노드 6(236)으로 순회하는 것을 알 수 있다. 루트 노드(211)에서 리프 노드 6(236)로 탐색할 때 및/또는 리프 노드 6(236)에 도달할 때, 자동화 어시스턴트(115)는 IVR 트리(200)를 탐색하는 동안 요청된 파라미터(들)에 대한 대응 값(들)이 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되게 할 수 있다. 이 예에서, 자동화 어시스턴트(115)는 요청되는 파라미터(들)에 대한 대응 값(들)에 응답하여 예정된 비행과 관련된 항공편 정보(예를 들어, 항공편 확인 번호, 출발지, 도착지)에 대한 대응 값(들), 예시 항공사(Example Airlines) 계정과 관련된 계정 정보(예를 들어, 항공사 회원 번호), 및/또는 엔티티와 관련된 추가 클라이언트 디바이스의 파라미터에 대한 다른 대응 값(들)을 렌더링할 수 있다. 리프 노드 6(236)에 도달하면, 자동화 어시스턴트(115)는 (예를 들어, 렌더링 엔진(113)을 통해) 클라이언트 디바이스(110)에서 렌더링될 통지를 (예를 들어, 통지 엔진(156)을 통해) 선택적으로 생성할 수 있으며, 이 통지는 사용자가 보조 전화 통화에 참여하도록 요청하고 및/또는 항공편 취소 결과를 클라이언트 디바이스(110)의 사용자에게 알릴 수 있다.
도 2의 IVR 트리(200)는 대응하는 에지에 기초하여 특정 방식으로 구성된 특정 노드를 갖는 것으로 도시되어 있지만, 이는 예시를 위한 것으로 한정하려는 의도가 아님을 이해해야 하며, IVR 트리는 거의 무한한 다양한 방식으로 구성될 수 있음을 이해해야 한다. 더욱이, IVR 트리(200)의 일부 노드는 (예를 들어, 도 7 및 8a 내지 8d와 관련하여 설명된 바와 같이) 특정 컨텍스트에 기초하여 클라이언트 디바이스(110)의 사용자에게 사용 가능하거나 사용 가능하지 않을 수 있다. 예를 들어, 주어진 IVR 트리가 레스토랑 엔티티와 관련되어 있다고 가정하자. 이 예에서, 테이크 아웃(포장) 주문과 관련된 타겟 상태는 레스토랑 엔티티가 문을 열었을 때 가능할 수 있다. 반면에, 테이크 아웃 주문과 관련된 타겟 상태는 레스토랑 엔티티가 문을 닫았을 때 가능하지 않을 수 있다.
다시 도 1을 참조하면, 사용자 상호작용 엔진(154)은 클라이언트 디바이스(110)에서 사용자 상호작용을 검출할 수 있다. 사용자 상호작용에는 예를 들어 웹 브라우저 또는 웹 브라우저 애플리케이션과의 검색 상호작용, 웹 브라우저 또는 웹 브라우저 애플리케이션과의 브라우징 상호작용, 웹 브라우저 또는 탐색 애플리케이션과의 탐색 상호작용, 자동화 어시스턴트(115)와의 보조 상호작용, 및/또는 기타 사용자 상호작용이 포함될 수 있다. 일부 구현에서, 사용자 상호작용 엔진(154)은 클라이언트 디바이스(110)에서 또는 (예를 들어, 네트워크(190)를 통해) 클라이언트 디바이스(110)와 통신하는 추가 클라이언트 디바이스에서, 클라이언트 디바이스(110)의 사용자의 사용자 상호작용을 검출할 수 있고, 그 후에 자동 어시스턴트(115)가 보조 전화 통화의 수행을 개시할 수 있다. 이러한 구현의 일부 버전에서, 자동화 어시스턴트(115)는 보조 전화 통화 동안, 검출된 사용자 상호작용이 클라이언트 디바이스(110)의 사용자를 대신하여 참여하는 엔티티와 관련되는지 여부를 결정할 수 있다. 자동화 어시스턴트(115)가 검출된 사용자 상호작용이 엔티티와 관련되어 있다고 결정하면, 자동화 어시스턴트(115)는 클라이언트 디바이스(110)의 사용자에게 IVR 트리의 탐색이 수정되어야 하는지를 묻는 하나 이상의 프롬프트를 (예를 들어, 통지 엔진(156)을 통해) 생성할 수 있다. 이러한 구현의 일부 추가 버전에서, IVR 트리의 탐색을 수정하는 것은 다른 타겟 상태로의 탐색을 포함할 수 있다. 예를 들어, 자동화 어시스턴트(115)가 주택 개량 업체와 관련된 IVR 트리를 탐색하기 위해 보조 전화 통화를 개시하여 IVR 트리를 주택 개량 업체의 도색 부서와 관련된 타겟 상태로 탐색하고, 이어서 클라이언트 디바이스(110)의 사용자가 주택 개량 업체의 가정 및 원예와 관련된 웹페이지와 상호작용하는 경우, 자동화 어시스턴트(115)는 추가 또는 대안적으로 가정 및 원예와 관련된 타겟 상태로 탐색할지 여부를 사용자에게 묻는 하나 이상의 프롬프트를 생성할 수 있다. 이러한 구현의 다른 추가 버전에서, IVR 트리의 탐색을 수정하는 것은 다른 파라미터를 사용하여 동일한 IVR 트리를 탐색하는 것을 포함할 수 있다. 예를 들어, 자동화 어시스턴트(115)가 주택 개량 업체와 관련된 IVR 트리를 탐색하기 위해 보조 전화 통화를 개시하여 IVR 트리를 주택 개량 업체의 도색 부서와 관련된 타겟 상태로 탐색하고 이어서 클라이언트의 사용자 디바이스(110)가 특정 페인트 제조업체와 관련된 웹페이지와 상호작용하는 경우, 자동화 어시스턴트(115)는 도색 부서와 관련된 타겟 상태로 탐색 시 파라미터에 대한 대응 값으로서 특정 페인트 제조업체를 이용할지 여부를 사용자에게 묻는 하나 이상의 프롬프트를 생성할 수 있다. IVR 트리의 탐색을 수정하는 것은 아래에서 (예를 들어, 도 3 및 도 4a 내지 도 4c와 관련하여) 자세히 설명된다.
일부 추가적 또는 대안적인 구현에서, 사용자 상호작용 엔진(154)은 자동화 어시스턴트(115)가 보조 전화 통화의 수행을 개시하기 전에, 클라이언트 디바이스(110)에서 또는 (네트워크(190)를 통해) 클라이언트 디바이스(110)와 통신하는 추가 클라이언트 디바이스에서, 클라이언트 디바이스(110)의 사용자의 사용자 상호작용을 검출할 수 있다. 이러한 구현의 일부 버전에서, 자동화 어시스턴트(115)는 사용자 상호작용과 관련된 엔티티를 식별하고, 이후에 보조 전화 통화가 상기 식별된 엔티티를 사용하여 개시되는 경우 사용자 상호작용에 기초하여 IVR 트리의 후보 상태가 렌더링되게 할 수 있다. 예를 들어, 사용자가 예시 항공사와 보조 전화 통화를 개시하기 전에 분실 수하물을 신고하는 방법을 조사하는 가상 항공사 엔터티(Example Airlines)와 관련된 웹페이지를 탐색하고 있는 경우, 자동화 어시스턴트(115)는 예시 항공사와 관련된 IVR 트리에 대해 분실 수하물 신고와 연관된 타겟 상태와 관련된 선택 가능한 그래픽 엘리먼트를 (단독으로 또는 다른 선택 가능한 엘리먼트보다 더 두드러지게) 렌더링할 수 있다. 즉, 자동화 어시스턴트(115)는 (예를 들어, 도 5 및 6a와 관련하여 설명되는 바와 같이) 사용자가 보조 전화 통화를 시작하기 전에 분실 수하물을 신고하는 방법을 조사하는 것에 기초하여 상기 선택 가능한 그래픽 엘리먼트가 IVR 트리의 타겟 상태에 대한 "IVR 딥링크"로서 렌더링되도록 할 수 있다.
일부 구현에서, 검증 엔진(155)은 보조 전화 통화 동안 자동화 어시스턴트(115)에 의해 탐색된 상태가 실제로 타겟 상태인지 여부를 검증(확인)할 수 있다. 이러한 구현의 일부 버전에서, 보조 전화 통화에 참여하는 엔터티와 관련된 인간 담당자(human representative)가 있을 때, 자동화 어시스턴트(115)는 인간 담당자의 음성 입력을 캡처하는 수신된 오디오 데이터를 처리하여 자동화 어시스턴트(115)에 의해 탐색된 상태가 실제로 타겟 상태인지 검증할 수 있다. 예를 들어, 자동화 어시스턴트(115)가 주택 개량 업체(entity)와 관련된 IVR 트리를 그 주택 개량 업체의 도색 부서와 관련된 타겟 상태로 탐색하고 있다고 가정한다. 또한 인간 담당자가 주택 개량 업체와 관련된 IVR 시스템의 보조 전화 통화를 인계받아 "도색 부서"에 전화해 주셔서 감사합니다. 오늘 무엇을 도와드릴까요?"라는 음성 입력을 제공한다고 가정한다. 이 예에서, 검증 엔진(155)은 자동화 어시스턴트(115)가 음성 인식 엔진(120A1 및/또는 120A2)을 사용하여 음성 입력을 캡처하는 오디오 데이터를 처리하게 할 수 있고, 음성 입력을 캡처하는 오디오 데이터를 처리하는 것에 기초하여 음성 입력에 "도색 부서"가 포함되어 있는지 결정할 수 있다. 이러한 구현의 일부 추가 또는 대안적인 버전에서, 음성 입력은 IVR 트리를 탐색하는 타겟 상태를 검증하기 위해 합성 음성을 포함하는 합성 음성 오디오 데이터에 응답하여 수신될 수 있다. 위의 예에서 계속해서, 인간 담당자가 주택 개량 업체와 연결된 IVR 시스템에서 보조 전화 통화를 인계받아 "안녕하세요(Hello)"라는 음성 입력을 제공한다고 가정한다. 이 예에서, 검증 엔진(155)은 자동화 어시스턴트(115)가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 "안녕하세요, 여기가 도색 부서인가요?"라는 합성 음성을 렌더링하게할 수 있다. 검증 엔진(155)은 자동화 어시스턴트(115)가 음성 인식 엔진(120A1 및/또는 120A2)을 사용하여 합성 음성에 응답하는 음성 입력을 캡처하는 오디오 데이터를 처리하게 할 수 있고, 그 음성 입력이 타겟 상태에 도달했음을 검증하는지 여부를 결정할 수 있다(예를 들어, "예", "여기는 도색 부서입니다" 또는 일부 다른 확인).
다양한 구현에서, IVR을 탐색할 때 도달된 상태가 타겟 상태에 해당하지 않는 경우, 검증 엔진(155)은 자동화 어시스턴트(115)로 하여금 보조 전화 통화가 타겟 상태로 전환(transfer)되도록 요청하는 인간 담당자와 관련된 추가 클라이언트 디바이스에 합성 음성을 렌더링하게 할 수 있다. 위의 예를 계속하면, 음성 입력이 자동화 어시스턴트(115)가 (도색 부서가 아니라) 가정 및 원예와 관련된 상태에 도달했음을 나타내는 것으로 결정되면, 검증 엔진(155)은 자동화 어시스턴트(115)가 인간 담당자와 관련된 추가 클라이언트 디바이스에 "도색 부서로 연결(transfer)해 주시겠습니까 ?"라는 합성 음성을 렌더링하게 할 수 있으며, 전환 후 그 상태가 클라이언트 디바이스(110) 사용자의 원하는 타겟 상태에 해당하는지 다시 검증할 수 있다.
통지 엔진(156)은 식별된 엔티티와 관련된 IVR 트리 탐색에 기초하여 및/또는 자동화 어시스턴트(115)에 의해 수행된 태스크(들)에 기초하여, 클라이언트 디바이스(110)의 사용자를 대신하여, 보조 전화 통화 동안 보조 전화 통화를 중단하지 않고 다양한 통지를 생성할 수 있다. 예를 들어, 자동화 어시스턴트(115)는 타겟 상태에 도달될 때 통지 엔진(156)이 클라이언트 디바이스(110)의 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 생성하게 할 수 있다. 일부 구현에서, 통지 엔진(156)은 검증 엔진(155)에 대해 위에서 기술된 바와 같이 검증 엔진(155)이 자동 어시스턴트가 실제로 타겟 상태에 도달했음을 검증한 후에 클라이언트 디바이스(110)의 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 자동화 어시스턴트(115)가 생성하도록만 할 수 있다. 다른 예로서, 자동화 어시스턴트(115)가 보조 전화 동안 파라미터(들)에 대한 대응 값(들)을 해결할 수 없는 경우, 자동화 어시스턴트(115)는 통지 엔진(156)이 엔티티와 관련된 IVR 트리를 계속 탐색하는데 필요한 임의의 미해결 파라미터(들)에 대한 대응 값(들)을 요청하기 위해 하나 이상의 프롬프트를 생성하게 할 수 있다. 또 다른 예로서, 자동화 어시스턴트가 보조 전화 통화 중에 클라이언트 디바이스(110)의 사용자를 대신하여 태스크를 수행하는 경우, 자동화 어시스턴트(115)는 통지 엔진(156)이 태스크 수행의 결과를 포함하는 통지를 생성하게 할 수 있다.
일부 구현에서, 통지 엔진(157)에 의해 생성되고 렌더링 엔진(113)을 통해 클라이언트 디바이스(110)에 렌더링되는 통지의 유형, 및/또는 통지를 렌더링하는 하나 이상의 속성(예를 들어, 볼륨, 밝기, 크기)은 클라이언트 디바이스(110)의 상태(예를 들어, 디바이스 상태 엔진(112)를 사용하여 결정됨) 및/또는 진행중인 보조 전화 통화의 상태에 기초할 수 있다. 진행 중인 보조 전화 통화의 상태는 예를 들어 클라이언트 디바이스(110)의 포어그라운드(전경)에서 동작하는 소프트웨어 애플리케이션(들), 클라이언트 디바이스(110)의 백그라운드(배경)에서 동작하는 소프트웨어 애플리케이션(들), 클라이언트 디바이스(110)가 잠금 상태인지 여부, 클라이언트 디바이스(110)가 수면 상태인지 여부, 클라이언트 디바이스(110)가 오프 상태인지 여부, 클라이언트 디바이스(110)의 센서(들)에 의해 생성된 센서 데이터, 및/또는 클라이언트 디바이스(110)와 관련된 기타 데이터에 기초할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 상태가 보조 전화 통화의 전사를 디스플레이하는 소프트웨어 애플리케이션(예를 들어, 자동화 어시스턴트 애플리케이션, 전화 애플리케이션, 보조 전화 통화 애플리케이션, 및/또는 기타 소프트웨어 애플리케이션)이 클라이언트 디바이스(110)의 포어그라운드에서 작동하고 있음을 나타내는 경우, 통지의 유형은 배너 알림, 팝업 통지 및/또는 기타 유형의 시각적 통지일 수 있다. 다른 예로서, 클라이언트 디바이스(110)의 상태가 클라이언트 디바이스(110)가 수면 또는 잠금 상태에 있음을 나타내는 경우, 통지의 유형은 스피커(들)를 통한 가청 표시 및/또는 전화 통화를 모방하는 클라이언트 디바이스(110)의 스피커(들) 또는 다른 하드웨어 컴포넌트를 통한 진동일 수 있다. 또 다른 예로서, 존재 센서(들), 가속도계(들), 및/또는 클라이언트 디바이스의 다른 센서(들)의 센서 데이터가 사용자가 현재 클라이언트 디바이스 근처에 있지 않고 및/또는 현재 들고 있지 않음을 나타내는 경우, (예를 들어, 제1 볼륨 레벨에서 시각 및 청각적인) 보다 거술리는(방해되는) 통지가 제공될 수 있다. 반면에, 이러한 센서 데이터가 사용자가 현재 클라이언트 디바이스 근처에 있고 및/또는 현재 들고 있음을 나타내는 경우, (시각적인 것만 또는 제1 볼륨 레벨 미만의 제2 볼륨 레벨에서 시각 및 청각적인) 덜 거슬리는 통지가 제공될 수 있다. 또 다른 예로, 대화의 상태가 그 대화가 거의 완료되었음을 나타낼 때 더 거슬리는 통지가 제공될 수 있는 반면, 대화의 상태가 그 대화가 거의 완료되지 않았음을 나타낼 때 덜 거슬리는 통지가 제공될 수 있다.
더욱이, 자동화 어시스턴트(115)가 사용자가 보조 전화 통화에 참여하도록 요청하는 통지가 클라이언트 디바이스(110)에서 렌더링되게 하였지만 사용자가 임계 지속 시간(예를 들어, 15초, 30초, 60초 및/또는 기타 기간) 내에 보조 전화 통화에 참여하지 않는 경우, 자동화 어시스턴트는 보조 전화 통화가 종료되도록 할 수 있다. 이러한 구현의 일부 버전에서, 임계 지속 시간은 사용자에게 보조 전화 통화에 참여하도록 요청하는 통지가 클라이언트 디바이스(110)에서 렌더링될 때 시작될 수 있다. 이러한 구현의 일부 추가 또는 대안적인 버전에서, 보조 전화 통화를 종료하기 전에, 보조 전화 통화의 상태는 클라이언트 디바이스(110)의 하나 이상의 데이터베이스(예를 들어, 클라이언트 디바이스의 랜덤 액세스 메모리)에 저장될 수 있다. 클라이언트 디바이스(110)의 사용자가 종료된 보조 전화 통화에 참여하기 위해 이후에 통지와 상호작용하는 경우, 자동화 어시스턴트(115)는 보조 전화 통화의 저장된 상태를 로딩함으로써 보조 전화 통화의 수행을 재개할 수 있어 보조 전화 통화의 저장된 상태에 대응하는 주어진 상태에서 보조 전화 통화가 재개된다. 이러한 방식으로, 자동화 어시스턴트(115)는 자동화 어시스턴트(115)에 의해 이미 탐색된 IVR 트리의 일부를 탐색할 필요가 없다.
다양한 구현에서, 자동화 어시스턴트(115)가 엔티티와 관련된 IVR 트리의 타겟 상태로 탐색한 후, 자동화 어시스턴트는 클라이언트 디바이스(110)의 사용자를 대신하여 태스크를 수행할 수 있다. 이러한 구현의 일부 버전에서, 태스크 엔진(157)은 보조 전화 통화를 개시하기 위해 클라이언트 디바이스(110)에서 검출된 사용자 입력에 기초하여, 또는 자동화 어시스턴트(115)가 보조 전화 통화를 개시하기 전에 클라이언트 디바이스(110)에서 검출된 추가 사용자 입력에 기초하여 클라이언트 디바이스(110)의 사용자를 대신하여 수행될 태스크(들)를 결정할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 사용자가 "오늘 밤 예약을 위해 Example Cafe에 전화해줘"라는 음성 입력을 제공하면, 태스크 엔진(157)은 음성 입력에 기초하여 레스토랑을 예약하는 태스크를 결정하기 위해 전화를 걸고 레스토랑을 예약하는 의도(들)(예를 들어, NLU 모델(들)(130A)를 사용하여 결정됨)를 이용할 수 있다. 파라미터(들) 엔진(153)에 의해 결정되는 본 명세서에 설명된 파라미터(들)는 또한 태스크 엔진(157)에 의해 식별된 태스크에 대한 파라미터(들)를 식별할 수 있고, 파라미터(들) 엔진(153)과 관련하여 위에서 전술한 유사한 방식으로 태스크에 대한 파라미터(들)에 대한 대응 값(들)을 결정한다.
태스크 엔진(157)은 자동화 어시스턴트(115)가 태스크를 수행하기 위해 보조 전화 통화 동안 상기 식별된 엔티티와 관련된 인간 담당자와의 대화에 참여하게 할 수 있다. 예를 들어, 태스크 엔진(157)은 파라미터(들)에 대한 대응 값(들)에 기초한 텍스트 및/또는 음소를 음성 합성 엔진(140A1 및/또는 140A2)에 제공하여 합성 음성 오디오 데이터를 생성할 수 있다. 합성 음성 오디오 데이터는 추가 클라이언트 디바이스에서 가청 렌더링을 위해 인간 담당자의 추가 클라이언트 디바이스로 전송될 수 있다. 예를 들어, 음성 합성 엔진(들)(140A1 및/또는 140A2)은 인간 담당자에 의해 요청된 파라미터(들)에 대한 값(들)에 대응하도록 결정된 음소 시퀀스를 결정할 수 있고, 음성 합성 모델(들)(140A)을 사용하여 음소 시퀀스를 처리하여 합성 음성 오디오 데이터를 생성할 수 있다. 합성 음성 오디오 데이터는 예를 들어 오디오 파형의 형태일 수 있다. 파라미터에 대한 값(들)에 대응하는 음소 시퀀스를 결정할 때, 음성 합성 엔진(들)(140A1 및/또는 140A2)은 클라이언트 디바이스(110)에 로컬로 저장되거나 (예를 들어, 네트워크(들)(190)을 통해) 서버(들)에 저장된 토큰-음소(tokens-to-phonemes) 매핑에 액세스할 수 있다. 태스크 엔진(157)은 음성 인식 엔진(120A1 및/또는 120A2)이 인간 담당자에 의해 제공되는 음성 입력을 캡처하는 임의의 오디오 데이터를 처리하게 할 수 있고, 이어서 자동화 어시스턴트(115)는 음성 합성 엔진(140A1 및/또는 140A2)을 사용하여 추가로 합성 음성 오디오 데이터를 생성할 수 있다.
본 명세서에 기술된 바와 같이, 렌더링 엔진(113)은 클라이언트 디바이스(110)에 다양한 통지 또는 기타 출력을 렌더링할 수 있다. 렌더링 엔진(113)은 본 명세서에 설명된 다양한 통지를 청각적으로 및/또는 시각적으로 렌더링할 수 있다. 더욱이, 렌더링 엔진(113)은 대화의 전사가 클라이언트 디바이스(110)의 사용자 인터페이스 상에서 렌더링되게 할 수 있다. 일부 구현에서, 전사는 클라이언트 디바이스(110)의 사용자와 자동화 어시스턴트(115) 사이의 대화에 해당할 수 있다. 일부 추가 또는 대안적인 구현에서, 전사는 식별된 엔티티와 관련된 IVR 시스템과 자동화 어시스턴트(115) 사이의 대화에 해당할 수 있다. 또 다른 구현에서, 전사는 식별된 엔티티와 관련된 인간 담당자와 자동화 어시스턴트(115) 사이의 대화에 해당할 수 있다.
일부 구현에서, 사용자 입력 엔진(111)을 통해 클라이언트 디바이스(110)에서 검출된 사용자 입력은 클라이언트 디바이스(110)의 검색 인터페이스를 통해 수신된 검색 쿼리일 수 있다. 검색 인터페이스는 예를 들어 전화 또는 연락처 애플리케이션, 브라우저 애플리케이션, 자동화 어시스턴트 애플리케이션, 웹 기반 브라우저, 및/또는 검색 기능을 가능하게 하는 임의의 다른 인터페이스의 일부로 구현될 수 있다. 검색 엔진(114)은 렌더링 엔진(113)을 통해 클라이언트 디바이스(110)에서 렌더링되는 검색 결과를 식별하고 검색할 수 있다. 이러한 구현의 일부 버전에서, 검색 결과는 검색 쿼리에 응답하는 컨텐츠를 포함할 수 있고 선택적으로 하나 이상의 선택 가능한 엘리먼트를 포함할 수 있다. 하나 이상의 선택 가능한 엘리먼트는 예를 들어 엔터티와 관련되고 그리고 추가 사용자 입력(예를 들어, 터치, 타이핑 및/또는 음성)에 기초하여 선택될 때 자동화 어시스턴트(115)로 하여금 검색 결과에 포함된 IVR 트리의 선택된 후보 상태에 해당하는 IVR 트리의 타겟 상태로 탐색(이동)하게 하는 VR 트리의 하나 이상의 후보 상태에 대한 딥링크를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 사용자가 전화 애플리케이션의 검색 인터페이스를 통해 "주택 개량 스토어(용품점)"라는 검색 쿼리를 제출하면, 주택 개량 스토어와 관련된 IVR 트리의 후보 상태들 중 하나 이상에 대응하는 다양한 부서와 관련된 선택 가능한 엘리먼트는 검색 쿼리에 응답하는 검색 결과에 포함될 수 있다. 더욱이, 특정 선택 가능한 엘리먼트(예를 들어, "도색 부서")는 사용자가 최근에 "페인트"와 관련된 다른 검색 결과와 상호작용한 경우(예를 들어, 사용자 상호작용 엔진(154)과 관련하여 위에서 설명된 바와 같이) 다른 선택 가능한 엘리먼트보다 더 두드러지게 렌더링될 수 있다.
본 명세서에 설명된 기술을 사용함으로써 다양한 기술적 이점이 달성될 수 있다. 하나의 비-제한적 예로서, 자동화 어시스턴트(115)는 IVR 트리가 엔티티와 연관되어 저장되기 때문에 IVR 트리를 탐색하기 전에 자동화 어시스턴트가 IVR 시스템의 옵션을 들을 필요가 없기 때문에 보조 전화 통화를 보다 신속하게 종결할 수 있다. 본 명세서에 개시된 기술을 사용함으로써 보조 전화 통화의 길이가 감소될 수 있기 때문에 네트워크 및 계산 리소스 모두가 보존될 수 있다. 또한, 사용자 입력의 양이 감소될 수 있으며, 이에 따라 주어진 사용자가 보조 전화 통화의 수행을 개시하기 위해 다양한 구현에서 "IVR 딥링크"를 선택하기만 하면 되기 때문에 클라이언트 디바이스 리소스(들)가 보존될 수 있다. 더욱이, 클라이언트 디바이스(110)의 배터리 리소스는 또한 사용자가 보조 전화 통화의 활성(active) 참가자가 아니라는 점에서 보존될 수 있으며, 클라이언트 디바이스(110)는 보조 전화 통화 동안 잠금 상태 또는 저전력 상태에 놓일 수 있다.
이제 도 3을 참조하면, 주어진 사용자와 관련된 클라이언트 디바이스에서의 사용자 상호작용(들)에 기초하여 IVR 트리의 탐색을 수정하는 예시적인 방법(300)을 나타내는 흐름도가 도시된다. 편의상, 방법(300)의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명된다. 방법(300)의 이 시스템은 하나 이상의 프로세서 및/또는 컴퓨팅 디바이스(들)(예를 들어, 도 1, 도 4a-4d, 도 6a-6e 및/또는 도 8a-8d의 클라이언트 디바이스(110), 및/또는 도 9의 컴퓨팅 디바이스(910), 하나 이상의 서버, 및/또는 기타 컴퓨팅 디바이스)의 다른 컴포넌트(들)를 포함한다. 더욱이, 방법(300)의 동작들이 특정 순서로 도시되어 있지만, 이것은 제한하는 것을 의미하지 않는다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(352)에서, 시스템은 주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신한다. 보조 전화 통화를 시작하기 위한 사용자 입력은 보조 전화 통화를 개시하기 위한 음성 입력, 보조 전화 통화를 개시하기 위한 터치 입력, 또는 보조 전화 통화를 개시하기 위한 타이핑된 입력 중 하나 이상일 수 있다. 게다가, 보조 전화 통화를 개시하기 위한 사용자 입력은 다양한 인터페이스(예를 들어, 검색 인터페이스, 음성 인터페이스, 자동화 어시스턴트 인터페이스, 및/또는 보조 전화 통화가 개시될 수 있는 기타 인터페이스)에서 수신될 수 있다.
블록(354)에서, 시스템은 사용자 입력에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티를 식별한다. 시스템은 블록(352)에서 수신된 사용자 입력 및/또는 보조 전화 통화를 개시하기 직전에 클라이언트 디바이스와의 사용자 상호작용에 기초하여 보조 전화 통화 동안 참여할 엔티티를 식별할 수 있다. 예를 들어, 시스템은 클라이언트 디바이스에서 수신된 "내 분실 수하물을 ㅇ예시 항공사(ample Airlines)에 신고해줘"라는 음성 입력을 처리하는 것에 기초하여 "예시 항공사"의 엔터티를 식별할 수 있다. 다른 예로, 시스템은 클라이언트 디바이스의 주어진 사용자가 예시 항공사와 관련된 통화 인터페이스 엘리먼트 또는 예시 항공사와 관련된 IVR 트리의 후보 상태와 관련된 특정 그래픽 엘리먼트를 선택했다는 결정에 기초하여 "예시 항공사"의 엔티티를 식별할 수 있다.
블록(356)에서, 시스템은 식별된 엔티티와 관련된 IVR 트리를 식별하는데, IVR 트리에는 복수의 후보 상태가 포함된다. 식별된 엔티티와 관련된 IVR 트리는 블록(354)에서 식별된 엔티티와 관련하여 (예를 들어, 도 1의 엔티티(들) 데이터베이스(151A) 및/또는 도 1의 IVR 트리(들) 데이터베이스(152A)에) 저장될 수 있다. 엔티티와 관련된 저장된 IVR 트리는 식별된 엔티티와 관련된 IVR 시스템을 이전에 크롤링하는 시스템(및/또는 시스템의 추가 인스턴스)을 기반으로 하나 이상의 데이터베이스에 이전에 저장될 수 있으며, 및/또는 식별된 엔티티는 그 식별된 엔티티와 관련된 IVR 시스템에 대한 IVR 트리를 제공할 수 있다. 또한, 시스템은 IVR 트리를 탐색하는 복수의 보조 전화 통화에 기초하여 상기 식별된 엔티티와 관련된 IVR 시스템에 대한 IVR 트리를 지속적으로 업데이트할 수 있다. 복수의 후보 상태는 보조 전화 통화 중에 시스템이 탐색할 수 있는 IVR 트리의 특정 노드에 해당할 수 있다.
블록(358)에서, 시스템은 사용자 입력 또는 추가 사용자 입력에 기초하여, 복수의 후보 상태 중에서 IVR 트리의 타겟 상태를 결정한다. 일부 구현에서, 타겟 상태는 블록(352)에서 수신된 사용자 입력에 기초하여 결정될 수 있다. 예를 들어, IVR 트리가 예시 항공사의 엔티티와 관련되어 있다고 가정하고, IVR의 주어진 후보 상태가 예시 항공사의 엔티티와 관련된 IVR 트리에 대한 "분실 수하물 신고" 후보 상태에 해당한다고 가정한다. 또한, 블록(352)에서 "내 분실 수하물을 예시 항공사에 신고해줘"라는 음성 입력이 클라이언트 디바이스에서 수신되었다고 가정한다. 이 예에서, "수하물 분실 신고"라는 타겟 상태가 음성 입력에 기초하여 식별될 수 있다. 일부 추가적 또는 대안적인 구현에서, 타겟 상태는 블록(352)에서 수신된 사용자 입력에 더하여 추가 사용자 입력에 기초하여 결정될 수 있다. 예를 들어, IVR 트리가 예시 항공사의 엔티티와 관련되어 있다고 가정하고, IVR의 주어진 후보 상태가 예시 항공사의 엔티티와 관련된 IVR 트리에 대한 "분실 수하물 신고" 후보 상태에 해당한다고 가정한다. 또한, 블록(352)에서 "예시 항공사 통화"라는 음성 입력이 클라이언트 디바이스에서 수신되거나 블록(352)에서 예시 항공사 통화와 관련된 선택 가능한 그래픽 엘리먼트의 선택이 클라이언트 디바이스에서 수신된다고 가정한다. 이 예에서, 복수의 후보 상태 중 하나 이상이 사용자 입력을 수신하는 것에 응답하여 클라이언트 디바이스에서 출력으로 제시될 수 있고, 타겟 상태는 제시된 복수의 후보 중 하나 이상 중에서 "분실 수하물 신고"의 타겟 상태를 선택하는 추가 사용자 입력에 기초할 수 있다. 출력은 보조 전화 통화를 개시하기 전이나 보조 전화 통화를 개시할 때 제시될 수 있다.
블록(360)에서, 시스템은 IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 개시한다. 시스템은 주어진 사용자와 관련된 클라이언트 디바이스와 블록(354)에서 식별된 엔티티와 관련된 추가 클라이언트 디바이스 사이의 통신 세션을 설정함으로써 보조 전화의 수행을 개시할 수 있다. 통신 세션은 예를 들어 VoIP, PSTN 및/또는 기타 전화 통신 프로토콜을 비롯하여 다양한 음성 통신 프로토콜을 사용하여 설정될 수 있다. 일부 구현에서, 시스템은 IVR 트리의 노드를 순회하기 위해 버튼 누름을 에뮬레이트함으로써, IVR 트리의 노드들을 순회하기 위해 합성된 음성을 포함하는 합성 음성 오디오 데이터를 렌더링함으로써, 및/또는 (예를 들어, 도 2와 관련하여 설명된 바와 같이) 클라이언트 디바이스와 관련된 주어진 사용자의 음성 입력을 포함하는 오디오 데이터를 렌더링함으로써 IVR 트리를 타겟 상태로 탐색할 수 있다. 이러한 구현의 일부 버전에서, 시스템은 또한 IVR 트리를 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들)을 이용할 수 있다. 파라미터(들)에 대한 대응 값(들)은 하나 이상의 데이터베이스(예를 들어, 도 1의 사용자 프로파일(들) 데이터베이스(153A))로부터 검색될 수 있고 및/또는 클라이언트 디바이스와 관련된 주어진 사용자로부터 요청될 수 있다.
블록(362)에서, 시스템은 사용자 상호작용이 클라이언트 디바이스에서 검출되는지 여부를 결정한다. 사용자 상호작용에는 예를 들어 웹 브라우저 또는 웹 브라우저 애플리케이션과의 검색 상호작용, 웹 브라우저 또는 웹 브라우저 애플리케이션과의 브라우징 상호 작용, 웹 브라우저 또는 내비게이션 애플리케이션과의 내비게이션 상호작용, 자동화 어시스턴트(115)와의 어시스턴트 상호작용, 및/또는 클라이언트 디바이스와의 기타 사용자 상호작용이 포함될 수 있다. 특히, 시스템이 보조 전화 통화를 수행하는 동안, 클라이언트 디바이스와 관련된 주어진 사용자는 여전히 클라이언트 디바이스와 상호작용할 수 있으므로 보조 전화 통화는 클라이언트 디바이스의 백그라운드에서 실행된다. 블록(362)의 반복에서, 시스템이 클라이언트 디바이스에서 사용자 상호작용이 검출되지 않는다고 결정하면, 시스템은 블록(370)으로 진행될 수 있다. 블록(370)은 아래에서 상세히 설명된다. 블록(362)의 반복에서, 시스템이 사용자 상호작용이 클라이언트 디바이스에서 검출된다고 결정하면, 시스템은 블록(364)으로 진행할 수 있다.
블록(364)에서, 시스템은 블록(362)에서 검출된 사용자 상호작용이 블록(354)에서 식별된 엔티티와 관련되는지 여부를 결정한다. 예를 들어, 시스템은 사용자 상호작용이 블록(354)에서 식별된 엔티티와 관련된 웹페이지로 향하는지, 블록(354)에서 식별된 엔티티와 관련된 오프라인(brick and mortar) 매장으로 가는 길찾기(directions)를 얻기 위한 것인지, 및/또는 엔티티로 향하는 기타 사용자 상호작용을 얻기 위한 것인지 여부를 결정할 수 있다. 블록(364)의 반복에서, 시스템이 블록(362)에서 검출된 사용자 상호작용이 블록(354)에서 식별된 엔티티와 관련되지 않았다고 결정하면, 시스템은 블록(370)으로 진행할 수 있다. 블록(370)은 아래에서 상세히 설명된다. 블록(364)의 반복에서, 시스템이 블록(362)에서 검출된 사용자 상호작용이 블록(354)에서 식별된 엔티티와 관련되었다고 결정하면, 시스템은 블록(366)으로 진행할 수 있다.
블록(366)에서, 시스템은 블록(362)에서 검출된 사용자 상호작용에 기초하여 IVR 트리의 탐색을 수정하는 것과 관련된 하나 이상의 프롬프트를 생성한다. 일부 구현에서, IVR 트리의 탐색을 수정하는 것은 IVR 트리를 대체 타겟 상태로 탐색하기 위한 타겟 상태를 수정하는 것을 포함할 수 있다. 예를 들어, 주택 개량 업체(entity)와 관련된 IVR 트리의 바닥재 부서와 관련된 타겟 상태로 이동하기 위해 보조 전화 통화가 개시되었다고 가정하고, 추가로 주택 개량 업체의 조명 부서와 관련된 웹페이지의 일부로 향하는 사용자 상호작용이 검출되었다고 가정한다. 이 예에서, 시스템은 주어진 사용자에게 타겟 상태를 바닥재 부서와 관련된 것에서 조명 부서와 관련된 대체 타겟 상태로 변경하도록 프롬프트할 수 있다.
일부 추가적 또는 대안적인 구현에서, IVR 트리의 탐색을 수정하는 것은 IVR 트리를 탐색하기 위한 추가 타겟 상태를 추가하는 것을 포함할 수 있다. 위의 예를 계속하면, 주어진 사용자에게 타겟 상태를 바닥재 부서와 관련된 타겟 상태에서 조명 부서와 관련된 대체 타겟 상태로 변경하도록 프롬프트하는 대신, 시스템은 바닥재 부서와 관련된 타겟 상태에 추가되는 추가 타겟 상태로서 조명 부서를 추가하도록 지정된 사용자에게 프롬프트시할 수 있다. 이 예에서, 사용자는 바닥재 부서와 관련된 타겟 상태에 도달할 때 보조 전화 통화에 참여하도록 통지받을 수 있다. 주어진 사용자가 바닥재 부서와 상호작용한 후, 주어진 사용자는 보조 전화 통화를 종료할 수 있다. 그러나, 시스템은 보조 전화 통화를 연결된 상태로 유지할 수 있고, 바닥재 부서와 관련된 인간 담당자에게 보조 전화 통화를 조명 부서로 전환하도록 요청하거나, 시스템은 조명 부서와 관련된 추가 타겟 상태로 IVR 트리를 다시 탐색할 수 있다.
일부 추가적 또는 대안적인 구현에서, IVR 트리의 탐색을 수정하는 것은 IVR 트리를 탐색하기 위한 파라미터(들)에 대한 대응 값(들)을 수정하는 것을 포함할 수 있다. 예를 들어, 보조 전화 통화가 주택 개량 업체와 관련된 IVR 트리 및 조명 부서와 관련된 타겟 상태로 이동하기 위해 시작되었다고 가정하고, 추가로 주택 개량 업체에서 판매되는 특정 브랜드의 스마트 전구와 관련된 웹페이지의 일부로 향하는 사용자 상호작용이 검출되었다고 가정한다. 이 예에서, 시스템은 주어진 사용자에게 조명 부서와 관련된 타겟 상태로의 이동과 관련된 파라미터에 대해 특정 브랜드의 스마트 전구와 관련된 대응 값을 포함하도록 프롬프트할 수 있다. 또한, 시스템은 하나 이상의 프롬프트가 주어진 사용자와 관련된 클라이언트 디바이스에서 시각적으로 및/또는 청각적으로 렌더링되게 할 수 있다.
블록(368)에서, 시스템은 프롬프트들 중 하나 이상에 응답하여 수신된 추가 사용자 입력에 기초하여 IVR 트리의 탐색을 수정할지 여부를 결정한다. 예를 들어, 사용자가 클라이언트 디바이스에서 렌더링된 하나 이상의 프롬프트에 긍정적으로 응답하면, IVR 트리의 탐색은 블록(362)에서 검출된 사용자 상호작용에 기초하여 수정될 수 있다. 그러나, 사용자가 하나 이상의 프롬프트에 긍정적으로 응답(또는 부정적으로 응답)하지 않으면, IVR 트리의 탐색은 수정되지 않을 수 있다. 블록(368)의 반복에서 시스템이 추가 사용자 입력에 기초하여 IVR 트리의 탐색을 수정하지 않기로 결정하면, 시스템은 블록(370)으로 진행할 수 있다.
블록(370)에서, 시스템은 IVR 트리를 타겟 상태로 탐색한다. 시스템이 블록(362, 364, 및/또는 368)으로부터 블록(370)으로 진행하는 구현에서, 시스템은 블록(358)에서 결정된 타겟 상태에 기초하여 IVR 트리를 계속 탐색할 수 있다. 시스템은 IVR 트리를 탐색하기 위해 버튼 누름을 에뮬레이트하는 것에 기초하여 IVR 트리를 탐색할 수 있고, 합성 음성을 포함하는 합성 음성 오디오 데이터가 블록(354)에서 식별된 엔티티와 관련된 추가 클라이언트 디바이스로 렌더링되게 하고 및/또는 음성 입력을 포함하는 오디오 데이터가 블록(354)에서 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되게 할 수 있다. 블록(368)의 반복에서 시스템이 추가 사용자 입력에 기초하여 IVR 트리의 탐색을 수정하기로 결정하면, 시스템은 블록(372)으로 진행할 수 있다. 블록(372)에서, 시스템은 IVR 트리를 탐색하기 위한 파라미터(들)에 대한 대응 값(들)을 수정하거나 블록(366)과 관련하여 위에서 설명된 바와 같이 추가 타겟 상태를 추가로 포함하거나 대안적으로 대체 타겟 상태를 포함하도록 타겟 상태를 수정한다. IVR 트리를 탐색하는 것은 도 2와 관련하여 위에서 설명되었다.
블록(370) 또는 블록(372)으로부터, 시스템은 블록(374)으로 진행할 수 있다. 블록(374)에서, 시스템은 보조 전화 통화가 타겟 상태에 도달했는지 여부를 검증(확인)할 수 있다. 시스템은 통화에 참여한 엔티티와 관련된 인간 담당자 또는 엔티티와 관련된 IVR 시스템의 추가 자동화 어시스턴트로부터 클라이언트 디바이스에서 수신된 음성 입력을 처리하여 시스템이 타겟 상태에 도달했는지 여부를 결정할 수 있다. 예를 들어, IVR 트리의 타겟 상태가 주택 개량 스토어 엔티티의 조명 부서와 관련되어 있다고 가정한다. 더 나아가 인간 담당자 추가 자동화 어시스턴트가 "조명 부서에 전화해 주셔서 감사합니다. 무엇을 도와드릴까요?"라는 음성 입력을 제공한다고 가정한다. 이 예에서, 시스템은 음성 입력에 "조명 부서"라는 용어가 포함되어 있는지 결정하여 시스템이 클라이언트 디바이스와 관련된 주어진 사용자의 원하는 타겟 상태에 실제로 도달했는지를 검증(확인)할 수 있다. 일부 구현에서, 클라이언트 디바이스에서 수신된 음성 입력은 시스템이 인간 담당자 또는 추가 자동화 어시스턴트와 관련된 추가 클라이언트 디바이스에서 렌더링된 합성 음성을 통해 음성 입력을 요청하는 것에 응답하여 제공될 수 있다(예를 들어, "안녕하세요, 여기가 조명 부서입니까", 또는 타겟 상태의 확인을 요청하는 기타 합성 음성). 블록(374)의 반복에서, 시스템이 보조 전화 통화가 타겟 상태 이외의 다른 상태에 도달했다고 결정하면 시스템은 블록(376)으로 진행할 수 있다. 블록(376)에서, 시스템은 보조 전화 통화가 타겟 상태와 관련된 담당자에게 전환(연결)되도록 요청한다. 보조 전화 통화를 전환하기 위한 요청은 인간 담당자 또는 추가 자동화 어시스턴트와 관련된 추가 클라이언트 디바이스에서 렌더링된 합성 음성에 포함될 수 있다(예를 들어, "조명 부서로 전환(연결)해 주시겠습니까" 또는 보조 전화 통화를 전환해 달라고 요청하는 기타 합성 음성). 그런 다음, 시스템은 블록(374)으로 돌아가 타겟 상태와 관련된 담당자가 전환 후 타겟 상태에 해당하는지 여부를 검증할수 있다. 블록(374)의 반복에서 시스템이 보조 전화 통화가 타겟 상태에 도달했다고 결정하면, 시스템은 블록(378)으로 진행할 수 있다.
블록(378)에서, 시스템은 클라이언트 디바이스를 통해 IVR 트리 탐색의 수행 결과를 나타내는 통지를 렌더링한다. 예를 들어, 통지에는 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하라는 요청이 포함될 수 있다. 클라이언트 디바이스와 관련된 주어진 사용자를 대신하여 엔티티와 관련하여 시스템이 또한 태스크를 수행하는 본 명세서에 설명된 구현에서, 통지는 태스크의 수행 결과를 추가적으로 또는 대안적으로 포함할 수 있다.
이제 도 4a 내지 도 4c를 참조하면, 주어진 사용자와 관련된 클라이언트 디바이스(110)에서의 사용자 상호작용(들)에 기초하여 IVR 트리의 탐색을 수정하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적인 예가 도시되어 있다. 도 4a 내지 도 4c는 그래픽 사용자 인터페이스(180)를 갖는 클라이언트 디바이스(110)를 각각 도시하고, 도 1의 클라이언트 디바이스의 컴포넌트(구성요소) 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110)와 관련된 자동화 어시스턴트의 하나 이상의 양태(예를 들어, 도 1의 자동화 어시스턴트(115))는 클라이언트 디바이스(110), 및/또는 분산 방식으로(예를 들어, 도 1의 네트워크(들)(190)을 통해) 클라이언트 디바이스(110)와 네트워크 통신하는 다른 클라이언트 디바이스(들) 상에서 로컬로 구현될 수 있다. 단순화를 위해, 도 4a 내지 도 4c의 동작들은 자동화 어시스턴트에 의해 수행되는 것으로 본 명세서에서 설명된다. 도 4a 내지 도 4c의 클라이언트 디바이스(110)는 모바일 폰으로 도시되어 있지만, 이는 제한하려는 의도가 아님을 이해해야 한다. 클라이언트 디바이스(110)는 예를 들어 독립형 어시스턴트 디바이스(예를 들어, 스피커(들) 및/또는 디스플레이 포함), 랩탑, 데스크탑 컴퓨터, 차량용 컴퓨팅 디바이스 및/또는 전화 통화가 가능한 임의의 기타 클라이언트 디바이스일 수 있다.
도 4a 내지 도 4c의 그래픽 사용자 인터페이스(180)는 사용자가 가상 키보드 또는 다른 터치 및/또는 타이핑된 입력을 통해 사용자 입력을 생성하도록 선택할 수 있는 텍스트 응답(textual reply) 인터페이스 엘리먼트(184), 및 사용자가 클라이언트 디바이스(110)의 마이크로폰(들)을 통해 사용자 입력을 생성하도록 선택할 수 있는 음성 응답(voice reply) 인터페이스 엘리먼트(185)를 더 포함한다. 일부 구현에서, 사용자는 음성 응답 인터페이스 엘리먼트(185)의 선택 없이 마이크로폰(들)을 통해 사용자 입력을 생성할 수 있다. 예를 들어, 사용자가 음성 응답 인터페이스 엘리먼트(185)를 선택할 필요성을 없애기 위해 마이크로폰(들)를 통한 가청 사용자 입력에 대한 능동적 모니터링이 발생할 수 있다. 이들 중 일부 및/또는 다른 구현에서, 음성 응답 인터페이스 엘리먼트(185)는 생략될 수 있다. 더욱이, 일부 구현에서, 텍스트 응답 인터페이스 엘리먼트(184)는 추가적으로 및/또는 대안적으로 생략될 수 있다(예를 들어, 사용자는 가청 사용자 입력만을 제공할 수 있다). 도 4a 내지 도 4c의 그래픽 사용자 인터페이스(180)는 또한 컴퓨팅 디바이스(110)가 하나 이상의 동작을 수행하게 하기 위해 사용자에 의해 상호작용될 수 있는 시스템 인터페이스 엘리먼트(181, 182, 183)를 포함한다.
본 명세서에 설명된 다양한 구현에서, 자동화 어시스턴를 사용하여 엔티티와 전화 통화(예를 들어, 보조 전화 통화)를 개시하기 위해 사용자 입력이 수신될 수 있다. 사용자 입력은 음성 입력, 터치 입력, 및/또는 보조 전화 통화를 개시하기 위한 표시를 포함하는 타이핑된 입력일 수 있다. 또한, 자동화 어시스턴트는 클라이언트 디바이스(110)의 주어진 사용자를 대신하여 엔티티와 관련된 IVR 트리를 복수의 후보 상태 중으로부터 타겟 상태로 탐색(이동)하고 및/또는 엔티티에 대한 태스크를 수행할 수 있다. 도 4a에 도시된 바와 같이, 사용자 인터페이스(180)는 (예를 들어, "www.exampleurl0.com/")의 URL(411)로 표시된 바와 같이) 클라이언트 디바이스(110)에서 액세스 가능한 브라우저 애플리케이션으로부터 식료품점 엔티티에 대한 검색 결과를 포함한다. 또한, 검색 결과에는 제1 위치에 위치한 "가상 식료품점(hypothetical grocer)"의 제1 검색 결과(420) 및 제2 위치에 위치한 "가상 식료품점"의 제2 검색 결과(430)가 포함된다.
일부 구현에서, 검색 결과(420 및/또는 430)는 선택될 때 클라이언트 디바이스(110)로 하여금 대응하는 동작들을 수행하게 하는 다양한 선택 가능한 그래픽 엘리먼트와 관련될 수 있다. 예를 들어, 검색 결과(420 및/또는 430) 중 주어진 하나와 관련된 통화 그래픽 엘리먼트(421 및/또는 431)가 선택되는 경우, 사용자 입력은 검색 결과(420 및/또는 430)와 관련된 식료품점 엔티티에 대한 전화 통화 동작이 수행되어야 함을 나타낼 수 있다. 다른 예로서, 검색 결과(420 및/또는 430) 중 주어진 하나와 관련된 방향 그래픽 엘리먼트(422 및/또는 432)가 선택되는 경우, 사용자 입력은 검색 결과(420 및/또는 430)와 관련된 식료품점 엔티티에 대한 탐색 동작이 수행되어야 함을 나타낼 수 있다. 또 다른 예로서, 검색 결과(420 및/또는 430) 중 주어진 하나와 관련된 부서 그래픽 엘리먼트(423 및/또는 433)가 선택되는 경우, 사용자 입력은 검색 결과(420 및/또는 430)와 관련된 식료품점 엔티티에 대한 부서를 디스플레이하기 위한 브라우저 기반 동작이 수행되어야 함을 나타낼 수 있다. 보조 전화 통화가 도 4a의 브라우저 애플리케이션으로부터 시작되지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 보조 전화 통화는 클라이언트 디바이스(110)에서 액세스 가능한 다양한 소프트웨어 애플리케이션(예를 들어, 자동화 어시스턴트 애플리케이션, 전화 애플리케이션, 연락처 애플리케이션, 이메일 애플리케이션, 문자 또는 SMS 메시징 애플리케이션, 및/또는 기타 소프트웨어 애플리케이션)에서 개시될 수 있고, 보조 전화 통화가 음성 입력을 사용하여 개시되는 경우, 클라이언트 디바이스(110)의 홈 화면에서, 클라이언트 디바이스(110)의 잠금 화면에서, 및/또는 클라이언트 디바이스(110)의 기타 상태에서 개시될 수 있다.
예를 들어, 사용자 입력이 클라이언트 디바이스(110)에서 검출되어 제1 위치에서 "가상 식료품점"의 제1 검색 결과(420)로 전화 통화를 개시한다고 가정한다. 사용자 입력은 예를 들어 "가상 식료품점 통화"라는 음성 입력(클라이언트 디바이스(110)에 대한 제1 위치의 근접에 기초하여 선택됨) 또는 490A1로 표시된 통화 그래픽 엘리먼트(421)에 대한 터치 입력일 수 있다. 일부 구현에서, 통화 세부정보 인터페이스(470)는 "가상 식료품점"과의 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에 클라이언트 디바이스(110)에 렌더링될 수 있거나, 또는 490A1으로 표시된 바와 같이 "가상 식료품점"과의 전화 통화를 개시하기 위한 사용자 입력을 수신하는 것에 응답하여 클라이언트 디바이스(110)에 렌더링될 수 있다. 이러한 구현의 일부 버전에서, 통화 세부정보(details) 인터페이스(470)는 사용자 인터페이스(180)의 일부로서 클라이언트 디바이스(110)에 렌더링될 수 있다. 이러한 구현의 일부 다른 버전에서, 통화 세부정보 인터페이스(470)는 사용자 인터페이스(180)를 오버레이하는 사용자 인터페이스(180)와 별개의 인터페이스일 수 있고, 추가 통화 세부정보를 디스플레이하기 위해 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 위로 스와이프함으로써) 사용자가 통화 세부정보 인터페이스(470)를 확장하도록 하고 및/또는 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 아래로 스와이프함으로써) 통화 세부정보 정보 인터페이스(470)를 닫을 수 있도록 하는 통화 세부정보 인터페이스 엘리먼트(186)를 포함할 수 있다. 통화 세부정보 인터페이스(470)가 사용자 인터페이스(180)의 하단에 있는 것으로 도시되어 있지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 통화 세부정보 인터페이스(470)는 사용자 인터페이스(180)의 상단, 사용자 인터페이스(180)의 측면, 또는 사용자 인터페이스(180)와 완전히 별개의 인터페이스에 렌더링될 수 있다.
통화 세부정보 인터페이스(470)는 다양한 구현에서 복수의 그래픽 엘리먼트를 포함할 수 있다. 이러한 구현의 일부 버전에서, 그래픽 엘리먼트는 그래픽 엘리먼트 중 주어진 하나가 선택될 때 클라이언트 디바이스(110)가 대응하는 동작을 수행할 수 있도록 선택가능할 수 있다. 도 4a에 도시된 바와 같이, 통화 세부정보 인터페이스(470)에는 "보조 통화, 가상 식료품점, 제1 위치"의 제1 그래픽 엘리먼트(471A), "일반 통화"의 제2 그래픽 엘리먼트(472A) 및 "연락처 '가상 식료품점' 저장"의 제3 그래픽 엘리먼트(473A)가 포함된다. 특히 이러한 구현의 일부 버전에서, 그래픽 엘리먼트는 "가상 식료품점"과 관련된 IVR 트리를 탐색하기 위한 후보 상태들의 표시를 제공하는 서브 엘리먼트를 포함할 수 있다. 예를 들어, 제1 그래픽 엘리먼트(471A)에는 가상 식료품점과 관련된 IVR 트리를 농산물 코너(produce department) 코너에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "농산물 코너"의 제1 서브 엘리먼트(471A1)와, 가상 식료품점과 관련된 IVR 트리를 제빵(bakery) 코너에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "제빵 코너"의 제2 서브 엘리먼트(471A2)와, 그리고 가상 식료품점과 관련된 IVR 트리를 델리(deli) 코너에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "델리 코너"의 제1 서브 엘리먼트(471A3)가 포함될 수 있다.
예를 들어, 가상 식료품점과 관련된 IVR 트리를 탐색하여 가상 식료품점의 농산물 코너와 관련된 타겟 상태로 탐색하기 위해 가상 식료품점과의 보조 전화 통화의 수행을 개시하기 위한 사용자 입력이 클라이언트 디바이스(110)에서 검출되었다고 가정한다. 사용자 입력은 예를 들어 "가상 식료품점의 농산물 코너 통화"라는 음성 입력 또는 490A2로 표시된 제1 서브 엘리먼트(471A1)에 대한 터치 입력일 수 있다. 사용자 입력을 검출하는 것에 응답하여, 자동화 어시스턴트는 가상 식료품점과 관련된 IVR 트리를 탐색하기 위한 "농산물 코너"의 타겟 상태를 결정할 수 있다. 일부 구현에서, 자동화 어시스턴트는 (예를 들어, 도 1의 파라미터(들) 엔진(153) 및 도 2와 관련하여) 본 명세서에 기술된 바와 같이, IVR 트리를 타겟 상태로 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들) 및/또는 농산물 코너와 관련된 타겟 상태에 도달할 때 수행될 태스크에 대한 대응 값(들)을 식별할 수 있다.
일부 구현에서, 도 4b에 도시된 바와 같이, 자동 어시스턴트가 보조 전화 통화 중에 IVR 트리를 타겟 상태로 탐색하는 동안, 클라이언트 디바이스(110)의 주어진 사용자는 여전히 클라이언트 디바이스(110)와 상호작용할 수 있다. 이러한 구현의 일부 버전에서, 자동화 어시스턴트가 IVR 트리를 탐색하는 동안 클라이언트 디바이스(110)에서 검출된 사용자 상호작용은 IVR 트리의 탐색을 수정하는데 이용될 수 있다. 예를 들어, 도 4b에 도시된 바와 같이, 클라이언트 디바이스(110)와 관련된 제공 사용자가 클라이언트 디바이스(110)에서 액세스할 수 있는 브라우저 애플리케이션에서 (예를 들어, "www.exampleurl1.com/"의 URL(411)로 표시된 바와 같이) "가상 식료품점"의 제1 검색 결과(420)와 관련된 웹페이지를 본다고 가정한다. 특히, 웹페이지는 가상 식료품점의 다양한 코너와 관련된 정보에 대응하는 선택 가능한 그래픽 엘리먼트를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(110)와 관련된 주어진 사용자는 가상 식료품점의 농산물 코너에서 농산물 가용성(availability)을 보기 위해 제1 그래픽 선택 가능 엘리먼트(471B1)를 선택할 수 있고, 가상 식료품점의 제빵 코너에서 케이크 가용성을 보기 위해 제2 그래픽 선택 가능 엘리먼트(471B2)를 선택할 수 있거나, 또는 가상 식료품점의 델리 코너에서 육류 가용성을 보기 위해 제3 그래픽 선택 가능 엘리먼트(471B3)를 선택하거나 제시될 수 있는 임의의 다른 그래픽 선택 가능 엘리먼트를 선택할 수 있다.
예를 들어, 자동화 어시스턴트가 가상 식료품점과 관련된 IVR 트리를 농산물 코너와 관련된 타겟 상태로 탐색하는 동안, 사용자가 490B1로 표시된 가상 식료품점의 델리 코너에서 육류 가용성을 보기 위해 제3 그래픽 선택 가능 엘리먼트(471B3)를 선택한다고 가정한다. 자동화 어시스턴트가 가상 식료품점과 관련된 IVR 트리를 육류 코너와 관련되지 않은 목료 상태로 탐색하는 동안 클라이언트 디바이스(110)와 관련된 주어진 사용자가 가상 식료품점의 델리 코너와 관련된 검색 결과와 상호작용했다는 결정에 응답하여, 자동화 어시스턴트는 하나 이상의 프롬프트를 생성하고 클라이언트 디바이스(110)의 사용자 인터페이스(180)에서 프롬프트 중 하나 이상을 통지로서 렌더링할 수 있다. 예를 들어, 자동화 어시스턴트는 통지(479)가 통화 세부정보 인터페이스(470)에 시각적으로 렌더링되도록 할 수 있다. 통지(479)에는 "진행 중인 보조 전화 통화 중에 델리 코너에 연결하시겠습니까?"라는 표시를 포함하고, "예"라는 제1 제안(479B1)과 "아니오"라는 제2 제안(479B2)도 포함된다. 또한, 도 4b에 도시된 바와 같이, 통지(479)를 렌더링하는 것에 응답하여, 클라이언트 디바이스(110)의 주어진 사용자가 실제로 원래 의도한 대로(예를 들어, "예"의 제1 제안(490B1)의 선택으로서 490B2로 표시된 바와 같이) 농산물 코너보다 델리 코너에 연결할 것임을 나타내는 추가 사용자 입력이 클라이언트 디바이스(110)에서 수신도닌 것으로 가정한다. 이 예에서, 가상 식료품점과 관련된 IVR 트리의 탐색은 클라이언트 디바이스(110)에서 웹페이지와의 사용자 상호작용에 기초하여 수정될 수 있다. 예를 들어, 클라이언트 디바이스(110)와 관련된 주어진 사용자가 원래 의도한 농산물 코너와 관련된 타겟 상태로 IVR을 탐색하는 대신, 자동화 어시스턴트는 대안적으로 델리 코너와 관련된 대체 타겟 상태로 탐색할 수 있다.
다양한 구현에서, 자동화 어시스턴트는 사용자 상호작용이 보조 전화 통화 동안 참여하는 엔티티와 관련된 경우에만 클라이언트 디바이스(110)의 주어진 사용자에게 IVR 트리의 탐색을 수정하도록 프롬프트할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 주어진 사용자는 단지 가상 식료품점와 관련된 사용자 상호작용에 기초하여 IVR 트리의 탐색을 수정하도록 프롬프트될 수 있다. 일부 추가적 또는 대안적인 구현에서, 자동화 어시스턴트는 사용자 상호작용이 보조 전화 통화 동안 참여하는 엔티티와 관련되지 않은 경우에도 클라이언트 디바이스(110)의 주어진 사용자에게 IVR 트리의 탐색을 수정하도록 여전히 프롬프트할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 주어진 사용자는 가상 식료품점과는 별개인 특정 브랜드의 가공육(deli meat)에 대한 웹페이지와 관련된 사용자 상호작용에 기초하여 IVR 트리의 탐색을 수정하도록 프롬프트될 수 있다. 이 예에서, 하나 이상의 프롬프트는 특정 브랜드의 가공육에 대한 쿠폰 또는 광고를 포함할 수 있다.
일부 구현에서, IVR 시스템의 탐색을 수정하는 것은 IVR 트리를 탐색하는 상태에 기초할 수 있다. 예를 들어, IVR 트리의 탐색을 수정하라는 하나 이상의 프롬프트에 응답하여 추가 사용자 입력이 수신될 때 자동화 어시스턴트가 타겟 상태에 도달하지 않은 경우, 자동화 어시스턴트는 타겟 상태로 탐색하기 위해 IVR 트리를 탐색하는데 사용되는 파라미터(들)에 대한 대응는 값(들)을 수정할 수 있고, (예를 들어, 도 2와 관련하여 설명된 바와 같이) IVR 트리를 탐색할 때 순회되는 내부 노드들을 수정하여 대안적인 타겟 상태로 탐색할 수 있고, 및/또는 IVR 트리의 탐색을 재시작할 수 있다. 다른 예로서, IVR 트리의 탐색을 수정하라는 하나 이상의 프롬프트에 응답하여 추가 사용자 입력이 수신될 때 자동화 어시스턴트가 타겟 상태에 도달한 경우, 자동화 어시스턴트는 보조 전화 통화가 추가 사용자 입력에 기초하여 결정된 대안적인 타겟 상태로 전환되도록 요청할 수 있고 및/또는 IVR 트리의 내비게이션을 재시작할 수 있다.
예를 들어, 구체적으로 도 4c를 참조하면, 자동화 어시스턴트가 가상 식료품점 IVR의 "이제 농산물 코너에 연결합니다"라는 음성 발언(452C1)과 가상 식료품점 농산물 담당자의 "안녕하세요, 농산물 코너입니다"라는 후속 음성 발언(452C2)에 표시된 대로 IVR 트리를 타겟 상태로 탐색했다고 가정한다. 또한 자동화 어시스턴트가 도 4b의 490B1로 표시된 사용자 입력을 수신하기 전에 타겟 상태에 도착하여 IVR의 탐색을 델리 코너와 관련된 대체 타겟 상태로 수정한다고 가정한다. 일반적으로 가상 식료품점과 관련된 IVR 트리를 탐색하는 이 단계에서, 자동화 어시스턴트는 (예를 들어, 후속 음성 발언(452C2)에 기초하여) 타겟 상태에 도달했음을 확인할 수 있고 사용자가 보조 전화에 참여하도록 요청하는 통지를 생성할 수 있고 및/또는 클라이언트 디바이스(110)의 주어진 사용자를 대신하여 태스크를 수행할 수 있다. 그러나, 주어진 사용자가 도 4b에서 IVR 트리의 탐색을 수정하기 위해 사용자 입력을 제공했기 때문에, 자동화 어시스턴트는 "안녕하세요, 델리 코너로 연결(전환)해 주시겠습니까 ?"라는 합성 음성(454C1)을 발생할 수 있으며, 가상 식료품점 농산물 담당자가 통화를 델리 부서로 전환하기 위해 자동화 어시스턴트를 대기상태로 둘 때 "잠시만 기다려 주십시오"라는 음성 발언(452C3)이 합성 음성(452C3)에 응답하여 수신될 수 있으며, 자동화 어시스턴트는 "안녕하세요, 델리 코너입니다"라는 음성 발언이(452C4)이 수신될 때까지 대기 상태로 유지될 수 있다. 따라서, 가상 식료품점과 관련된 IVR 트리를 탐색하는 이 단계에서, 자동화 어시스턴트는 (예를 들어, 음성 발언(452C4)에 기초하여) 타겟 상태에 도달했는지 확인할 수 있고, (예를 들어, 454C2로 표시된 바와 같이) 사용자가 보조 전화에 참여하도록 요청하는 통지를 생성할 수 있고 및/또는 클라이언트 디바이스(110)의 주어진 사용자를 대신하여 태스크를 수행할 수 있다.
또한, 다양한 구현에서, 자동화 어시스턴트는 (예를 들어, 도 4c에 도시된 바와 같이) 클라이언트 디바이스(110)의 사용자 인터페이스(180)에서 다양한 대화의 전사가 시각적으로 렌더링되게 할 수 있다. 전사는 예를 들어 클라이언트 디바이스(110)의 홈 스크린, 다양한 소프트웨어 애플리케이션(예를 들어, 자동화 어시스턴트 애플리케이션, 전화 통화 애플리케이션, 및/또는 기타 애플리케이션)에서 디스플레이될 수 있다. 일부 구현에서, 전사에는 자동화 어시스턴트, IVR 시스템, 및/또는 엔티티와 관련된 인간 담당자 사이의 대화가 포함될 수 있다. 또한, 다양한 구현에서, 자동화 어시스턴트는 또한 다양한 그래픽 엘리먼트가 통화 세부정보 인터페이스(470)에 제시되게 할 수 있다. 예를 들어, 보조 전화 통화를 종료하는 것과 관련된 제1 선택 가능한 그래픽 엘리먼트(442C)가 제공될 수 있고, 보조 전화 통화에 참여하는 주어진 사용자를 종료하는 것과 관련된 제2 선택 가능한 그래픽 엘리먼트(444C)가 제공될 수 있으며, 클라이언트 디바이스(110)의 스피커(들)를 통해 청각적으로 인지될 수 있는 보조 전화 통화와 관련된 제3의 선택 가능한 그래픽 엘리먼트(444C)가 제공될 수 있고 및/또는 보조 전화 통화와 관련된 기타 선택 가능한 그래픽 엘리먼트가 제공될 수 있다. 다양한 구현에서, 이러한 선택 가능한 그래픽 엘리먼트는 452C2로 표시된 바와 같이 통지를 생성하는 것에 응답하여 통화 세부정보 인터페이스(470)에서만 렌더링될 수 있다.
도 4a 내지 도 4c는 농산물 코너와 관련된 원래의 타겟 상태로부터 델리 코너와 관련된 대체 타겟 상태로 가상 식료품과 관련된 IVR 트리의 탐색을 수정하는 것과 관련하여 본 명세서에서 설명되지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 위에서 설명된 바와 같이(예를 들어, 도 1의 사용자 상호작용 엔진(154), 도 2의 IVR 트리(200) 및 도 3의 방법(300)에 관하여), IVR 트리의 탐색을 수정하는 것은 농산물 코너와 관련된 원래의 타겟 상태로 이동한 후 탐색할 수 있는 추가 타겟 상태로 델리 코너를 추가하는 것을 포함할 수 있다. 다른 예로서, 또한 위에서 설명된 바와 같이(예를 들어, 도 1의 사용자 상호작용 엔진(154), 도 2의 IVR 트리(200), 및 도 3의 방법(300)에 관하여), IVR 트리의 탐색을 수정하는 것은 농산물 코너와 관련된 원래의 타겟 상태로 IVR 트리를 탐색하기 위한 파라미터(들)의 대응 값을 수정하는 것을 포함할 수 있다. 예를 들어, 농산물 코너와 관련된 타겟 상태로 이동할 때, 주어진 사용자가 자동화 어시스턴트가 아보카도에 대해 문의해야 한다고 표시했지만 가상 식료품점과 관련된 웹 페이지의 농산물 섹션에서 토마토를 보기 시작하는 경우, 사용자에게 자동화 어시스턴트가 추가로 또는 대안적으로 토마토에 대해 문의해야 하는지 여부에 대해 프롬프트될 수 있다.
더욱이, 도 4c는 가상 식료품점과 관련된 IVR 트리를 탐색하는 자동화 어시스턴트의 전사를 포함하는 것으로 도시되어 있지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 클라이언트 디바이스(110)가 수면 상태, 잠금 상태에 있는 동안, 다른 소프트웨어 애플리케이션(들)이 포그라운드 및/또는 다른 상태에서 동작하고 있을 때 위에서 설명된 보조 전화 통화가 수행될 수 있음을 이해해야 한다. 또한, 자동화 어시스턴트가 통지(들)가 클라이언트 디바이스(110)에서 렌더링되게 하는 구현들에서, 클라이언트 디바이스에 렌더링되는 통지(들)의 유형은 본 명세서에 설명된 클라이언트 디바이스(110)의 상태에 기초한다. 더욱이, 도 4a-4c는 가상 식료품점과 관련된 IVR 트리를 탐색하는 것과 관련하여 본 명세서에 기술되어 있지만, 이는 또한 제한하려는 의도가 아니며, 본 명세서에 설명된 기술은 이전에 저장된 임의의 IVR 트리를 탐색하는데 복수의 상이한 엔티티에 대해 이용될 수 있음을 이해해야 한다.
이제 도 5를 참조하면, 주어진 사용자와 관련된 클라이언트 디바이스에서 검색 인터페이스로부터 IVR 트리를 탐색하는 예시적인 방법(500)을 나타내는 흐름도가 도시되어 있다. 편의상, 방법(500)의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명된다. 방법(500)의 이 시스템은 하나 이상의 프로세서 및/또는 컴퓨팅 디바이스(들)(예를 들어, 도 1, 4a-4d, 6a-6e, 및/또는 8a-8d의 클라이언트 디바이스(110), 및/또는 도 9의 컴퓨팅 디바이스(910), 하나 이상의 서버, 및/또는 기타 컴퓨팅 디바이스)의 다른 컴포넌트(들)를 포함한다. 더욱이, 방법(500)의 동작들은 특정 순서로 도시되어 있지만, 이것은 제한하는 것을 의미하지 않는다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(552)에서, 시스템은 주어진 사용자로부터 주어진 사용자와 관련된 클라이언트 디바이스의 검색 인터페이스를 통해 사용자 입력을 수신한다. 보조 전화 통화를 개시하기 위한 사용자 입력은 보조 전화 통화를 개시하기 위한 음성 입력, 보조 전화 통화를 개시하기 위한 터치 입력, 또는 보조 전화 통화를 개시하기 위한 타이핑된 입력 중 하나 이상일 수 있다. 또한, 보조 전화 통화를 개시하기 위한 사용자 입력은 다양한 인터페이스(예를 들어, 검색 인터페이스, 음성 인터페이스, 자동화 어시스턴트 인터페이스, 및/또는 보조 전화 통화가 개시될 수 있는 기타 인터페이스)에서 수신될 수 있다. 또한, 검색 인터페이스는 예를 들어 전화 또는 연락처 애플리케이션, 브라우저 애플리케이션, 자동화 어시스턴트 애플리케이션, 웹 기반 브라우저, 및/또는 검색 기능을 가능하게 하는 임의의 기타 인터페이스의 일부로서 구현될 수 있다.
블록(554)에서, 시스템은 클라이언트 디바이스의 검색 인터페이스에서, 사용자 입력에 기초하여 검색 궈리를 발행한다. 검색 쿼리는 클라이언트 디바이스에 의해 액세스될 수 있는 하나 이상의 데이터베이스(예를 들어, 액세스 제한 데이터베이스 및/또는 공용 데이터베이스), 검색 엔진, 및/또는 기타 검색 기반 시스템에 발행될 수 있다.
블록(556)에서, 시스템은 발행된 검색 쿼리에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔터티와 관련된 주어진 검색 결과를 식별하는데, 주어진 검색 결과는 복수의 후보 상태로부터의, 식별된 엔티티와 관련된 IVR 트리에 대한 타겟 상태와 관련된다. 블록(558)에서, 시스템은 적어도 주어진 검색 결과가 클라이언트 디바이스에서 렌더링되게 한다. 블록(560)에서, 시스템은 주어진 사용자로부터 클라이언트 디바이스의 검색 인터페이스를 통해, 주어진 검색 결과의 선택을 수신한다. 주어진 검색 결과에는 블록(554)에서 발행된 검색 쿼리에 응답하는 컨텐츠가 포함될 수 있다. 일부 구현에서, 다른 후보 상태에 대응하는 추가의 주어진 검색 결과가 또한 주어진 검색 결과와 함께 렌더링될 수 있다. 이러한 구현의 일부 버전에서, 주어진 검색 결과는 클라이언트 디바이스에서의 최근 사용자 상호작용에 기초하여 다른 후보 상태와 관련된 추가의 주어진 검색 결과보다 더 두드러지게 제시될 수 있다. 예를 들어, 사용자가 다양한 브랜드의 페인트 또는 페인팅 장비와 관련된 다른 검색 결과와 상호 작용하고 있고 발행된 검색 쿼리가 주택 개량 업체에 대한 것인 경우, 주어진 검색 결과는 주택 개량 업체, 또는 보다 구체적으로 주택 개량 업체의 도색 부서와 관련될 수 있다. 따라서, 주어진 검색 결과 선택 시, 시스템은 주택 개량 업체와 관련된 IVR 트리를 탐색하기 위한 타겟 상태로서 도색 부서를 결정할 수 있다. 주어진 검색 결과의 선택은 터치 입력, 음성 입력 및/또는 타이핑된 입력을 기반으로 할 수 있다.
블록(562)에서, 시스템은 선택에 응답하여 타겟 상태로 IVR 트리를 탐색하기 위해 보조 전화 통화의 수행을 개시한다. 시스템은 블록(556)에서 식별된 엔티티와 관련된 추가 클라이언트 디바이스 및 주어진 사용자와 관련된 클라이언트 디바이스 사이에 통신 세션을 설정함으로써 보조 전화의 수행을 개시할 수 있다. 통신 세션은 예를 들어 VoIP, PSTN 및/또는 기타 전화 통신 프로토콜을 비롯하여 다양한 음성 통신 프로토콜을 사용하여 설정될 수 있다. 일부 구현에서, 시스템은 IVR 트리의 노드들을 순회하기 위해 버튼 누름을 에뮬레이트함으로써, IVR 트리의 노드들을 순회하기 위해 합성 음성을 포함하는 합성 음성 오디오 데이터를 렌더링함으로써, 및/또는 (예를 들어, 도 2와 관련하여 설명된 바와 같이) 클라이언트 디바이스와 관련된 주어진 사용자의 음성 입력을 포함하는 오디오 데이터를 렌더링함으로써 IVR 트리를 타겟 상태로 탐색할 수 있다. 이러한 구현의 일부 버전에서, 시스템은 또한 IVR 트리를 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들)을 이용할 수 있다. 파라미터(들)에 대한 대응 값(들)은 하나 이상의 데이터베이스(예를 들어, 도 1의 사용자 프로파일(들) 데이터베이스(153A))로부터 검색될 수 있고 및/또는 클라이언트 디바이스와 관련된 주어진 사용자로부터 요청될 수 있다.
블록(564)에서, 시스템은 클라이언트 디바이스를 통해, IVR 트리 탐색의 수행 결과를 나타내는 통지를 렌더링한다. 예를 들어, 통지에는 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하라는 요청이 포함될 수 있다. 시스템이 또한 태스크를 수행하는 본 명세서에 설명된 구현에서, 클라이언트 디바이스와 관련된 주어진 사용자를 대신하여, 엔티티와 관련하여, 통지는 추가적으로 또는 대안적으로 태스크의 수행 결과를 포함할 수 있다. 다양한 구현에서, 도 5와 관련하여 설명된 IVR 트리의 탐색은 도 3 및 4a 내지 4c와 관련하여 위에서 설명된 바와 같이 클라이언트 디바이스에서의 사용자 상호작용에 기초하여 수정될 수 있다.
이제 도 6a 내지 도 6e를 참조하면, 주어진 사용자와 관련된 클라이언트 디바이스(110)의 검색 인터페이스로부터 IVR 트리를 탐색하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적인 예가 도시되어 있다. 도 6a 내지 도 6e는 그래픽 사용자 인터페이스(180)를 갖는 클라이언트 디바이스(110)를 각각 도시하며, 도 1의 클라이언트 디바이스의 컴포넌트들 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110)는 도 4a 내지 도 4c의 클라이언트 디바이스와 실질적으로 유사할 수 있고, 자동화 어시스턴트(예를 들어, 도 1의 자동화 어시스턴트(115))의 인스턴스를 포함하여, 도 4a 내지 도 4c와 관련하여 위에서 설명된 다수의 동일한 컴포넌트를 포함한다.
본 명세서에 설명된 다양한 구현에서, 사용자 입력이 수신될 수 있고, 사용자 입력에 기초하여 검색 쿼리가 발행될 수 있다. 사용자 입력은 음성 입력, 터치 입력, 및/또는 검색 쿼리를 포함하는 타이핑 입력일 수 있다. 예를 들어, 도 6a에 도시된 바와 같이, 사용자가 클라이언트 디바이스(110)에서 액세스할 수 있는 브라우저 애플리케이션(예를 들어, "www. exampleurl0.com/"의 URL(611)로 표시됨)에서 (텍스트 응답 인터페이스 엘리먼트(184)에 포함된 바와 같이) "분실 수하물 가상 항공사(Lost Baggage Hypothetical Airlines)라는 검색 쿼리(684A)를 제공한다고 가정한다. 또한, 검색 결과에는 북미 지역을 운항하는 항공편을 제공하는 "가상 항공사(Hypothetical Airlines)"의 제1 검색 결과(620)가 포함된다. 일부 구현에서, 검색 결과(620)는 선택될 때 클라이언트 디바이스(110)ㄹh로 하여금 대응하는 동작들을 수행하게 하는 다양한 선택 가능한 그래픽 엘리먼트와 관련될 수 있다. 예를 들어, 검색 결과(620)와 관련된 통화 그래픽 엘리먼트(621)가 선택되면, 사용자 입력은 가상 항공사에 대한 전화 통화 동작이 수행되어야 함을 나타낼 수 있다. 다른 예로서, 검색 결과(620)와 관련된 사용자 계정 그래픽 엘리먼트(622)가 선택될 때, 사용자 입력은 가상 항공사와 관련된 사용자 계정에 대한 계정 조회 동작이 수행되어야 함을 나타낼 수 있다. 또 다른 예로서, 검색 결과(620)와 관련된 항공편 그래픽 엘리먼트(623)가 선택될 때, 사용자 입력은 가상 항공사와 관련된 항공편에 대한 항공편 조회 동작이 수행되어야 함을 나타낼 수 있다.
다양한 구현에서, 검색 결과(620)는 또한 엔티티와 관련된 IVR 트리의 후보 상태들에 대한 하나 이상의 IVR 딥링크를 포함할 수 있다. 예를 들어, 도 6a에 도시된 바와 같이, 가상 항공사와 관련된 IVR 트리 탐색할 때 분실 수하물을 신고하기 위한 후보 상태에 해당하는 "분실 수하물 신고"라는 제1 IVR 딥링크(620A1)가 제공될 수 있고, 가상 항공사와 관련된 IVR 트리를 탐색할 때 가상 항공사 담당자와 대화하기 위한 후보 상태에 해당하는 "담당자와 대화"라는 제2 IVR 딥링크(620A2)가 제공될 수 있다. "더 보기(more see)"라는 추가 그래픽 엘리먼트(620A3)가 선택적으로 제공될 수 있으며, 선택될 때 하나 이상의 추가 IVR 딥링크 관련 후보 상태가 제1 딥링크(620A1) 및 제2 딥링크(620A2)와 함께 렌더링되도록 할 수 있다. 이러한 구현의 일부 버전에서, 렌더링되는 IVR 딥링크(620A1 및/또는 620A2) 중 하나 이상은 클라이언트 디바이스(110)에서의 최근 사용자 상호작용에 기초할 수 있다. 예를 들어 "분실 수하물 신고"라는 제1 IVR 딥링크 620A1는 "분실 수하물"을 포함하는 검색 쿼리(684A)에 기초하거나 클라이언트 디바이스(110)의 주어진 사용자가 이전에 분실 수하물 신고와 관련된 다른 검색 결과와 상호작용한 것에 기초하여 클라이언트 디바이스(110)에서 렌더링될 수 있다. 다른 예로서, "담당자와 대화"라는 제2 IVR 딥링크(620A2)는 후보 상태 중에서 가장 인기 있는 타겟 상태인 것에 기초하여 클라이언트 디바이스(110)에서 렌더링될 수 있다. 이 예에서 제1 IVR 딥링크(620A1)는 그것이 클라이언트 디바이스(110)의 주어진 사용자와 더 관련이 있다는 결정(예를 들어, 검색 쿼리(684A)에 기초하여 및/또는 클라이언트 디바이스(110)의 주어진 사용자가 이전에 다른 검색 결과와 상호작용한 것에 기초하여 결정됨)에 기초하여 제2 IVR 딥링크(620A2)보다 더 두드러지게 렌더링될 수 있다.
가상 항공사와 관련된 IVR 트리를 분실 수하물 신고와 관련된 타겟 상태로 탐색하기 위한 보조 전화는 제1 IVR 딥링크(620A1)로 향하는 사용자 입력에 기초하여 개시될 수 있고, IVR 트리를 타겟 상태로 탐색하기 위한 보조 전화 통화의 수행이 개시될 수 있다. 일부 구현에서, 자동화 어시스턴트는 클라이언트 디바이스(110)의 리소스를 이용하여 보조 전화 통화의 수행을 개시할 수 있다. 일부 추가적 또는 대안적인 구현에서, 자동화 어시스턴트는 원격 시스템의 리소스를 이용하여 보조 전화 통화(예를 들어, 클라우드 기반 보조 전화 통화)의 수행을 개시할 수 있다. 예를 들어, 사용자가 제1 IVR 딥링크(620A1)를 선택하지만 클라이언트 디바이스(110)는 (예를 들어, 랩탑 또는 데스크탑 컴퓨터를 통해) VoIP, PSTN 또는 기타 전화 통신 프로토콜을 사용하여 전화 통화를 수행할 수 없다고 가정한다. 이 예에서, 자동화 어시스턴트(115)는 (클라이언트 디바이스(110)와 통신하거나 통신하지 않을 수 있는) 원격 시스템이 사용자를 대신하여 보조 전화 통화를 개시하고 수행하도록 할 수 있다.
다양한 구현에서, 통화 세부정보 인터페이스(670)는 "가상 항공사"와의 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에 클라이언트 디바이스(110)에서 렌더링될 수 있거나, 가상 항공사와 전화 통화를 시작하기 위한 사용자 입력을 수신하는 것에 응답하여 클라이언트 디바이스(110)에서 렌더링될 수 있다. 이러한 구현의 일부 버전에서, 통화 세부정보 인터페이스(670)는 사용자 인터페이스(180)의 일부로서 클라이언트 디바이스(110)에서 렌더링될 수 있다. 이러한 구현의 일부 다른 버전에서, 통화 세부정보 인터페이스(670)는 사용자 인터페이스(180)를 오버레이하는 사용자 인터페이스(180)와는 별도의 인터페이스일 수 있고, 추가 통화 세부정보를 디스플레이하기 위해 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 위로 스와이프함으로써) 사용자가 통화 세부정보 인터페이스(670)를 확장할 수 있도록 하고 및/또는 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 아래로 스와이프함으로써) 통화 세부정보 인터페이스(670)를 닫도록 하는 통화 세부정보 인터페이스 엘리먼트(186)를 포함할 수 있다. 통화 세부정보 인터페이스(670)가 사용자 인터페이스(180)의 하단에 있는 것으로 도시되어 있지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 통화 세부정보 인터페이스(670)는 사용자 인터페이스(180)의 상단, 사용자 인터페이스(180)의 측면, 또는 사용자 인터페이스(180)와 완전히 별개의 인터페이스에 렌더링될 수 있다.
통화 세부정보 인터페이스(670)는 다양한 구현에서 복수의 그래픽 엘리먼트를 포함할 수 있다. 이러한 구현의 일부 버전에서, 그래픽 엘리먼트는 그래픽 엘리먼트 중 주어진 하나가 선택될 때 클라이언트 디바이스(110)가 대응하는 동작을 수행할 수 있도록 선택 가능할 수 있다. 도 6a에 도시된 바와 같이, 통화 세부정보 인터페이스(670)에는 "보조 통화, 가상 항공사"의 제1 그래픽 엘리먼트(671), "일반 통화"의 제2 그래픽 엘리먼트(672A) 및 "연락처 '가상 항공사' 저장"의 제3 그래픽 엘리먼트(673A)를 포함한다. 보조 전화 통화는 제1 선택 가능한 그래픽 엘리먼트(671)로 향하는 사용자 입력에 기초하여 통화 세부정보 인터페이스(670)로부터 추가적으로 또는 대안적으로 개시될 수 있고, 보조 전화 통화의 수행은 제1 선택 가능한 그래픽 엘리먼트(671)의 선택에 기초할 수 있다.
다양한 구현에서, 후보 상태와 관련된 하나 이상의 IVR 딥링크는 렌더링되지 않을 수 있다. 이러한 구현의 일부 버전에서, 자동 어시스턴트는 엔티티와 관련된 IVR 트리를 탐색하기 위한 다양한 노드(예를 들어, 도 2와 관련하여 설명된 바와 같은 내부 노드 및/또는 리프 노드)를 시각적으로 렌더링할 수 있다. 다양한 노드의 시각적 렌더링은 엔티티와 관련되어 저장된 IVR 트리에 대한 신뢰도 레벨에 기초할 수 있다. 엔티티와 관련되어 저장된 IVR 트리에 대한 신뢰도 레벨은 엔티티와 관련하여 저장된 IVR 트리와 상이한 IVR 트리를 탐색하는 것을 포함하는 엔티티와의 보조 전화 통화의 양에 기초할 수 있고, 탐색된 IVR 트리와 저장된 IVR 트리 간의 차이 정도에 선택적으로 기초할 수 있다. 특히, 도 6b 내지 도 6e는 가상 항공사와 관련된 IVR 트리에 대한 신뢰도 레벨 차이에 기초하여 이러한 다양한 노드가 사용자에게 제시될 수 있는 다양한 비-제한적 예를 도시한다.
도 6b 내지 도 6e에 대한 예시를 위해, 보조 전화 통화 동안 참여할 엔티티가 도 6a와 관련하여 위에서 설명한 가상 항공사이고 사용자가 가상 항공사와 관련된 제1 검색 결과(610)를 보고 있지만 검색 쿼리(684A)를 포함하는 사용자 입력이 수신되지 않았다고 가정한다. 구체적으로 도 6b를 참조하면, 자동화 어시스턴트가 가상 항공사와 관련하여 저장된 IVR 트리를 매우 신뢰하고 있다고 추가로 가정한다. 자동화 어시스턴트는 동일한 IVR 트리를 포함하는 보조 전화 통화의 대부분(전부는 아니지만)에 대해 동일하게 유지되는 IVR 트리의 노드들에 기초하여 결정된 신뢰도 레벨에 기초하여 가상 항공사와 관련하여 저장된 IVR 트리를 매우 신뢰할 수 있다. 이 예에서, 하나 이상의 IVR 딥링크를 제공하는 대신, 자동화 어시스턴트는 보조 전화 통화의 수행을 개시하기 위한 사용자 입력을 수신하기 전에 가상 항공사와 관련된 IVR 트리를 탐색하는 방법에 대한 표시를 포함하는 정보를 유발할 수 있다. 예를 들어, 통화 세부정보 인터페이스(670)는 클라이언트 디바이스(110)의 주어진 사용자가 분실 수하물 신고와 관련된 IVR 트리의 타겟 상태에 도달하기 위해 제공할 수 있는 버튼 누름 시퀀스를 나타내는 "분실 수하물을 신고하려면 '1', '3', '5'를 누르십시오"라는 671A의 제1 정보와, 클라이언트 디바이스(110)의 주어진 사용자가 담당자와의 대화와 관련된 IVR 트리의 타겟 상태에 도달하기 위해 제공할 수 있는 버튼 누름 시퀀스를 나타내는 "담당자와 대화하려면 '5'를 누르십시오"라는 671B의 제2 정보를 포함할 수 있다. "더 보기"의 그래픽 엘리먼트(671C)가 선택적으로 제공될 수 있고, 선택될 때 다른 후보 상태와 관련된 추가 정보가 제1 정보(671A) 및 제2 정보(671B)와 함께 렌더링되게 할 수 있다. 도 6a와 유사하게, 통화 세부정보 인터페이스(670)에서 렌더링된 후보 상태와 관련된 정보는 클라이언트 디바이스(110)와의 최근 사용자 상호작용 및/또는 후보 상태의 전체 인기도에 기초하여 선택적으로 렌더링될 수 있다.
구체적으로 도 6c를 참조하면, 도 6b와 유사하게, 자동화 어시스턴트가 가상 항공사와 관련하여 저장된 IVR 트리를 신뢰한다고 추가로 가정한다. 이 예에서, 하나 이상의 IVR 딥링크 또는 보조 전화 통화를 시작하기 전에 버튼 누름 시퀀스를 통해 원하는 타겟 상태로 직접 탐색하는 것과 관련된 정보를 제공하는 대신, 자동화 어시스턴트는 후보 상태들을 포함하는 음성 발언(654C1)을 가상 항공사 IVR로부터 수신하기 전에 652C1로 표시된 바와 같이 통화 세부정보 인터페이스(670)의 통지(679C)에서 후보 상태들이 렌더링되게 할 수 있다. 특히, 후보 상태는 679C1, 679C2, 679C3, 679C4 및 679C5로 표시된 상태를 포함할 수 있다. 통지(679C)에 포함된 각각의 후보 상태는 클라이언트 디바이스(110)와 관련된 주어진 사용자가 타겟 상태로서 주어진 후보 상태들 중 하나를 간단히 선택할 수 있고, 자동화 어시스턴트가 타겟 상태로 보조 전화 통화를 자동으로 탐색할 수 있도록 선택 가능할 수 있다.
구체적으로 도 6d를 참조하면, 도 6c와 대조적으로, 자동화 어시스턴트가 가상 항공사와 관련되어 저장된 IVR 트리를 적당히(moderately) 신뢰한다고 추가로 가정한다. 자동화 어시스턴트는 동일한 IVR 트리를 포함하는 일부 보조 전화 통화에 대한 약간의 차이를 포함하여 IVR 트리의 노드들에 기초하여 결정된 신뢰도 레벨에 기초하여 가상 항공사와 관련하여 저장된 IVR 트리에 대해 적당한 신뢰도를 가질 수 있다. 이 예에서, 후보 상태들을 포함하는 음성 발언을 가상 항공사 IVR로부터 수신하기 전에 통화 세부정보 인터페이스(670)에 통지(679D)를 제공하는 대신, 자동화 어시스턴트는 후보 상태들을 포함하는 통지(679C)를 렌더링하기 위해 그 후보 상태의 서브세트를 포함하는 음성 응답(652D1)의 제1 부분이 가상 항공사 IVR에 의해 제공될 때까지 기다릴 수 있다. 예를 들어, 가상 항공사와 관련된 저장된 IVR 트리 간의 차이 정도(extent)는 음성 발언(652D1)의 제1 부분에 포함된 후보 상태의 서브세트에 대해서만 적당히 신뢰할 수 있지만 나머지 후보 상태에 대해서는 매우 신뢰할 수 있다. 따라서, 후보 상태의 서브세트가 음성 발언(652D1)의 제1 부분에 포함된 후, 자동화 어시스턴트는 음성 발언(652D2)의 제2 부분을 수신하기 전에 654D1로 표시된 바와 같이 통지(679D)를 생성할 수 있다. 도 6c와 유사하게, 통지(679D)에 포함된 각각의 후보 상태는 클라이언트 디바이스(110)와 관련된 주어진 사용자가 타겟 상태로서 후보 상태 중 주어진 하나를 간단히 선택하고 자동화 어시스턴트가 보조 전화 통화를 타겟 상태로 자동으로 탐색할 수 있도록 선택 가능할 수 있다.
구체적으로 도 6e를 참조하면, 도 6c 및 6d와 대조적으로, 자동화 어시스턴트는 가상 항공사와 관련하여 저장된 IVR 트리에 대해 신뢰하지 않는다고 추가로 가정한다. 자동 어시스턴트는 상이한 IVR 트리를 포함하는 임계 횟수의 보조 전화 통화에 대한 차이를 포함하는 IVR 트리의 노드에 근거하여 결정된 신뢰도 레벨에 기초하여 가상 항공사와 관련되어 저장된 IVR 트리를 신뢰하지 못할 수 있다. 이 예에서, 음성 발언을 수신하기 전에 통화 세부정보 인터페이스(670)에서 통지(679E)를 제공하는 대신, 자동화 어시스턴트는 654E1로 표시된 후보 상태를 포함하는 통지(679D)를 렌더링하기 위해 후보 상태를 포함하는 음성 응답(652E1)이 가상 항공사 IVR에 의해 제공될 때까지 기다릴 수 있다. 도 6c와 유사하게, 통지(679E)에 포함된 각각의 후보 상태는 클라이언트 디바이스(110)와 관련된 주어진 사용자가 타겟 상태로서 후보 상태들 중 주어진 하나를 간단히 선택하고 자동화 어시스턴트가 보조 전화 통화를 타겟 상태로 자동으로 탐색할 수 있도록 선택 가능할 수 있다.
도 6a 내지 도 6e는 가상 항공사 엔티티와 관련하여 본 명세서에서 설명되고 특정 그래픽 엘리먼트 및 정보가 검색 결과(620) 및 통화 세부정보 인터페이스와 함께 도시되지만, 이는 예시를 위한 것으로 제한하려는 의도가 아님을 이해해야 한다. IVR 시스템을 사용하는 임의의 엔티티와 관련된 IVR 트리는 저장될 수 있고 후속적으로 보조 전화 통화를 수행하는데 사용될 수 있음을 이해해야 한다. 또한, 자동화 어시스턴트에 의해 제공되는 그래픽 엘리먼트 및 정보는 IVR 트리를 기반으로 할 수 있으며 엔티티와 관련된 IVR 트리의 구성은 사실상 제한이 없음을 이해해야 한다.
이제 도 7을 참조하면, 동적 대화형 음성 응답(IVR) 트리를 탐색하는 예시적인 방법(700)을 나타내는 흐름도가 도시되어 있다. 편의상, 방법(700)의 동작들은 그 동작을 수행하는 시스템을 참조하여 설명된다. 방법(700)의 이 시스템은 하나 이상의 프로세서 및/또는 컴퓨팅 디바이스(들)(예를 들어, 도 1, 4a-4d, 6a-6e, 및/또는 8a-8d의 클라이언트 디바이스(110)및/또는 도 9의 컴퓨팅 디바이스(910), 하나 이상의 서버, 및/또는 기타 컴퓨팅 디바이스))의 다른 컴포넌트(들)를 포함한다. 더욱이, 방법(700)의 동작들은 특정 순서로 도시되어 있지만, 이것은 제한하는 것을 의미하지 않는다. 하나 이상의 동작들은 재정렬, 생략 및/또는 추가될 수 있다.
블록(752)에서, 시스템은 주어진 사용자로부터 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신한다. 보조 전화 통화를 개시하기 위한 사용자 입력은 보조 전화 통화를 개시하기 위한 음성 입력, 보조 전화 통화를 개시하기 위한 터치 입력, 또는 보조 전화 통화를 개시하기 위한 타이핑된 입력 중 하나 이상일 수 있다. 또한, 보조 전화 통화를 개시하기 위한 사용자 입력은 다양한 인터페이스(예를 들어, 검색 인터페이스, 음성 인터페이스, 자동화 어시스턴트 인터페이스, 및/또는 보조 전화 통화가 개시될 수 있는 기타 인터페이스)에서 수신될 수 있다.
블록(754)에서, 시스템은 사용자 입력에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티를 식별한다. 시스템은 블록(752)에서 수신된 사용자 입력 및/또는 보조 전화 통화를 개시하기 직전에 클라이언트 디바이스와의 사용자 상호작용에 기초하여 보조 전화 통화 동안 참여할 엔티티를 식별할 수 있다. 예를 들어, 시스템은 클라이언트 디바이스에서 수신된 "내 분실 수하물을 예시 항공사에 신고해줘"라는 음성 입력을 처리하는 것에 기초하여 "예시 항공사"의 엔터티를 식별할 수 있다. 또 다른 예로, 시스템은 클라이언트 디바이스의 주어진 사용자가 예시 항공사와 관련된 통화 인터페이스 엘리먼트 또는 예시 항공사와 관련된 IVR 트리의 후보 상태와 관련된 특정 그래픽 엘리먼트를 선택했다는 결정에 기초하여 "예시 항공사"의 엔티티를 식별할 수 있다.
블록(756)에서, 시스템은 블록(754)에서 식별된 엔티티와 관련된 IVR 트리를 식별하고, IVR 트리에는 복수의 후보 상태가 포함된다. 식별된 엔티티와 관련된 IVR 트리는 블록(754)에서 식별된 엔티티와 관련되어 (예를 들어, 도 1의 엔티티(들) 데이터베이스(151A) 및/또는 도 1의 IVR 트리(들) 데이터베이스(152A)에) 저장될 수 있다. 엔티티와 관련된 저장된 IVR 트리는 식별된 엔티티와 관련된 IVR 시스템을 이전에 크롤링한 시스템(및/또는 시스템의 추가 인스턴스)에 기초하여 하나 이상의 데이터베이스에 이전에 저장될 수 있으며 및/또는 식별된 엔티티는 그 식별된 엔티티와 관련된 IVR 시스템에 대한 IVR 트리를 제공할 수 있다. 또한, 시스템은 IVR 트리를 탐색하는 복수의 보조 전화 통화에 기초하여 상기 식별된 엔티티와 관련된 IVR 시스템에 대한 IVR 트리를 지속적으로 업데이트할 수 있다. 복수의 후보 상태는 보조 전화 통화 중에 시스템이 탐색할 수 있는 IVR 트리의 특정 노드에 해당할 수 있다.
블록(758)에서, 시스템은 컨텍스트 정보를 수신한다. 일부 구현에서, 블록(756)은 선택적 서브-블록(758A) 및/또는 선택적 서브-블록(758B)을 포함할 수 있다. 포함되는 경우, 선택적 서브-블록(758A)에서, 시스템은 클라이언트 디바이스와 관련된 컨텍스트 정보를 수신한다. 클라이언트 디바이스와 관련된 컨텍스트 정보는 (예를 들어, 디바이스 상태 엔진(112)를 통해 결정된) 디바이스 상태 정보, 클라이언트 디바이스의 현재 위치와 관련된 날짜 및/또는 시간 정보, 클라이언트 디바이스의 현재 위치, 및/또는 클라이언트 디바이스에 의해 생성된 기타 컨텍스트 정보를 포함할 수 있다. 포함된 경우, 선택적 서브-블록(758B)에서, 시스템은 클라이언트 디바이스의 주어진 사용자와 관련된 컨텍스트 정보를 수신한다. 클라이언트 디바이스의 주어진 사용자와 관련된 컨텍스트 정보에는 예를 들어 클라이언트 디바이스의 사용자에 의해 생성되거나 클라이언트 디바이스의 사용자가 수신한 전자 통신(예를 들어, 이메일, 문자 메시지, 음성 메시지 등), 클라이언트 디바이스의 주어진 사용자의 다양한 사용자 계정과 관련된 사용자 계정 정보(예를 들어, 계정 상태 정보, 계정 번호, 계정 사용자 이름, 계정 암호 등), 클라이언트의 주어진 사용자의 금전 정보(예를 들어, 은행 계좌 번호, 신용 카드 번호, 결제 애플리케이션 정보 등), 클라이언트 디바이스의 지정된 사용자의 사진 앨범, 클라이언트 디바이스의 지정된 사용자의 소셜 미디어 프로필, 클라이언트 디바이스의 사용자 기본 설정(preferences), 클라이언트 디바이스의 주어진 사용자의 개인 정보(예를 들어, 이름, 전화번호, 실제 주소, 이메일 주소, 주민등록번호, 생년월일 등), 및/또는 클라이언트 디바이스의 주어진 사용자와 관련된 기타 정보가 포함될 수 있다.
블록(760)에서, 시스템은 클라이언트 디바이스 및/또는 클라이언트 디바이스의 주어진 사용자와 관련된 컨텍스트 정보에 기초하여, IVR 트리의 타겟 상태로서 복수의 후보 상태의 가용성(availability)을 결정한다. 다양한 구현에서, IVR 트리의 일부 후보 상태는 컨텍스트 정보에 기초하여 클라이언트 디바이스의 주어진 사용자에게 사용 가능하거나 사용 가능하지 않을 수 있다. 예를 들어, 블록(754)에서 식별된 엔티티가 레스토랑 엔티티라고 가정한다. 이 예에서, 일부 후보 상태는 레스토랑의 영업 시간 동안에만 사용 가능할 수 있다(예를 들어, 테이크 아웃 주문과 관련된 후보 상태). 다른 예로, 블록(754)에서 식별된 엔티티가 항공사 엔티티라고 가정한다. 이 예에서, 일부 후보 상태는 사용자 계정 상태가 임계 멤버십 상태이상인 경우에만 사용 가능할 수 있다(예를 들어, 골드 등급 회원 이상에만 해당). 다시 말해, 식별된 엔티티와 관련된 IVR 트리는 후보 상태가 특정 컨텍스트에서 사용 가능하거나 사용 가능하지 않을 수 있다는 점에서 동적일 수 있다.
블록(762)에서, 시스템은 IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 개시한다. 시스템은 타겟 상태를 선택하는 추가 사용자 입력에 응답하여 보조 전화 통화의 수행을 개시할 수 있다. 또한, 시스템은 주어진 사용자와 관련된 클라이언트 디바이스와 블록(754)에서 식별된 엔티티와 관련된 추가 클라이언트 디바이스 사이에 통신 세션을 설정함으로써 보조 전화의 수행을 개시할 수 있다. 통신 세션은 예를 들어 VoIP, PSTN 및/또는 기타 전화 통신 프로토콜을 포함하여 다양한 음성 통신 프로토콜을 사용하여 설정될 수 있다. 일부 구현에서, 시스템은 IVR 트리의 노드를 순회하기 위해 버튼 누름을 에뮬레이트함으로써, IVR 트리의 노드를 횡단하기 위해 합성 음성을 포함하는 합성 음성 오디오 데이터를 렌더링함으로써, 및/또는 (예를 들어, 도 2와 관련하여 설명된 바와 같이) 클라이언트 디바이스와 관련된 주어진 사용자의 음성 입력을 포함하는 오디오 데이터를 렌더링함으로써 IVR 트리를 타겟 상태로 탐색할 수 있다. 이러한 구현의 일부 버전에서, 시스템은 또한 IVR 트리를 탐색하는 것과 관련된 파라미터(들)에 대한 대응 값(들)을 이용할 수 있다. 파라미터(들)에 대한 대응하는 값(들)은 하나 이상의 데이터베이스(예를 들어, 도 1의 사용자 프로파일(들) 데이터베이스(153A))로부터 검색될 수 있고 및/또는 클라이언트 디바이스와 관련된 주어진 사용자로부터 요청될 수 있다.
블록(764)에서, 시스템은 클라이언트 디바이스를 통해, IVR 트리 탐색의 수행 결과를 나타내는 통지를 렌더링한다. 예를 들어, 통지에는 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하라는 요청이 포함될 수 있다. 클라이언트 디바이스와 관련된 주어진 사용자를 대신하여, 엔티티에 대해 시스템이 또한 태스크를 수행하는 본 명세서에 설명된 구현에서, 통지는 태스크의 수행 결과를 추가적으로 또는 대안적으로 포함할 수 있다. 다양한 구현에서, 도 5와 관련하여 설명된 IVR 트리의 탐색은 도 3 및 4a 내지 4c와 관련하여 위에서 설명된 바와 같이 클라이언트 디바이스에서의 사용자 상호작용에 기초하여 수정될 수 있다.
이제 도 8a 내지 도 8d를 참조하면, 동적 IVR 트리를 탐색하는 것과 관련된 사용자 인터페이스의 다양한 비-제한적 예가 도시되어 있다. 도 8a 내지 도 8d는 그래픽 사용자 인터페이스(180)를 갖는 클라이언트 디바이스(110)를 각각 도시하고, 도 1의 클라이언트 디바이스의 컴포넌트들 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110)는 도 4a 내지 도 4c의 클라이언트 디바이스와 실질적으로 유사할 수 있고, 자동화 어시스턴트(예를 들어, 도 1의 자동화 어시스턴트(115))의 인스턴스를 포함하여 도 4a 내지 도 4c와 관련하여 위에서 설명된 많은 동일한 컴포넌트를 포함할 수 있다.
본 명세서에 설명된 다양한 구현에서, 엔티티와 관련된 IVR 트리는 IVR 트리와 관련된 하나 이상의 후보 상태가 사용 가능하거나 사용 가능하지 않을 수 있다는 점에서 동적 IVR 트리일 수 있다. 하나 이상의 후보 상태의 가용성은 컨텍스트 정보에 기초하여 결정될 수 있다. 일부 구현에서, 컨텍스트 정보는 클라이언트 디바이스(110)와 관련된 컨텍스트 정보일 수 있고, 예를 들어 클라이언트 디바이스(110)의 디바이스 상태 정보(예를 들어, 디바이스 상태 엔진(112)를 통해 결정됨), 클라이언트 디바이스(110)의 현재 위치와 관련된 날짜 및/또는 시간 정보, 클라이언트 디바이스의 현재 위치, 및/또는 클라이언트 디바이스(110)에 의해 생성된 기타 컨텍스트 정보를 포함할 수 있다. 일부 추가적 또는 대안적인 구현에서, 컨텍스트 정보는 클라이언트 디바이스(110)의 주어진 사용자와 관련된 컨텍스트 정보일 수 있고, 예를 들어 클라이언트 디바이스의 사용자에 의해 생성되거나 클라이언트 디바이스의 사용자에 의해 수신된 전자 통신(예를 들어, 이메일, 텍스트 메시지, 음성 메시지 등), 클라이언트 디바이스(110)의 주어진 사용자의 다양한 사용자 계정과 관련된 사용자 계정 정보(예를 들어, 계정 상태 정보, 계정 번호, 계정 사용자 이름, 계정 비밀번호 등), 클라이언트 디바이스(110)의 주어진 사용자의 금융 정보(예를 들어, 은행 계좌 번호, 신용 카드 번호, 결제 애플리케이션 정보 등), 클라이언트 디바이스(110)의 주어진 사용자의 사진 앨범, 클라이언트 디바이스(110)의 주어진 사용자의 소셜 미디어 프로필(들), 클라이언트 디바이스(110)의 사용자 기본 설정, 클라이언트 디바이스의 주어진 사용자의 개인 정보(예를 들어, 이름, 전화번호, 실제 주소, 이메일 주소, 주민등록번호, 생년월일 등), 및/또는 클라이언트 디바이스의 주어진 사용자와 관련된 기타 정보를 포함할 수 있다.
구체적으로 도 8a 및 도 8b를 참조하면, 클라이언트 디바이스(110)의 주어진 사용자가 (예를 들어, "www.exampleurl0.com/"의 URL(811A)에 의해 표시된 바와 같이) 클라이언트 디바이스(110)에서 액세스 가능한 브라우저 애플리케이션에서 레스토랑 엔티티에 대한 검색 결과를 보고 있다고 가정한다. 또한, 검색 결과에는 오전 9시부터 오후 11시까지 영업하는 "가상 레스토랑"의 검색 결과(820A)가 적어도 포함되어 있다고 가정한다. 일부 구현에서, 검색 결과(820A)는 선택될 때 클라이언트 디바이스(110)가 대응하는 동작들을 수행하게 하는 다양한 선택 가능한 그래픽 엘리먼트와 관련될 수 있다. 예를 들어, 검색 결과(820A)와 관련된 통화 그래픽 엘리먼트(821A)가 선택될 때, 사용자 입력은 가상 레스토랑에 대한 전화 통화 동작이 수행되어야 함을 나타낼 수 있다. 다른 예로서, 검색 결과(820A)와 관련된 길찾기 그래픽 엘리먼트(822A)가 선택될 때, 사용자 입력은 가상 레스토랑의 오프라인 위치에 대한 내비게이션 동작이 수행되어야 함을 나타낼 수 있다. 또 다른 예로서, 검색 결과(820A)와 관련된 메뉴 그래픽 엘리먼트(823A)가 선택될 때, 사용자 입력은 가상 항공사와 관련된 메뉴에 대한 메뉴 조회 동작이 수행되어야 함을 나타낼 수 있다.
다양한 구현에서, 통화 세부정보 인터페이스(870)는 "가상 레스토랑"과 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에 클라이언트 디바이스(110)에 렌더링될 수 있거나, 가상 레스토랑과 전화 통화를 개시하기 위한 사용자 입력을 수신하는 것에 응답하여 클라이언트 디바이스(110)에서 렌더링될 수 있다. 이러한 구현의 일부 버전에서, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)의 일부로서 클라이언트 디바이스(110)에서 렌더링될 수 있다. 이러한 구현의 일부 다른 버전에서, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)를 오버레이하는 사용자 인터페이스(180)와는 별도의 인터페이스일 수 있으며, 추가 통화 세부정보를 디스플레이하기 위해 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 위로 스와이프함으로써) 사용자가 통화 세부정보 인터페이스(870)를 확장할 수 있도록 하고 및/또는 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 아래로 스와이프함으로써) 통화 세부정보 인터페이스(870)를 닫을 수 있도록 하는 통화 세부정보 인터페이스 엘리먼트(186)를 포함할 수 있다. 통화 세부정보 인터페이스(870)가 사용자 인터페이스(180)의 하단에 있는 것으로 도시되어 있지만, 이는 예시를 위한 것으로 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)의 상단, 사용자 인터페이스(180)의 측면, 또는 사용자 인터페이스(180)와 완전히 별개의 인터페이스에 렌더링될 수 있다.
통화 세부정보 인터페이스(870)는 다양한 구현에서 복수의 그래픽 엘리먼트를 포함할 수 있다. 이러한 구현의 일부 버전에서, 그래픽 엘리먼트는 그래픽 엘리먼트들 중 주어진 하나가 선택될 때 클라이언트 디바이스(110)가 대응하는 동작을 수행할 수 있도록 선택 가능할 수 있다. 도 8a 및 도 8b에 도시된 바와 같이, 통화 세부정보 인터페이스(870)에는 "보조 통화, 가상 레스토랑"의 제1 그래픽 엘리먼트(871A)와, "일반 통화"의 제2 그래픽 엘리먼트(872A)와, 그리고 "연락처 '가상 레스토랑' 저장"의 제3 그래픽 엘리먼트(873A)가 포함된다. 그래픽 엘리먼트는 또한 가상 레스토랑과 관련된 IVR 트리와 관련된 후보 상태에 해당하는 서브 엘리먼트를 포함할 수 있다. 예를 들어, 도 8a에 도시된 바와 같이, 제1 그래픽 엘리먼트(871A)는 가상 레스토랑과 관련된 IVR 트리를 레스토랑 예약에 대응하는 부분으로 탐색하는 타겟 상태와 관련된 "예약하기(Make Reservations)"의 제1 서브 엘리먼트(871A1)와, 가상 레스토랑과 관련된 IVR 트리를 레스토랑으로부터의 테이크 아웃 주문에 대응하는 부분으로 탐색하는 타겟 상태와 관련된 "테이크 아웃 주문(Order Carryout)"의 제2 서브 엘리먼트(871A2)와, 그리고 가상 레스토랑과 관련된 IVR 트리를 가상 레스토랑으로부터 배달 주문에 대응하는 부분으로 탐색하는 타겟 상태와 관련된 "배달 주문(Order Delivery)"의 제3 서브 엘리먼트(871A3)를 포함할 수 있다. 이에 반해, 도 8b에 도시된 바와 같이, 제1 그래픽 엘리먼트(871A)는 가상 레스토랑과 관련된 IVR 트리를 레스토랑 예약에 대응하는 부분으로 탐색하는 타겟 상태와 관련된 "예약하기"의 제1 서브 엘리먼트(871B1)와, 그리고 가상 레스토랑과 관련된 IVR 트리를 가상 레스토랑의 영업 시간 청취에 대응하는 부분으로 탐색하는 타겟 상태와 관련된 "영업 시간"의 제2 서브 엘리먼트(871B2)를 포함할 수 있다.
특히, 도 8a 및 도 8b에 포함된 후보 상태의 차이는 주어진 사용자의 클라이언트 디바이스(110)와 관련된 컨텍스트 정보에 기초할 수 있다. 특히, 도 8a와 관련하여, 클라이언트 디바이스(110)의 현재 위치에서의 시간 및 날짜 정보(812A)는 오전 9시 30분의 시간을 나타내며, 이는 (예를 들어, 오전 9시~오후 11시인 영업 시간에 기초하여) 가상 레스토랑이 영업 중인 것에 해당한다. 그 결과, 선택 가능한 서브 엘리먼트(871A2 및 871A3)와 관련된 후보 상태는 가상 레스토랑이 열려 있기 때문에 사용 가능할 수 있다. 이에 반해, 도 8b와 관련하여, 클라이언트 디바이스(110)의 현재 위치에서의 시간 및 날짜 정보(812B)는 오전 8시 30분의 시간을 나타내며, 이는 (예를 들어, 오전 9시~오후 11시인 영업 시간에 기초하여) 가상 레스토랑이 문을 닫은 것에 해당한다. 그 결과, 선택 가능한 서브 엘리먼트(871A2 및 871A3)와 관련된 후보 상태는 가상 레스토랑이 문을 닫았기 때문에 사용하지 못할 수도 있지만, 자동화 어시스턴트는 문이 닫혔더라도 가상 레스토랑과 관련된 IVR 트리를 탐색함으로써 레스토랑을 예약하고 및/또는 영업 시간에 대해 문의할 수 있다. 따라서, IVR 트리는 후보 상태들 중 일부가 주어진 컨텍스트에서 사용 가능할 수 있는 반면, 다른 후보 상태는 주어진 컨텍스트에서 사용 가능하지 않을 수 있다는 점에서 동적일 수 있다. 다른 예로서, 도 8a에서 가상 레스토랑이 영업 중이지만 클라이언트 디바이스(110)의 현재 위치가 가상 레스토랑의 배달 반경 밖에 있다고 가정한다. 이 예에서, "배달 주문"의 제3 서브 엘리먼트(871A3)와 관련된 후보 상태는 생략될 수 있다. 또 다른 예로서, 도 8a에서 가상 레스토랑이 열려 있지만, 가상 레스토랑에서 실내 또는 실외 식사가 모두 가능하지 않다고 가정한다. 이 예에서, "예약하기"의 제1 서브 엘리먼트(871A1)와 관련된 후보 상태는 생략될 수 있다.
구체적으로 도 8c 및 도 8d를 참조하면, 클라이언트 디바이스(110)의 주어진 사용자가 (예를 들어, "www.exampleurl0.com/"의 URL(811C)에 의해 표시된 바와 같이) 클라이언트 디바이스(110)에서 액세스 가능한 브라우저 애플리케이션에서 호텔 엔티티에 대한 검색 결과를 보고 있다고 가정한다. 또한, 검색 결과에는 "가상 호텔(Hypothetical Hotel)"의 제1 검색 결과(820C) 및 "예시 호텔(Example Hotel)"의 제2 검색 결과(830C)가 포함되어 있다고 가정한다. 일부 구현에서, 검색 결과(820C 및/또는 830C)는 선택될 때 클라이언트 디바이스(110)가 대응하는 동작들을 수행하게 하는 다양한 선택 가능한 그래픽 엘리먼트와 관련될 수 있다. 예를 들어, 검색 결과(820A 및/또는 830C) 각각과 관련된 통화 그래픽 엘리먼트(821C 및/또는 831C)가 선택될 때, 사용자 입력은 개별 호텔 엔터티에 대한 전화 통화 동작이 수행되어야 함을 나타낼 수 있다. 다른 예로서, 검색 결과(820A 및/또는 830C) 각각과 관련된 길찾기 그래픽 엘리먼트(822C 및/또는 832C)가 선택될 때, 사용자 입력은 개별 호텔 엔터티의 오프라인 위치에 대한 탐색 동작이 수행되어야 함을 나타낼 수 있다. 또 다른 예로서, 검색 결과(820A 및/또는 830C) 각각과 관련된 계정 엘리먼트(823C 및/또는 833C)가 선택될 때, 사용자 입력은 개별 호텔 엔티티와 관련된 사용자 계정에 대한 계정 조회 동작이 수행되어야 함을 나타낼 수 있다.
다양한 구현에서, 통화 세부정보 인터페이스(870)는 각각 호텔 엔티티 중 하나와 전화 통화를 개시하기 위한 사용자 입력을 수신하기 전에 클라이언트 디바이스(110)에 렌더링되거, 각각 호텔 엔티티 중 하나와 전화 통화를 개시하기 위한 사용자 입력을 수신하는 것에 응답하여 클라이언트 디바이스(110)에 렌더링될 수 있다. 이러한 구현의 일부 버전에서, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)의 일부로서 클라이언트 디바이스(110)에 렌더링될 수 있다. 이러한 구현의 일부 다른 버전에서, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)를 오버레이하는 사용자 인터페이스(180)와 별개의 인터페이스일 수 있으며, 추가 통화 세부정보를 디스프레이하기 위해 (예를 들어, 통화 세부정보 인터페이스 엘리먼트(186)를 위로 스와이프함으로써) 통화 세부정보 인터페이스(870)를 확장하도록 하고 및/또는 (예를 들어, 통화 상세 인터페이스 엘리먼트(186)를 아래로 스와이핑함으로써) 통화 상세 정보 인터페이스(870)를 닫도록 하는 통화 세부정보 인터페이스 엘리먼트(186)를 포함할 수 있다. 통화 세부정보 인터페이스(870)가 사용자 인터페이스(180)의 하단에 있는 것으로 도시되어 있지만, 이는 예시를 위한 것으로 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 통화 세부정보 인터페이스(870)는 사용자 인터페이스(180)의 상단, 사용자 인터페이스(180)의 측면, 또는 사용자 인터페이스(180)와 완전히 분리된 인터페이스에서 렌더링될 수 있다.
통화 세부정보 인터페이스(870)는 다양한 구현에서 복수의 그래픽 엘리먼트를 포함할 수 있다. 이러한 구현의 일부 버전에서, 그래픽 엘리먼트는 그래픽 엘리먼트들 중 주어진 하나가 선택될 때, 클라이언트 디바이스(110)가 대응하는 동작을 수행할 수 있도록 선택 가능할 수 있다. 도 8c에 도시된 바와 같이, 통화 세부정보 인터페이스(870)는 "보조 통화, 가상 호텔"의 제1 그래픽 엘리먼트(871C), "일반 통화"의 제2 그래픽 엘리먼트(872C), 및 "연락처 '가상 호텔' 저장"의 제3 그래픽 엘리먼트(873C)를 포함한다. 도 8c의 그래픽 엘리먼트는 또한 가상 호텔과 연관된 IVR 트리와 관련된 후보 상태에 대응하는 서브 엘리먼트를 포함할 수 있다. 예를 들어, 도 8c에 도시된 바와 같이, 제1 그래픽 엘리먼트(871C)에는 가상 호텔과 관련된 IVR 트리를 호텔 예약 변경에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "예약 변경(Change Reservation)"의 제1 서브 엘리먼트(871C1)와, 가상 호텔과 관련된 IVR 트리를 기존 호텔 예약에 대한 무료 업그레이드 요청에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "무료 업그레이드 요청(Request Free Upgrade)"의 제2 서브 엘리먼트(871C2)와, 그리고 가상 호텔의 컨시어지 연락에 해당하는 부분으로 가상 호텔과 관련된 IVR 트리를 탐색하는 목표 상태와 관련된 "컨시어지 직통 라인(Concierge Direct Line)"의 제3 서브 엘리먼트(871C3)가 포함될 수 있다.
이에 반해, 도 8d에 도시된 바와 같이, 통화 세부정보 인터페이스(870)에는 "보조 통화, 예시 호텔(Example Hotel)"의 제1 그래픽 엘리먼트(871D)(도 8C의 "가상 호텔"과 반대), "일반 통화"의 제2 그래픽 엘리먼트(872D), 및 " 연락처 '예시 호텔' 저장"의 제3 그래픽 엘리먼트(873D)가 포함된다. 도 8d의 그래픽 엘리먼트는 또한 예시 호텔과 연관된 IVR 트리와 관련된 후보 상태에 해당하는 서브 엘리먼트를 포함할 수 있다. 예를 들어, 도 8d에 도시된 바와 같이, 제1 그래픽 엘리먼트(871D)에는 예시 호텔과 관련된 IVR 트리를 호텔 예약 변경에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "예약 변경"의 제1 서브 엘리먼트(871D1)와, 예시 호텔과 관련된 IVR 트리를 기존 호텔 예약 취소에 해당하는 부분으로 탐색하는 타겟 상태와 관련된 "예약 취소(Cancel Reservation)"의 제2 서브 엘리먼트(871D2)와, 그리고 가상 호텔과 관련된 IVR 트리를 예시 호텔의 프론트 데스크에 연락하는 것에 해당하는 부분으로 탐색하는 목표 상태와 관련된 "프론트 데스크(Front Desk)"의 제3 서브 엘리먼트(871D3)가 포함될 수 있다.
특히, 도 8c 및 8d에 포함된 후보 상태의 차이는 주어진 사용자의 클라이언트 디바이스(110)의 주어진 사용자와 관련된 컨텍스트 정보에 기초할 수 있다. 특히, 도 8c와 관련하여, 자동화 어시스턴트는 가상 호텔과 관련된 클라이언트 디바이스(110)의 주어진 사용자의 사용자 계정에 액세스할 수 있다. 예를 들어, 자동화 어시스턴트는 사용자 계정 상태(예를 들어, 브론즈 회원, 실버 회원, 골드 회원 등), 사용자 계정 번호, 가상 호텔의 다양한 위치에서의 숙박을 포함하는 사용자 계정 이력 등에 액세스할 수 있다. 예를 들어, 클라이언트 디바이스(110)의 주어진 사용자가 가상 호텔의 골드 회원이라고 가정한다. 그 결과, 선택 가능한 서브 엘리먼트(871C2 및 871C3)와 관련된 후보 상태는 클라이언트 디바이스(110)의 주어진 사용자의 골드 회원 상태에 기초하여 사용 가능할 수 있다. 이와 달리, 도 8d와 관련하여, 자동화 어시스턴트는 예시 호텔과 관련된 사용자 계정의 어떠한 기록도 가지지 않을 수 있다. 그 결과, 선택 가능한 서브 엘리먼트(871C2 및 871C3)와 관련된 후보 상태는 사용 가능하지 않을 수 있지만, 자동화 어시스턴트는 여전히 도 8d에 도시된 다양한 후보 상태로 탐색할 수 있다. 따라서, IVR 트리는 후보 상태 중 일부는 주어진 컨텍스트에서 사용 가능할 수 있는 반면, 다른 후보 상태는 주어진 컨텍스트에서 사용 가능하지 않을 수 있다는 점에서 동적일 수 있다.
비록 도 8a 및 8b는 주어진 사용자의 클라이언트 디바이스(110)와 관련된 컨텍스트 정보에 기초한 후보 상태의 가용성에 대해 본 명세서에서 설명되고, 도 8c 및 도 8d는 클라이언트 디바이스(110)의 주어진 사용자와 관련된 컨텍스트 정보에 기초한 후보 상태의 가용성에 대해 본 명세서에서 설명되지만, 이는 예를 위한 것으로 제한하려는 의도가 아님을 이해해야 한다. 예를 들어, 후보 상태의 가용성은 주어진 사용자의 클라이언트 디바이스(110)와 관련된 컨텍스트 정보 및 클라이언트 디바이스(110)의 주어진 사용자와 관련된 컨텍스트 정보 모두에 기초할 수 있다. 예를 들어, 도 8c와 관련하여, 가상 호텔의 컨시어지가 일하지 않을 때 클라이언트 디바이스(110)의 주어진 사용자가 보조 전화 통화를 개시하는 경우, "컨시어지 직통 라인"의 제3 서브 엘리먼트(871C3)와 관련된 후보 상태는 가상 호텔과 관련된 사용자 계정의 사용자 계정 상태가 클라이언트 디바이스(110)의 주어진 사용자가 가상 호텔의 컨시어지에 직접 연락할 수 있게 하더라도 생략될 수 있다.
더욱이, 도 8a 내지 도 8d가 본 명세서에서 특정 엔티티에 대해 설명되고 특정 그래픽 엘리먼트가 검색 결과 및 통화 세부정보 인터페이스와 함께 도시되지만, 이는 예시를 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. IVR 시스템을 사용하는 임의의 엔티티와 관련된 IVR 트리는 저장될 수 있고 후속적으로 보조 전화 통화를 수행하는데 사용될 수 있음을 이해해야 한다. 또한, 자동화 어시스턴트에 의해 제공되는 그래픽 엘리먼트 및 정보는 IVR 트리를 기반으로 할 수 있으며, 엔티티와 관련된 IVR 트리의 구성은 사실상 제한이 없음을 이해해야 한다
도 9는 본 명세서에 설명된 기술의 하나 이상의 양태를 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(910)의 블록도이다. 일부 구현에서, 클라이언트 디바이스, 클라우드 기반 자동화 어시스턴트 컴포넌트(들) 및/또는 기타 컴포넌트(들) 중 하나 이상은 예시적인 컴퓨팅 디바이스(910)의 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(910)는 일반적으로 버스 서브시스템(912)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(914)를 포함한다. 이러한 주변 디바이스는 예를 들어 메모리 서브시스템(925) 및 파일 저장 서브시스템(926), 사용자 인터페이스 출력 디바이스(920), 사용자 인터페이스 입력 디바이스(922), 및 네트워크 인터페이스 서브시스템(916)을 포함하는 저장 서브시스템(924)을 포함할 수 있다. 입력 및 출력 디바이스는 사용자가 컴퓨팅 디바이스(910)와의 사용자 상호작용을 할 수 있도록 한다. 네트워크 인터페이스 서브시스템(916)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨팅 디바이스의 대응하는 인터페이스 디바이스에 결합된다.
사용자 인터페이스 입력 디바이스(922)는 포인팅 디바이스(예를 들어, 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치스크린, 오디오 입력 디바이스(예를 들어, 음성 인식 시스템, 마이크로폰), 및/또는 기타 유형의 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 정보를 컴퓨팅 디바이스(910) 또는 통신 네트워크에 입력하는 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(920)는 디스플레이 서브시스템, 프린터, 팩스 기계, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 시각적 이미지를 생성하기 위한 일부 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수도 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(910)로부터 사용자 또는 다른 기계 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
저장 서브시스템(924)은 본 명세서에 설명된 모듈의 일부 또는 모든 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(924)은 본 명세서에 개시된 방법의 선택된 양태를 수행할 뿐만 아니라 도 1에 도시된 다양한 컴포넌트를 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(914) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(924)에서 사용되는 메모리(925)는 프로그램 실행 동안 명령 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(930) 및 고정 명령이 저장되는 판독 전용 메모리(ROM)(932)를 비롯하여 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(926)은 프로그램 및 데이터 파일을 위한 영구 저장소를 제공할 수 있고, 하드 디스크 드라이브, 관련된 이동식 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현의 기능을 구현하는 모듈은 파일 저장 서브시스템(926)에 의해 저장 서브시스템(924) 또는 프로세서(들)(914)에 의해 액세스 가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(912)은 컴퓨팅 디바이스(910)의 다양한 컴포넌트 및 서브시스템이 의도한 대로 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(912)이 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템(912)의 대안적인 구현은 다중 버스를 사용할 수 있다.
컴퓨팅 디바이스(910)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 9에 도시된 컴퓨팅 디바이스(910)에 대한 설명은 일부 구현을 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 디바이스(910)의 많은 다른 구성이 도 9에 도시된 컴퓨팅 디바이스보다 더 많거나 더 적은 컴포넌트를 갖는 것이 가능하다.
본 명세서에 설명된 시스템이 사용자에 대한 개인 정보를 수집 또는 모니터링하거나 개인 정보 및/또는 모니터링되는 정보를 사용할 수 있는 상황에서, 사용자에게는 프로그램 또는 기능이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 지리적 위치에 대한 정보)를 수집하는지 여부를 제어하거나 사용자와 더 관련이 있을 수 있는 컨텐츠 서버로부터 컨텐츠를 수신할지 여부 및/또는 방법을 제어할 기회가 제공될 수 있다. 또한 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 결정될 수 없도록 처리될 수 있고, 사용자의 지리적 위치는 사용자의 특정 지리적 위치가 결정될 수 없도록 (예를 들어, 도시, 우편 번호 또는 주 수준과 같이) 지리적 위치 정보가 획득된 곳으로 일반화될 수 있다. 따라서 사용자는 사용자에 대한 정보 수집 및/또는 사용 방법을 제어할 수 있다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현된 방법이 제공되고, 이 방법은, 주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하는 단계와; 사용자 입력에 기초하여, 보조 전화 통화 동안, 주어진 사용자를 대신하여 참여할 엔티티를 식별하는 단계와; 식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리를 식별하는 단계와, 상기 IVR 트리에는 복수의 후보 상태가 포함되고; 사용자 입력 또는 추가(additional) 사용자 입력에 기초하여, 복수의 후보 상태 중에서 IVR 트리의 타겟 상태를 결정하는 단계와; 그리고 타겟 상태로 IVR 트리를 탐색하기 위해 보조 전화 통화의 수행을 개시하는 단계를 포함한다. 보조 전화 통화의 수행은 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 것을 포함한다. 방법은 보조 전화 통화의 수행 중에 그리고 IVR 트리가 타겟 상태로 탐색되는 동안: 클라이언트 디바이스로 향하고 상기 식별된 엔티티와 관련된 적어도 하나의 사용자 상호작용을 검출하는 단계와, 클라이언트 디바이스를 향하는 적어도 하나의 사용자 상호작용에 기초하여, IVR 트리의 탐색을 수정하는 것과 관련된 하나 이상의 프롬프트를 생성하는 단계를 추가로 포함한다. 방법은 하나 이상의 추가 프롬프트를 렌더링하는 것에 응답하여 수신된 추가적인(further) 추가 사용자 입력이 IVR 트리의 탐색을 수정한다는 결정에 응답하여, 추가적인 추가 사용자 입력에 기초하여 보조 전화 통화의 수행을 수정하는 단계를 추가로 포함한다.
이들 및 본 명세서에 개시된 기술의 다른 구현은 선택적으로 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 방법은 보조 전화 통화 동안 특정 상태에 도달하기 위해 IVR 트리를 탐색하는 것에 후속하여 추가적인 추가 사용자 입력에 기초하여, 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 생성하는 단계와, 그리고 통지가 주어진 사용자와 관련된 클라이언트 디바이스에서 렌더링되게 하는 단계를 추가로 포함할 수 있다. 이러한 구현의 일부 버전에서, 통지가 주어진 사용자와 관련된 클라이언트 디바이스에서 렌더링되게 하는 단계는 클라이언트 디바이스가 진동하게 하는 단계, 클라이언트 디바이스가 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 청각적으로 렌더링하게 하는 단계, 또는 클라이언트 디바이스가 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 시각적으로 렌더링하게 하는 단계 중 하나 이상을 포함할 수 있다. 이러한 구현의 일부 추가적 또는 대안적인 버전에서, 방법은 IVR 트리를 특정 상태로 탐색하는 것에 후속하여, 특정 상태가 타겟 상태에 해당하는지 여부를 검증(확인)하기 위해 식별된 엔티티와 관련된 인간 담당자와의 대화에 참여하는 단계를 추가로 포함할 수 있다.
이러한 구현의 일부 추가 버전에서, 특정 상태가 타겟 상태에 해당하는지 여부를 검증하기 위해 사람 담당자와의 대화에 참여하는 단계는 음성 인식 모델을 사용하여, 인간 담당자의 음성 발언을 캡처하는 오디오 데이터를 처리하는 단계와; 오디오 데이터를 처리하는 것에 기초하여, 특정 상태가 타겟 상태에 해당함을 인간 담당자가 검증하는지 여부를 결정하는 단계를 포함할 수 있다. 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 생성하는 단계는 특정 상태가 타겟 상태에 해당함을 인간 담당자가 검증한다는 결정에 응답할 수 있다. 이러한 구현의 또 다른 버전에서 IVR 트리가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되도록 성공적으로 탐색되었는지 여부를 검증하기 위해 합성 음성을 포함하는 합성 음성 오디오 데이터를 발생시키는 단계를 더 포함할 수 있다. 인간 담당자의 음성 발언을 캡처하는 오디오 데이터는 합성 음성 오디오 데이터가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되는 것에 응답하여 수신될 수 있다.
이러한 구현의 일부 추가의 또는 대안적인 버전에서, 방법은 인간 담당자가 특정 상태가 타겟 상태에 해당하지 않는다고 나타내는 결정에 응답하여, 추가 합성 음성을 포함하는 추가 합성 음성 오디오 데이터로 하여금 보조 전화 통화를 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링될 상기 식별된 엔티티와 관련된 다른 인간 담당자에게 전환되도록 요청하게 하는 단계를 더 포함할 수 있다.
일부 구현에서 방법은 사용자 입력 또는 추가 사용자 입력에 기초하여, 주어진 사용자를 대신하여 보조 전화 통화 동안 수행될 태스크를 식별하는 단계와; IVR 트리를 타겟 상태로 탐색하는 것에 후속하여 보조 전화 통화 동안, 주어진 사용자를 대신하여 태스크를 완료하기 위해 상기 식별된 엔티티와 관련된 인간 담당자와 대화에 참여하는 단계를 더 포함할 수 있다. 인간 담당자와의 대화에 참여하는 단계는 태스크를 완료하기 위한 합성 음성을 포함하는 합성 음성 오디오 데이터가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되게 하는 단계와, 음성 인식 모델을 사용하여, 인간 담당자의 음성 발언을 캡처하고 합성 음성의 렌더링에 응답하여 수신되는 오디오 데이터를 처리하는단계와, 그리고 오디오 데이터의 처리에 기초하여, 태스크의 수행과 관련된 결과를 결정하는 단계를 포함할 수 있다. 이러한 현의 일부 버전에서, 방법은 태스크의 수행과 관련된 결과에 기초하여 통지를 생성하는 단계와; 그리고 주어진 사용자와 관련된 클라이언트 디바이스에서 통지가 렌더링되게 하는 단계를 더 포함할 수 있다.
일부 구현에서, 방법은 하나 이상의 추가 프롬프트를 렌더링하는 것에 응답하여 수신된 추가적인 추가 사용자 입력이 IVR 트리의 탐색을 수정하지 않는다고 결정하는 것에 응답하여, IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 지속하는 단계를 더 포함할 수 있다. 일부 구현에서, 방법은 식별된 엔티티와 관련된 IVR 트리를 식별하는 것에 응답하여, 식별된 엔티티와 관련된 IVR 트리를 탐색하는 것과 관련된 하나 이상의 프롬프트를 획득하는 단계와, 그리고 주어진 사용자와 관련된 클라이언트 디바이스에서 하나 이상의 프롬프트가 렌더링되게 하는 단계를 더 포함할 수 있다. 추가 사용자 입력은 렌더링되는 프롬프트 중 하나 이상에 응답하여 수신될 수 있다.
일부 구현에서, 주어진 사용자와 관련된 클라이언트 디바이스에서의 적어도 하나의 사용자 상호작용은 식별된 엔티티와 관련된 클라이언트 디바이스에서의 검색 상호작용, 식별된 엔티티와 관련된 클라이언트 디바이스에서의 브라우징 상호작용, 또는 식별된 엔티티와 관련된 클라이언트 디바이스에서의 탐색 상호작용 중 하나 이상을 포함할 수 있다.
일부 구현에서, IVR 트리의 타겟 상태로 보조 전화 통화를 자동으로 탐색하는 단계는 사용자 입력 또는 추가 사용자 입력에 기초하여 IVR 트리를 탐색하기 위한 대응하는 파라미터와 관련된 하나 이상의 값을 결정하는 단계 중 하나 이상을 포함할 수 있다. 이러한 구현의 일부 버전에서, IVR의 탐색을 수정하는 단계는 사용자 상호작용 또는 추가적인 추가 사용자 입력에 기초하여, IVR 트리의 대체 타겟 상태를 결정하는 단계를 포함할 수 있다. 보조 전화 통화의 수정된 수행은 대응하는 파라미터와 관련된 값들 중 하나 이상에 기초하여 보조 전화 통화를 IVR 트리의 대체 타겟 상태로 자동으로 탐색하는 단계를 포함할 수 있다. 이러한 구현의 일부 추가 버전에서, IVR의 탐색을 수정하는 단계는 사용자 상호작용 또는 추가적인 추가 사용자 입력에 기초하여, IVR 트리의 하나 이상의 대체 타겟 상태를 결정하는 단계를 포함할 수 있다. 보조 전화 통화의 수정된 수행은 대응하는 파라미터와 관련된 하나 이상의 대체 값에 기초하여 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계를 포함할 수 있다.
일부 구현에서, 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계는 타겟 상태에 도달할 때까지 IVR 트리를 자동으로 탐색하기 위해 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되도록 하나 이상의 버튼 누름을 에뮬레이트하는 단계, 타겟 상태에 도달할 때까지 IVR 트리를 자동으로 탐색하기 위해 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 상기 합성 음성을 포함하는 합성 음성 오디오 데이터가 렌더링되게 하는 단계, 또는 클라이언트 디바이스와 관련된 주어진 사용자의 음성 발언을 캡처하는 오디오 데이터가 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되게 하는 단계 중 하나 이상을 포함할 수 있다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법이 제공되며, 이 방법은 주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스의 검색 인터페이스를 통해, 사용자 입력을 수신하는 단계와; 클라이언트 디바이스의 검색 인터페이스에서, 사용자 입력에 기초하여 검색 쿼리를 발행하는 단계와; 발행된 검색 쿼리에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티와 관련된 주어진 검색 결과를 식별하는 단계와, 상기 주어진 검색 결과는 복수의 후보 상태 중에서, 식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리에 대한 타겟 상태와 관련되고; 적어도 주어진 검색 결과가 클라이언트 디바이스의 검색 인터페이스에서 렌더링되게 하는 단계와; 주어진 검색 결과가 클라이언트 디바이스의 검색 인터페이스에서 렌더링되는 것에 응답하여, 주어진 사용자로부터 클라이언트 디바이스의 검색 인터페이스를 통해, 주어진 검색 결과의 선택을 수신하는 단계와; 그리고 주어진 검색 결과의 선택을 수신하는 것에 응답하여, 보조 전화 통화의 수행을 개시하는 단계를 포함한다. 보조 전화 통화의 수행에는 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계가 포함된다.
본 명세서에 개시된 기술의 이들 및 다른 구현은 선택적으로 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 방법은 발행된 검색 쿼리에 기초하여, 엔티티와 관련된 추가적인 주어진 검색 결과를 식별하는 단계를 더 포함할 수 있고, 추가적인 주어진 검색 결과는 복수의 후보 상태 중에서 IVR 트리에 대한 추가 목표 상태와 관련된다. 이러한 구현의 일부 버전에서, 방법은 추가적인 주어진 검색 결과가 주어진 검색 결과와 함께 렌더링되게 하는 단계를 더 포함할 수 있다. 이러한 구현의 일부 추가 버전에서, 추가적인 주어진 검색 결과가 주어진 검색 결과와 함께 렌더링되게 하는 단계는 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함할 수 있다.
이러한 구현의 또 다른 버전에서, 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계는 클라이언트 디바이스와의 주어진 사용자의 최근 사용자 상호작용에 기초하여 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함할 수 있다. 이러한 구현의 추가 버전에서, 클라이언트 디바이스와의 주어진 사용자의 최근 사용자 상호작용은 주어진 사용자가 주어진 검색 결과와 관련된 컨텐츠에 액세스하는 것을 포함할 수 있다. 이러한 구현의 또 다른 추가 또는 대안 버전에서, 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계는 주어진 검색 결과의 인기도에 기초하여 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함할 수 있다. 이러한 구현의 또 다른 버전에서, 주어진 검색 결과의 인기도는 주어진 사용자 외에 주어진 검색 결과와 관련된 복수의 사용자의 클릭률에 기초할 수 있다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법이 제공되며, 이 방법은 주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하는 단계와; 사용자 입력에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티를 식별하는 단계와; 식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리를 식별하는 단계와, 상기 IVR 트리는 복수의 후보 상태를 포함하고; 클라이언트 디바이스 또는 그 클라이언트 디바이스와 관련된 주어진 사용자와 관련된 컨텍스트 정보에 기초하여, IVR 트리의 타겟 상태로서 복수의 후보 상태의 가용성(availability)을 결정하는 단계와; 사용자 입력 또는 추가 사용자 입력에 기초하여, 사용 가능한 복수의 후보 상태 중에서 IVR 트리의 타겟 상태를 결정하는 단계와; 그리고 IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 개시하는 단계를 포함한다. 보조 전화 통화의 수행은 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 것을 포함한다.
본 명세서에 개시된 기술의 이들 및 다른 구현은 선택적으로 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 컨텍스트 정보는 클라이언트 디바이스와 관련되고, 컨텍스트 정보는 클라이언트 디바이스의 현재 위치, 클라이언트 디바이스의 현재 위치에서의 현재 시간, 또는 클라이언트 디바이스의 현재 위치에서의 현재 날짜 중 하나 이상을 포함할 수 있다. 이러한 구현의 일부 버전에서, 복수의 상이한(disparate) IVR 트리 중에서 선택되는 주어진 IVR 트리는 클라이언트 디바이스의 현재 위치 또는 클라이언트 디바이스의 현재 위치에서의 현재 시간 중 하나 이상에 기초할 수 있다.
일부 구현에서, 컨텍스트 정보는 클라이언트 디바이스와 관련된 주어진 사용자와 관련되고, 컨텍스트 정보는 클라이언트 디바이스에서 생성되거나 클라이언트 디바이스에서 수신된 전자 통신, 주어진 사용자의 사용자 계정과 관련된 사용자 계정 정보, 또는 주어진 사용자와 관련된 금융(pecuniary) 정보 중 하나 이상을 포함할 수 있다. 이러한 구현의 일부 버전에서, 복수의 상이한 IVR 트리 중에서 선택되는 주어진 IVR 트리는 클라이언트 디바이스에서 생성되거나 클라이언트 디바이스에서 수신된 전자 통신, 주어진 사용자의 사용자 계정과 관련된 사용자 계정 정보, 또는 주어진 사용자와 관련된 금융 정보 중 하나 이상에 기초할 수 있다.
또한, 일부 구현은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(들)(CPU(들)), 그래픽 처리 장치(들)(GPU(들) 및/또는 텐서 처리 장치(들)(TPU(들))를 포함하며, 여기서 하나 이상의 프로세서는 관련 메모리에 저장된 명령을 실행하도록 작동 가능하고 명령은 전술한 방법 중 어느 하나를 수행하도록 구성된다. 일부 구현은 또한 전술한 방법 중 임의의 것을 수행하기 위해 하나 이상의 프로세서에 의해 실행가능한 컴퓨터 명령(어)을 저장하는 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 구현은 또한 전술한 방법 중 어느 하나를 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 명령(어)을 포함하는 컴퓨터 프로그램 제품을 포함한다.
전술한 개념 및 본 명세서에 더 상세히 설명된 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 개시의 마지막 부분에 나타나는 청구된 주제의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 간주된다.

Claims (31)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하는 단계와;
    사용자 입력에 기초하여, 보조 전화 통화 동안, 주어진 사용자를 대신하여 참여할 엔티티를 식별하는 단계와;
    식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리를 식별하는 단계와, 상기 IVR 트리에는 복수의 후보 상태가 포함되고;
    사용자 입력 또는 추가(additional) 사용자 입력에 기초하여, 복수의 후보 상태 중에서 IVR 트리의 타겟 상태를 결정하는 단계와; 그리고
    타겟 상태로 IVR 트리를 탐색하기 위해 보조 전화 통화의 수행을 개시하는 단계와, 상기 보조 전화 통화의 수행은 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 것을 포함하고; 그리고
    보조 전화 통화의 수행 중에 그리고 IVR 트리가 타겟 상태로 탐색되는 동안:
    클라이언트 디바이스로 향하고 상기 식별된 엔티티와 관련된 적어도 하나의 사용자 상호작용을 검출하는 단계와,
    클라이언트 디바이스를 향하는 적어도 하나의 사용자 상호작용에 기초하여, IVR 트리의 탐색을 수정하는 것과 관련된 하나 이상의 프롬프트를 생성하는 단계와, 그리고
    하나 이상의 추가 프롬프트를 렌더링하는 것에 응답하여 수신된 추가적인(further) 추가 사용자 입력이 IVR 트리의 탐색을 수정한다는 결정에 응답하여, 추가적인 추가 사용자 입력에 기초하여 보조 전화 통화의 수행을 수정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서,
    보조 전화 통화 동안 특정 상태에 도달하기 위해 IVR 트리를 탐색하는 것에 후속하여 추가적인 추가 사용자 입력에 기초하여:
    클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 생성하는 단계와, 그리고
    통지가 주어진 사용자와 관련된 클라이언트 디바이스에서 렌더링되게 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서,
    상기 통지가 주어진 사용자와 관련된 클라이언트 디바이스에서 렌더링되게 하는 단계는,
    클라이언트 디바이스가 진동하게 하는 단계, 클라이언트 디바이스가 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 청각적으로 렌더링하게 하는 단계, 또는 클라이언트 디바이스가 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 시각적으로 렌더링하게 하는 단계 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제2항 또는 제3항에 있어서,
    IVR 트리를 특정 상태로 탐색하는 것에 후속하여:
    특정 상태가 타겟 상태에 해당하는지 여부를 검증하기 위해 상기 식별된 엔티티와 관련된 인간 담당자와의 대화에 참여하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제4항에 있어서,
    상기 특정 상태가 타겟 상태에 해당하는지 여부를 검증하기 위해 인간 담당자와의 대화에 참여하는 단계는,
    음성 인식 모델을 사용하여, 인간 담당자의 음성 발언을 캡처하는 오디오 데이터를 처리하는 단계와; 그리고
    오디오 데이터를 처리하는 것에 기초하여, 특정 상태가 타겟 상태에 해당함을 인간 담당자가 검증하는지 여부를 결정하는 단계를 더 포함하고,
    상기 클라이언트 디바이스와 관련된 주어진 사용자가 보조 전화 통화에 참여하도록 요청하는 통지를 생성하는 단계는 특정 상태가 타겟 상태에 해당함을 인간 담당자가 검증한다는 결정에 응답하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 선행하는 항들 중 어느 한 항에 있어서,
    IVR 트리가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되도록 성공적으로 탐색되었는지 여부를 검증하기 위해 합성 음성을 포함하는 합성 음성 오디오 데이터를 발생시키는 단계를 더 포함하고,
    상기 인간 담당자의 음성 발언을 캡처하는 오디오 데이터는 합성 음성 오디오 데이터가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되는 것에 응답하여 수신되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제4항에 있어서,
    인간 담당자가 특정 상태가 타겟 상태에 해당하지 않는다고 나타내는 결정에 응답하여:
    추가 합성 음성을 포함하는 추가 합성 음성 오디오 데이터로 하여금 보조 전화 통화를 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링될 상기 식별된 엔티티와 관련된 다른 인간 담당자에게 전환되도록 요청하게 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 선행하는 항들 중 어느 한 항에 있어서,
    사용자 입력 또는 추가 사용자 입력에 기초하여, 주어진 사용자를 대신하여 보조 전화 통화 동안 수행될 태스크를 식별하는 단계와;
    IVR 트리를 타겟 상태로 탐색하는 것에 후속하여 보조 전화 통화 동안:
    주어진 사용자를 대신하여 태스크를 완료하기 위해 상기 식별된 엔티티와 관련된 인간 담당자와 대화에 참여하는 단계를 더 포함하고, 상기 인간 담당자와의 대화에 참여하는 단계는,
    태스크를 완료하기 위한 합성 음성을 포함하는 합성 음성 오디오 데이터가 인간 담당자와 관련된 추가 클라이언트 디바이스에서 렌더링되게 하는 단계,
    음성 인식 모델을 사용하여, 인간 담당자의 음성 발언을 캡처하고 합성 음성의 렌더링에 응답하여 수신되는 오디오 데이터를 처리하는단계, 및
    오디오 데이터의 처리에 기초하여, 태스크의 수행과 관련된 결과를 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 제8항에 있어서,
    태스크의 수행과 관련된 결과에 기초하여 통지를 생성하는 단계와; 그리고
    주어진 사용자와 관련된 클라이언트 디바이스에서 통지가 렌더링되게 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  10. 선행하는 항들 중 어느 한 항에 있어서,
    하나 이상의 추가 프롬프트를 렌더링하는 것에 응답하여 수신된 추가적인 추가 사용자 입력이 IVR 트리의 탐색을 수정하지 않는다고 결정하는 것에 응답하여:
    IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 지속하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  11. 선행하는 항들 중 어느 한 항에 있어서,
    식별된 엔티티와 관련된 IVR 트리를 식별하는 것에 응답하여:
    식별된 엔티티와 관련된 IVR 트리를 탐색하는 것과 관련된 하나 이상의 프롬프트를 획득하는 단계와, 그리고
    주어진 사용자와 관련된 클라이언트 디바이스에서 하나 이상의 프롬프트가 렌더링되게 하는 단계를 더 포함하고,
    상기 추가 사용자 입력은 렌더링되는 프롬프트 중 하나 이상에 응답하여 수신되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  12. 선행하는 항들 중 어느 한 항에 있어서,
    상기 주어진 사용자와 관련된 클라이언트 디바이스에서의 적어도 하나의 사용자 상호작용은,
    식별된 엔티티와 관련된 클라이언트 디바이스에서의 검색 상호작용, 식별된 엔티티와 관련된 클라이언트 디바이스에서의 브라우징 상호작용, 또는 식별된 엔티티와 관련된 클라이언트 디바이스에서의 탐색 상호작용 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  13. 선행하는 항들 중 어느 한 항에 있어서,
    상기 IVR 트리의 타겟 상태로 보조 전화 통화를 자동으로 탐색하는 단계는,
    사용자 입력 또는 추가 사용자 입력에 기초하여 IVR 트리를 탐색하기 위한 대응하는 파라미터와 관련된 하나 이상의 값을 결정하는 단계 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  14. 제13항에 있어서,
    상기 IVR의 탐색을 수정하는 단계는,
    사용자 상호작용 또는 추가적인 추가 사용자 입력에 기초하여, IVR 트리의 대체 타겟 상태를 결정하는 단계를 포함하고,
    상기 보조 전화 통화의 수정된 수행은 대응하는 파라미터와 관련된 값들 중 하나 이상에 기초하여 보조 전화 통화를 IVR 트리의 대체 타겟 상태로 자동으로 탐색하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  15. 제13항에 있어서,
    상기 IVR의 탐색을 수정하는 단계는,
    사용자 상호작용 또는 추가적인 추가 사용자 입력에 기초하여, IVR 트리의 하나 이상의 대체 타겟 상태를 결정하는 단계를 포함하고,
    상기 보조 전화 통화의 수정된 수행은 대응하는 파라미터와 관련된 하나 이상의 대체 값에 기초하여 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  16. 선행하는 항들 중 어느 한 항에 있어서,
    상기 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계는,
    타겟 상태에 도달할 때까지 IVR 트리를 자동으로 탐색하기 위해 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되도록 하나 이상의 버튼 누름을 에뮬레이트하는 단계,
    타겟 상태에 도달할 때까지 IVR 트리를 자동으로 탐색하기 위해 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 상기 합성 음성을 포함하는 합성 음성 오디오 데이터가 렌더링되게 하는 단계, 또는
    클라이언트 디바이스와 관련된 주어진 사용자의 음성 발언을 캡처하는 오디오 데이터가 상기 식별된 엔티티와 관련된 추가 클라이언트 디바이스에서 렌더링되게 하는 단계 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  17. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스의 검색 인터페이스를 통해, 사용자 입력을 수신하는 단계와;
    클라이언트 디바이스의 검색 인터페이스에서, 사용자 입력에 기초하여 검색 쿼리를 발행하는 단계와;
    발행된 검색 쿼리에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티와 관련된 주어진 검색 결과를 식별하는 단계와, 상기 주어진 검색 결과는 복수의 후보 상태 중에서, 식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리에 대한 타겟 상태와 관련되고;
    적어도 주어진 검색 결과가 클라이언트 디바이스의 검색 인터페이스에서 렌더링되게 하는 단계와;
    주어진 검색 결과가 클라이언트 디바이스의 검색 인터페이스에서 렌더링되는 것에 응답하여, 주어진 사용자로부터 클라이언트 디바이스의 검색 인터페이스를 통해, 주어진 검색 결과의 선택을 수신하는 단계와; 그리고
    주어진 검색 결과의 선택을 수신하는 것에 응답하여, 보조 전화 통화의 수행을 개시하는단계를 포함하고, 상기 보조 전화 통화의 수행은 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  18. 제17항에 있어서,
    발행된 검색 쿼리에 기초하여, 엔티티와 관련된 추가적인 주어진 검색 결과를 식별하는 단계를 더 포함하고, 상기 추가적인 주어진 검색 결과는 복수의 후보 상태 중에서 IVR 트리에 대한 추가 목표 상태와 관련되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  19. 제18항에 있어서,
    추가적인 주어진 검색 결과가 주어진 검색 결과와 함께 렌더링되게 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  20. 제19항에 있어서,
    상기 추가적인 주어진 검색 결과가 주어진 검색 결과와 함께 렌더링되게 하는 단계는,
    주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  21. 제20항에 있어서,
    상기 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계는,
    클라이언트 디바이스와의 주어진 사용자의 최근 사용자 상호작용에 기초하여 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  22. 제21항에 있어서,
    상기 클라이언트 디바이스와의 주어진 사용자의 최근 사용자 상호작용은,
    주어진 사용자가 주어진 검색 결과와 관련된 컨텐츠에 액세스하는 것을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  23. 제20항 내지 제22항 중 어느 한 항에 있어서,
    상기 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계는,
    주어진 검색 결과의 인기도에 기초하여 주어진 검색 결과를 추가적인 주어진 검색 결과보다 더 두드러지게 렌더링하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  24. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 주어진 검색 결과의 인기도는,
    주어진 사용자 외에 주어진 검색 결과와 관련된 복수의 사용자의 클릭률에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  25. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    주어진 사용자로부터 그 주어진 사용자와 관련된 클라이언트 디바이스를 통해, 보조 전화 통화를 개시하기 위한 사용자 입력을 수신하는 단계와;
    사용자 입력에 기초하여, 보조 전화 통화 동안 주어진 사용자를 대신하여 참여할 엔티티를 식별하는 단계와;
    식별된 엔티티와 관련된 대화형 음성 응답(IVR) 트리를 식별하는 단계와, 상기 IVR 트리는 복수의 후보 상태를 포함하고;
    클라이언트 디바이스 또는 그 클라이언트 디바이스와 관련된 주어진 사용자와 관련된 컨텍스트 정보에 기초하여, IVR 트리의 타겟 상태로서 복수의 후보 상태의 가용성을 결정하는 단계와;
    사용자 입력 또는 추가 사용자 입력에 기초하여, 사용 가능한 복수의 후보 상태 중에서 IVR 트리의 타겟 상태를 결정하는 단계와; 그리고
    IVR 트리를 타겟 상태로 탐색하기 위해 보조 전화 통화의 수행을 개시하는 단계를 포함하고, 상기 보조 전화 통화의 수행은 보조 전화 통화를 IVR 트리의 타겟 상태로 자동으로 탐색하는 것을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  26. 제25항에 있어서,
    상기 컨텍스트 정보는 클라이언트 디바이스와 관련되고, 그리고
    상기 컨텍스트 정보는 클라이언트 디바이스의 현재 위치, 클라이언트 디바이스의 현재 위치에서의 현재 시간, 또는 클라이언트 디바이스의 현재 위치에서의 현재 날짜 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  27. 제26항에 있어서,
    상기 복수의 다른 IVR 트리 중에서 선택되는 주어진 IVR 트리는,
    클라이언트 디바이스의 현재 위치 또는 클라이언트 디바이스의 현재 위치에서의 현재 시간 중 하나 이상에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  28. 제25항 내지 제27항 중 어느 한 항에 있어서,
    상기 컨텍스트 정보는 클라이언트 디바이스와 관련된 주어진 사용자와 관련되고, 그리고
    상기 컨텍스트 정보는 클라이언트 디바이스에서 생성되거나 클라이언트 디바이스에서 수신된 전자 통신, 주어진 사용자의 사용자 계정과 관련된 사용자 계정 정보, 또는 주어진 사용자와 관련된 금융(pecuniary) 정보 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  29. 제25항 내지 제28항 중 어느 한 항에 있어서,
    상기 복수의 다른 IVR 트리 중에서 선택되는 주어진 IVR 트리는,
    클라이언트 디바이스에서 생성되거나 클라이언트 디바이스에서 수신된 전자 통신, 주어진 사용자의 사용자 계정과 관련된 사용자 계정 정보, 또는 주어진 사용자와 관련된 금융 정보 중 하나 이상에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  30. 적어도 하나의 컴퓨팅 디바이스로서,
    적어도 하나의 프로세서; 및
    실행될 때 적어도 하나의 프로세서로 하여금 제1항 내지 제29항 중 어느 한 항의 방법을 수행하게 하는 명령들을 저장하는 메모리를 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  31. 실행될 때 적어도 하나의 프로세서로 하여금 제1항 내지 제29항 중 어느 한 항의 방법을 수행하게 하는 명령들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020227042494A 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색 KR102624148B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247000568A KR20240006719A (ko) 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063088178P 2020-10-06 2020-10-06
US63/088,178 2020-10-06
US17/068,511 2020-10-12
US17/068,511 US11303749B1 (en) 2020-10-06 2020-10-12 Automatic navigation of an interactive voice response (IVR) tree on behalf of human user(s)
PCT/US2020/064918 WO2022076009A1 (en) 2020-10-06 2020-12-14 Automatic navigation of an interactive voice response (ivr) tree on behalf of human user(s)

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247000568A Division KR20240006719A (ko) 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색

Publications (2)

Publication Number Publication Date
KR20230003253A true KR20230003253A (ko) 2023-01-05
KR102624148B1 KR102624148B1 (ko) 2024-01-11

Family

ID=80932507

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247000568A KR20240006719A (ko) 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색
KR1020227042494A KR102624148B1 (ko) 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247000568A KR20240006719A (ko) 2020-10-06 2020-12-14 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색

Country Status (6)

Country Link
US (3) US11303749B1 (ko)
EP (1) EP4128730A1 (ko)
JP (1) JP7494319B2 (ko)
KR (2) KR20240006719A (ko)
CN (1) CN115668904A (ko)
WO (1) WO2022076009A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303749B1 (en) * 2020-10-06 2022-04-12 Google Llc Automatic navigation of an interactive voice response (IVR) tree on behalf of human user(s)
US20220294903A1 (en) * 2021-03-12 2022-09-15 Avaya Management L.P. Virtual private agent for machine-based interactions with a contact center
US11798551B2 (en) * 2021-03-25 2023-10-24 Bank Of America Corporation System and method for voice controlled automatic information access and retrieval
KR20240021834A (ko) * 2021-06-01 2024-02-19 페이멘터스 코포레이션 대화형 통신 시스템을 동적으로 탐색하기 위한 방법, 장치 및 시스템
US11637927B2 (en) * 2021-07-15 2023-04-25 International Business Machines Corporation Automated chatbot generation from an interactive voice response tree
US20230058051A1 (en) * 2021-08-17 2023-02-23 Toshiba Tec Kabushiki Kaisha System and method for voice activated file transfer
US11895270B2 (en) * 2022-02-17 2024-02-06 Lenovo (Singapore) Pte. Ltd Phone tree traversal system and method
US20230412731A1 (en) * 2022-06-16 2023-12-21 Optum, Inc. Automated interactive voice response interaction using voice prompt classification machine learning frameworks
JP7438479B1 (ja) 2023-10-24 2024-02-27 株式会社IVRy 音声自動応答装置、音声自動応答方法、音声自動応答プログラム及び音声自動応答システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010258855A (ja) * 2009-04-27 2010-11-11 Hitachi Electronics Service Co Ltd Ivrシステム
KR20170013884A (ko) * 2014-06-11 2017-02-07 알리바바 그룹 홀딩 리미티드 음성 표시
JP2017188886A (ja) * 2016-04-05 2017-10-12 キャラ ソリューションズ プロプライエタリー リミテッドCyara Solutions Pty Ltd 対話式音声応答システム・クローラ
US10447860B1 (en) * 2017-05-17 2019-10-15 Amazon Technologies, Inc. Interactive voice response using a cloud-based service

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815566A (en) 1991-10-10 1998-09-29 Executone Information Systems, Inc. Apparatus and method for dynamic inbound/outbound call management and for scheduling appointments
US6061433A (en) * 1995-10-19 2000-05-09 Intervoice Limited Partnership Dynamically changeable menus based on externally available data
US6377567B1 (en) 1997-07-16 2002-04-23 Mci Communications Corporation System and method for distributing data collected from call center services
US6157705A (en) * 1997-12-05 2000-12-05 E*Trade Group, Inc. Voice control of a server
US6304653B1 (en) 1998-12-04 2001-10-16 At&T Corp. Method and apparatus for intelligent data network call setup
US7792773B2 (en) 2002-10-23 2010-09-07 Genesys Telecommunications Laboratories, Inc. Method and system for enabling automated and real-time discovery of skills available to agents and systems in a multimedia communications network
US6731725B1 (en) 1999-06-28 2004-05-04 Keith A. Merwin Computerized system for the receipt, recordation, scheduling and redelivery of telephone messages
US6922465B1 (en) 1999-10-14 2005-07-26 Gte Mobilnet Incorporated Method and system for reporting events in telecommunication networks
US6757362B1 (en) 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
WO2001067225A2 (en) 2000-03-06 2001-09-13 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
WO2002019317A1 (en) 2000-09-01 2002-03-07 Eliza Corporation Sppech recognition method and system to determine the status of an outbound telephone call
US7299259B2 (en) 2000-11-08 2007-11-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives
US20030009530A1 (en) 2000-11-08 2003-01-09 Laurent Philonenko Instant message presence protocol for facilitating communication center activity
WO2002103486A2 (en) 2001-06-18 2002-12-27 Crandell Jeffrey L Apparatus, systems and methods for managing incoming and outgoing communication
US7609829B2 (en) 2001-07-03 2009-10-27 Apptera, Inc. Multi-platform capable inference engine and universal grammar language adapter for intelligent voice application execution
US7362854B2 (en) 2001-09-28 2008-04-22 Gateway Inc. Portable electronic device having integrated telephony and calendar functions
US7200210B2 (en) 2002-06-27 2007-04-03 Yi Tang Voice controlled business scheduling system and method
US20040213384A1 (en) 2003-04-23 2004-10-28 Alles Harold Gene Remote access, control, and support of home automation system
US20050147227A1 (en) 2003-12-31 2005-07-07 France Telecom, S.A. Method and system for alerting call participant of a change in a call hold status
US7386102B2 (en) 2004-01-05 2008-06-10 Louis Edward Summe System for remote control of an automated call system
US7697026B2 (en) 2004-03-16 2010-04-13 3Vr Security, Inc. Pipeline architecture for analyzing multiple video streams
US7084758B1 (en) 2004-03-19 2006-08-01 Advanced Micro Devices, Inc. Location-based reminders
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US7646858B2 (en) 2004-08-06 2010-01-12 Powerphone, Inc. Protocol builder for a call handling system
US8185399B2 (en) 2005-01-05 2012-05-22 At&T Intellectual Property Ii, L.P. System and method of providing an automated data-collection in spoken dialog systems
US20060215824A1 (en) 2005-03-28 2006-09-28 David Mitby System and method for handling a voice prompted conversation
US7869583B2 (en) 2005-08-05 2011-01-11 International Business Machines Corporation Real time meeting setup service
US7856257B2 (en) 2005-08-22 2010-12-21 Panasonic Corporation Portable communications terminal
EP2050263A4 (en) 2005-12-06 2010-08-04 Daniel John Simpson INTERACTIVE NATURAL LANGUAGE CALLING SYSTEM
US7773731B2 (en) 2005-12-14 2010-08-10 At&T Intellectual Property I, L. P. Methods, systems, and products for dynamically-changing IVR architectures
JP4197344B2 (ja) 2006-02-20 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声対話システム
JP2008015439A (ja) 2006-07-07 2008-01-24 Takashi I 音声認識システム
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20080181371A1 (en) 2007-01-30 2008-07-31 Eliza Corporation Systems and Methods for Producing Build Calls
JP4311458B2 (ja) 2007-02-27 2009-08-12 ブラザー工業株式会社 コントロール配置情報設定装置及びコンピュータプログラム
US7920842B2 (en) 2007-06-15 2011-04-05 Alarm.Com Incorporated Alarm system with two-way voice
US20090022293A1 (en) 2007-07-18 2009-01-22 Routt Karen E Telecommunications System for Monitoring and for Enabling a Communication Chain between Care Givers and Benefactors and for Providing Alert Notification to Designated Recipients
US8549412B2 (en) 2007-07-25 2013-10-01 Yahoo! Inc. Method and system for display of information in a communication system gathered from external sources
US8676273B1 (en) 2007-08-24 2014-03-18 Iwao Fujisaki Communication device
US20090089100A1 (en) 2007-10-01 2009-04-02 Valeriy Nenov Clinical information system
US7945456B2 (en) 2007-10-01 2011-05-17 American Well Corporation Documenting remote engagements
US8175651B2 (en) 2007-12-17 2012-05-08 Motorola Mobility, Inc. Devices and methods for automating interactive voice response system interaction
JP5189858B2 (ja) 2008-03-03 2013-04-24 アルパイン株式会社 音声認識装置
US7734029B2 (en) 2008-03-17 2010-06-08 Transcend Products, Llc Apparatus, system, and method for automated call initiation
US9008628B2 (en) 2008-05-19 2015-04-14 Tbm, Llc Interactive voice access and notification system
US20140279050A1 (en) 2008-05-21 2014-09-18 The Delfin Project, Inc. Dynamic chatbot
US9003300B2 (en) 2008-10-03 2015-04-07 International Business Machines Corporation Voice response unit proxy utilizing dynamic web interaction
US8644488B2 (en) 2008-10-27 2014-02-04 Nuance Communications, Inc. System and method for automatically generating adaptive interaction logs from customer interaction text
US8943394B2 (en) 2008-11-19 2015-01-27 Robert Bosch Gmbh System and method for interacting with live agents in an automated call center
US20100228590A1 (en) 2009-03-03 2010-09-09 International Business Machines Corporation Context-aware electronic social networking
US8611876B2 (en) 2009-10-15 2013-12-17 Larry Miller Configurable phone with interactive voice response engine
US9313329B2 (en) 2009-11-02 2016-04-12 International Business Machines Corporation Voice response systems browsing
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8903073B2 (en) 2011-07-20 2014-12-02 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US9001819B1 (en) * 2010-02-18 2015-04-07 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US20110270687A1 (en) 2010-04-30 2011-11-03 Bazaz Gaurav Apparatus and method for controlled delivery of direct marketing messages
US8938058B2 (en) 2010-10-21 2015-01-20 Micro Macro Assets Llc System and method for providing sales and marketing acceleration and effectiveness
AU2011316871A1 (en) 2010-10-21 2013-05-23 Micro Macro Assets Llc System and method for maximizing efficiency of call transfer speed
US20120109759A1 (en) 2010-10-27 2012-05-03 Yaron Oren Speech recognition system platform
US8520504B2 (en) 2010-12-10 2013-08-27 Cable Television Laboratories, Inc. Method and system of controlling state devices operable to support calls between endpoints
US8660543B2 (en) 2010-12-21 2014-02-25 Verizon Patent And Licensing Inc. Call management system
US8612233B2 (en) 2011-01-05 2013-12-17 International Business Machines Corporation Expert conversation builder
US20120271676A1 (en) 2011-04-25 2012-10-25 Murali Aravamudan System and method for an intelligent personal timeline assistant
JP2014522499A (ja) 2011-06-16 2014-09-04 コーニンクレッカ フィリップス エヌ ヴェ 計画されたテーブル/ガントリー移動を使用したリストモードpet取得のための空間サンプリングの改良
US8572264B2 (en) 2011-07-15 2013-10-29 American Express Travel Related Services Company, Inc. Systems and methods for state awareness across communication channels and statefully transitioning between communication channels
US20130060587A1 (en) 2011-09-02 2013-03-07 International Business Machines Corporation Determining best time to reach customers in a multi-channel world ensuring right party contact and increasing interaction likelihood
US20130090098A1 (en) 2011-10-10 2013-04-11 Arvind Gidwani Systems and methods for dialing into interactive voice systems with minimal user interaction
US9098551B1 (en) * 2011-10-28 2015-08-04 Google Inc. Method and system for ranking content by click count and other web popularity signals
US9088650B2 (en) 2011-11-29 2015-07-21 Impact Dialing, Inc. Predictive dialing based on simulation
US20140200928A1 (en) 2011-12-15 2014-07-17 Advance Response, LLC. Methods and apparatus for automated web portal and voice system data aggregation
US8594297B2 (en) 2011-12-27 2013-11-26 Avaya Inc. System and method for enhanced call routing
US9033781B2 (en) 2011-12-30 2015-05-19 Mindforce Consulting, Llc Designing a real sports companion match-play crowdsourcing electronic game
US20140310365A1 (en) 2012-01-31 2014-10-16 Global Relay Communications Inc. System and Method for Tracking Messages in a Messaging Service
KR20130099423A (ko) 2012-02-29 2013-09-06 주식회사 예스피치 전문 상담원 안내 시스템 및 방법
KR101959296B1 (ko) 2012-07-23 2019-03-18 삼성전자 주식회사 휴대단말의 통화 연결 방법 및 장치
KR101909141B1 (ko) 2012-07-27 2018-10-17 엘지전자 주식회사 전자기기 및 전자기기의 제어방법
JP6025037B2 (ja) 2012-10-25 2016-11-16 パナソニックIpマネジメント株式会社 音声エージェント装置、及びその制御方法
US20140122618A1 (en) 2012-10-26 2014-05-01 Xiaojiang Duan User-aided learning chatbot system and method
CN103795877A (zh) 2012-10-29 2014-05-14 殷程 智能语音
US20150358790A1 (en) 2012-11-12 2015-12-10 ENORCOM Corporation Automated mobile system
KR101821358B1 (ko) 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
US9282157B2 (en) 2013-03-12 2016-03-08 Microsoft Technology Licensing, Llc Intermediary API for providing presence data to requesting clients
KR101543366B1 (ko) 2013-04-05 2015-08-11 포인트아이 주식회사 고객 감정 지수를 이용한 호 또는 상담원 평가 방법 및 장치
WO2014171935A1 (en) 2013-04-17 2014-10-23 Empire Technology Development Llc Scheduling computing tasks for multi-processor systems
US9049274B2 (en) 2013-05-03 2015-06-02 James Siminoff System and method for automatic call scheduling
JP6180022B2 (ja) 2013-09-27 2017-08-16 株式会社日本総合研究所 コールセンタ応答制御システム及びその応答制御方法
US10075592B2 (en) 2013-11-19 2018-09-11 Gen3Ventures, LLC Intelligent call lead generation
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US9721570B1 (en) * 2013-12-17 2017-08-01 Amazon Technologies, Inc. Outcome-oriented dialogs on a speech recognition platform
US10469663B2 (en) 2014-03-25 2019-11-05 Intellisist, Inc. Computer-implemented system and method for protecting sensitive information within a call center in real time
WO2015151248A1 (ja) 2014-04-02 2015-10-08 ソフトバンク株式会社 通信システム及び通信方法
CN106604928A (zh) 2014-04-02 2017-04-26 罗契斯特大学 用于α‑螺旋拟态的大环肽模拟物
US9754284B2 (en) 2014-05-22 2017-09-05 Excalibur Ip, Llc System and method for event triggered search results
US20150347399A1 (en) 2014-05-27 2015-12-03 Microsoft Technology Licensing, Llc In-Call Translation
US10104178B2 (en) 2014-05-27 2018-10-16 Genesys Telecommunications Laboratories, Inc. System for managing communications activated by a trigger event
US10432742B2 (en) 2014-06-06 2019-10-01 Google Llc Proactive environment-based chat information system
US9516167B2 (en) 2014-07-24 2016-12-06 Genesys Telecommunications Laboratories, Inc. Media channel management apparatus for network communications sessions
US9407762B2 (en) 2014-10-10 2016-08-02 Bank Of America Corporation Providing enhanced user authentication functionalities
CN105592237B (zh) 2014-10-24 2019-02-05 ***通信集团公司 一种会话切换的方法、装置及智能客服机器人
US9921922B2 (en) 2014-11-18 2018-03-20 Globally Tele-Connected, Llc System, method and computer program product for contact information backup and recovery
US10091356B2 (en) 2015-01-06 2018-10-02 Cyara Solutions Pty Ltd Interactive voice response system crawler
US10291776B2 (en) 2015-01-06 2019-05-14 Cyara Solutions Pty Ltd Interactive voice response system crawler
CN107113346A (zh) 2015-01-16 2017-08-29 株式会社Ntt都科摩 通信终端装置、传出呼叫控制方法和程序
KR102217220B1 (ko) 2015-02-02 2021-02-18 삼성전자주식회사 통화 예약을 수행하는 전자 장치 및 방법
US20160277569A1 (en) 2015-03-16 2016-09-22 Tsemed Pitronot Ltd System and method for coordinating calls between two or more communication devices
CN106303102A (zh) 2015-06-25 2017-01-04 阿里巴巴集团控股有限公司 自动化外呼方法、装置及***
JP6100326B2 (ja) 2015-07-15 2017-03-22 ソフトバンク株式会社 自動音声応答システム
US9473637B1 (en) 2015-07-28 2016-10-18 Xerox Corporation Learning generation templates from dialog transcripts
US20170039194A1 (en) 2015-08-03 2017-02-09 EDCO Health Information Soultions, Inc. System and method for bundling digitized electronic records
US20170061091A1 (en) 2015-08-26 2017-03-02 Uptake Technologies, Inc. Indication of Outreach Options for Healthcare Facility to Facilitate Patient Actions
US20170177298A1 (en) 2015-12-22 2017-06-22 International Business Machines Corporation Interacting with a processing stsyem using interactive menu and non-verbal sound inputs
US20170289332A1 (en) 2016-03-30 2017-10-05 Tal Lavian Systems and Methods for Visual Presentation and Selection of IVR Menu
KR102615111B1 (ko) 2016-06-13 2023-12-20 구글 엘엘씨 인간 운영자로의 에스컬레이션
US10827064B2 (en) 2016-06-13 2020-11-03 Google Llc Automated call requests with status updates
US10593349B2 (en) 2016-06-16 2020-03-17 The George Washington University Emotional interaction apparatus
US9992335B2 (en) * 2016-10-28 2018-06-05 Microsoft Technology Licensing, Llc Caller assistance system
US20180133900A1 (en) 2016-11-15 2018-05-17 JIBO, Inc. Embodied dialog and embodied speech authoring tools for use with an expressive social robot
US10257352B2 (en) 2017-03-01 2019-04-09 International Business Machines Corporation End user experience via distributed option tree generation
US10666581B2 (en) 2017-04-26 2020-05-26 Google Llc Instantiation of dialog process at a particular child node state
CN109564572A (zh) 2017-04-27 2019-04-02 微软技术许可有限责任公司 生成用于自动聊天的问题-答案对
US20190082043A1 (en) 2017-09-14 2019-03-14 Tal Lavian Systems and methods for visual presentation and selection of ivr menu
US10944864B2 (en) 2019-03-26 2021-03-09 Ribbon Communications Operating Company, Inc. Methods and apparatus for identification and optimization of artificial intelligence calls
US11303749B1 (en) * 2020-10-06 2022-04-12 Google Llc Automatic navigation of an interactive voice response (IVR) tree on behalf of human user(s)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010258855A (ja) * 2009-04-27 2010-11-11 Hitachi Electronics Service Co Ltd Ivrシステム
KR20170013884A (ko) * 2014-06-11 2017-02-07 알리바바 그룹 홀딩 리미티드 음성 표시
JP2017188886A (ja) * 2016-04-05 2017-10-12 キャラ ソリューションズ プロプライエタリー リミテッドCyara Solutions Pty Ltd 対話式音声応答システム・クローラ
US10447860B1 (en) * 2017-05-17 2019-10-15 Amazon Technologies, Inc. Interactive voice response using a cloud-based service

Also Published As

Publication number Publication date
US11843718B2 (en) 2023-12-12
JP2023535120A (ja) 2023-08-16
KR20240006719A (ko) 2024-01-15
CN115668904A (zh) 2023-01-31
KR102624148B1 (ko) 2024-01-11
US20220201119A1 (en) 2022-06-23
EP4128730A1 (en) 2023-02-08
JP7494319B2 (ja) 2024-06-03
WO2022076009A1 (en) 2022-04-14
US11303749B1 (en) 2022-04-12
US20240031483A1 (en) 2024-01-25
US20220109753A1 (en) 2022-04-07

Similar Documents

Publication Publication Date Title
KR102624148B1 (ko) 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색
US11887595B2 (en) User-programmable automated assistant
US20230252975A1 (en) Routing for chatbots
US11322140B2 (en) Providing prompt in an automated dialog session based on selected content of prior automated dialog session
EP3465676B1 (en) Nondeterministic task initiation by a personal assistant module
EP3446218B1 (en) Providing a personal assistant module with a selectively-traversable state machine
KR20210111343A (ko) 적절한 에이전트의 자동화된 어시스턴트 호출
WO2019040591A1 (en) FACILITATION OF USER DEVICE ACTIONS AND / OR AGENT DEVICE DURING A COMMUNICATION SESSION
US20240169155A1 (en) Automatic out of scope transition for chatbot
US12033634B1 (en) Disambiguating contacts using relationship data
US20210250438A1 (en) Graphical User Interface for a Voice Response System
KR102631797B1 (ko) 사람 참가자를 대신하여 자동화된 어시스턴트에 의한 준-위임 호출
KR20190103928A (ko) 대화 세션 내의 이전의 이력 정보를 이용하여, 사용자간 대화 세션에 대한 모니터링에 기초해서 능동적으로 주문 또는 예약 서비스를 제공하는 대화형 ai 에이전트 시스템, 방법 및 컴퓨터 판독가능 기록 매체

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant