KR20240046508A - 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이 - Google Patents

통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이 Download PDF

Info

Publication number
KR20240046508A
KR20240046508A KR1020247005486A KR20247005486A KR20240046508A KR 20240046508 A KR20240046508 A KR 20240046508A KR 1020247005486 A KR1020247005486 A KR 1020247005486A KR 20247005486 A KR20247005486 A KR 20247005486A KR 20240046508 A KR20240046508 A KR 20240046508A
Authority
KR
South Korea
Prior art keywords
call
selection
options
option
audio data
Prior art date
Application number
KR1020247005486A
Other languages
English (en)
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 claimed from PCT/US2022/037550 external-priority patent/WO2023027833A1/en
Publication of KR20240046508A publication Critical patent/KR20240046508A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/40Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/42Graphical user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • H04M2203/2038Call context notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/25Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service
    • H04M2203/251Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service where a voice mode or a visual mode can be used interchangeably
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/25Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service
    • H04M2203/251Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service where a voice mode or a visual mode can be used interchangeably
    • H04M2203/252Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service where a voice mode or a visual mode can be used interchangeably where a voice mode is enhanced with visual information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/55Aspects of automatic or semi-automatic exchanges related to network data storage and management
    • H04M2203/551Call history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

구현예는 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이와 관련된다. 일부 구현예에서, 컴퓨터로 구현되는 방법은 통화 디바이스와 타겟 엔터티와 연관된 디바이스 사이의 통화에서 출력되는 오디오 데이터를 수신하는 것을 포함한다. 상기 오디오 데이터는 통화 디바이스의 사용자가 통화에서 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함한다. 텍스트는 오디오 데이터를 프로그램적으로 분석하여 결정되며, 텍스트는 스피치를 나타낸다. 선택 옵션은 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하여 결정된다. 텍스트의 적어도 일부는 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로서 통화 중에 통화 디바이스에 의해 디스플레이된다. 시각적 옵션은 각각 사용자 입력을 통해 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 수행하게 한다.

Description

통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이
관련 출원에 대한 상호 참조
본 출원은 2021년 12월 2일에 출원된 "Determination and Visual Display of Spoken Menus for Calls"라는 명칭의 미국 특허 출원 번호 17/540,895에 대해 우선권을 주장하며, 이 출원은 2021년 8월 24일 출원된 "Determination and Visual Display of Spoken Menus for Calls"이라는 명칭의 미국 가특허 출원 번호 제63/236,651호에 대해 우선권을 주장하며, 두 출원 모두 본 문서에 전체 내용이 참조로서 통합된다.
많은 업체와 기타 조직은 업체에 전화를 거는 발신자를 위해 IVR(대화형 음성 응답)이라고도 알려진 자동 전화 메뉴를 제공한다. 일반적으로 업체에 전화를 건 발신자는 발신자가 선택할 수 있는 여러 옵션 메뉴를 음성으로 설명하는 자동 음성을 수신한다. 종종 이러한 옵션 세트의 계층 구조가 제시되어, 발신자가 옵션을 통해 원하는 결과를 탐색할 수 있다. 예를 들어, 발신자는 특정 정보 수신, 업체의 제품 또는 서비스 요청, 상담원과의 통화 등을 원할 수 있다. 발신자는 자동화된 시스템에서 검출하고 인식하는 숫자, 단어 또는 문구를 말하거나 옵션과 연관된 키를 누름으로써 통화 메뉴에서 옵션을 선택할 수 있다.
본 명세서에 제공된 배경기술은 본 발명의 컨텍스트를 일반적으로 제시하기 위한 목적이다. 본 배경기술 섹션에서 기술되는 범위까지 현재 명명된 발명자들의 성과 뿐만 아니라 출원 시점에 선행기술로서 인정되지 않는 기술의 양태들은 본 발명에 대한 선행기술로서 명시적으로 또는 묵시적으로도 인정되지 않는다.
본 출원의 구현예는 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이와 애플리케이션 관련된다. 일부 구현예에서, 컴퓨터로 구현되는 방법은 통화 디바이스와 타겟 엔터티와 연관된 디바이스 사이의 통화에서 출력되는 오디오 데이터를 수신하는 것을 포함한다. 상기 오디오 데이터는 통화 디바이스의 사용자가 통화에서 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함한다. 텍스트는 오디오 데이터를 프로그램적으로 분석하여 결정되며, 텍스트는 오디오 데이터에서의 스피치를 나타낸다. 선택 옵션은 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하여 결정된다. 텍스트의 적어도 일부는 통화 중에 통화 디바이스에 의해 디스플레이되어, 텍스트는 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로서 디스플레이된다. 시각적 옵션은 각각 사용자 입력을 통해 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 수행하게 한다.
방법의 다양한 구현예 및 예시가 설명된다. 예를 들면, 일부 구현예에서, 상기 방법은 하나 이상의 시각적 옵션의 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 타겟 엔터티와 연관된 디바이스에 선택의 표시가 보내지게 하는 단계를 포함하며, 표시는 키패드의 키의 누름에 대응하는 신호이며, 키는 특정 시각적 옵션 또는 통화에서 통화 디바이스에 의해 제공된 스피치와 연관되며, 스피치는 특정 시각적 옵션과 연관된 지정자를 포함한다. 일부 구현예에서, 상기 하나 이상의 시각적 옵션은 통화 디바이스의 터치스크린 상의 터치 입력을 통해 각각 선택 가능하다.
일부 구현에서, 오디오 데이터는 제1 오디오 데이터이고, 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 방법은 상기 통화에서 제2 오디오 데이터를 수신하는 단계, 상기 제2 오디오 데이터는 하나 이상의 제2 선택 옵션을 나타내는 제2 스피치를 포함하며; 제2 오디오 데이터에서 제2 스피치를 나타내는 제2 텍스트를 결정하기 위해 제2 오디오 데이터를 프로그램적으로 분석하는 단계, 제2 텍스트 또는 제2 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 제2 선택 옵션을 결정하는 단계, 및 제2 텍스트의 적어도 일부가 제2 선택 옵션에 대응하는 하나 이상의 제2 시각적 옵션으로서 통화 디바이스에 의해 디스플레이되게 하는 단계를 더 포함하며, 하나 이상의 제2 시각적 옵션은 제2 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 한다. 일부 구현예에서, 상기 하나 이상의 선택 옵션은 복수의 선택 옵션이고, 상기 방법은 상기 통화 메뉴에서 상기 복수의 선택 옵션의 계층 구조를 결정하기 위해 상기 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 단계를 더 포함한다. 일부 구현예에서, 방법은 하나 이상의 선택 옵션이 통화 디바이스의 스토리지 및/또는 통신 네트워크를 통해 통화 디바이스와 통신하는 원격 디바이스의 스토리지에 저장되게 하는 단계, 및 통화 디바이스와 타겟 엔터티 간의 다음 통화에 대한 하나 이상의 선택 옵션을 검색하는 단계를 더 포함한다.
일부 구현에서, 상기 방법은 오디오 데이터를 수신하기 전에, 하나 이상의 선택 옵션을 포함하는 선택 옵션 데이터를 획득하는 단계, 및 상기 통화 디바이스가 상기 하나 이상의 선택 옵션을 나타내는 스피치를 포함하는 오디오 데이터를 수신하기 전에 상기 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션이 상기 통화 디바이스에 의해 디스플레이되게 하는 단계를 더 포함한다. 일부 예시에서, 상기 선택 옵션 데이터에서 선택 옵션은 이전 통화 동안 수신된 오디오 데이터를 프로그램적으로 분석함으로써 결정된다. 예를 들어, 일부 구현예에서, 획득된 선택 옵션 데이터는 통화 개시 전에 통화 디바이스에 캐싱되고, 획득된 선택 옵션 데이터는 통화 디바이스의 지리적 영역에서 발신자에 의해 이전에 호출된 엔터티 식별자와 연관되며, 이전에 적어도 임계 횟수만큼 호출되었거나 획득된 선택 옵션 데이터와 연관되지 않은 다른 엔터티 식별자보다 이전에 더 많은 횟수로 호출되었던 엔터티 식별자와 연관된다.
일부 구현예에서, 통화 중에 시각적 표시자가 디스플레이되게 하며, 상기 시각적 표시자는 통화 중에 디스플레이되는 시각적 옵션의 텍스트의 특정 부분을 강조하고, 상기 텍스트의 특정 부분은 통화 중에 오디오 데이터의 스피치에서 수신되고 있는 것이다. 일부 구현예에서, 상기 방법은 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션을 비교하는 단계 및 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이에 불일치가 존재하는지 여부를 결정하는 단계를 더 포함한다. 다양한 구현예에서, 상기 방법은 상기 불일치를 결정하는 것에 응답하여, 불일치의 알림이 통화 디바이스에 의해 출력되게 하는 단계 및/또는 오디오 데이터로부터 결정된 하나 이상의 선택 옵션과 일치하도록 선택 옵션 데이터를 수정하는 단계를 더 포함한다. 일부 구현예에서, 선택 옵션 데이터를 하나 이상의 선택 옵션과 비교하는 단계는 상기 선택 옵션 데이터의 텍스트와 하나 이상의 선택 옵션의 텍스트를 비교하는 것, 및/또는 상기 선택 옵션 데이터의 오디오 데이터와 통화 중에 수신된 오디오 데이터를 비교하는 것을 포함한다.
일부 구현예에서, 통화에 대한 선택 옵션을 디스플레이하는 통화 디바이스는 명령어를 저장하는 메모리, 디스플레이 디바이스 및 메모리에 연결된 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 동작들을 수행하기 위해 메모리로부터 명령어에 액세스하도록 구성된다. 상기 동작들은 통화 디바이스와 타겟 엔터티와 연관된 디바이스 간의 통화에서 오디오 데이터를 수신하는 동작, 상기 오디오 데이터는 통화 디바이스의 사용자가 통화에서 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함하며; 상기 오디오 데이터에서 스피치를 나타내는 텍스트를 결정하기 위해 오디오 데이터를 프로그램적으로 분석하는 동작; 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 선택 옵션을 결정하는 동작; 및 통화 중에 텍스트의 적어도 일부가 디스플레이 디바이스에 의해 디스플레이되게 하는 동작을 포함하며, 상기 텍스트의 일부는 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로 디스플레이되며, 하나 이상의 시각적 옵션은 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 한다.
통화 디바이스의 다양한 구현예에서, 상기 동작들은 하나 이상의 시각적 옵션 중 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 선택의 표시가 타겟 엔터티와 연관된 디바이스에 전송되게 하는 동작을 더 포함하고, 상기 표시는 키패드의 키의 누름에 대응하는 신호이며, 키는 특정 시각적 옵션 또는 통화에서 통화 디바이스에 의해 제공된 스피치와 연관되며, 스피치는 특정 시각적 옵션과 연관된 지정자를 포함한다. 일부 구현예에서, 상기 동작들은 오디오 데이터를 수신하기 전에, 상기 통화 메뉴의 하나 이상의 선택 옵션과 상기 하나 이상의 선택 옵션의 계층 구조를 포함하는 선택 옵션 데이터를 획득하는 동작, 및 상기 통화 디바이스가 상기 하나 이상의 선택 옵션을 나타내는 스피치를 포함하는 오디오 데이터를 수신하기 전에 상기 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션이 상기 디스플레이 디바이스에 의해 디스플레이되게 하는 동작을 더 포함한다.
일부 구현예에서, 상기 동작들은 통화 중에 시각적 표시자가 디스플레이되게 하는 동작을 더 포함하며, 상기 시각적 표시자는 통화 중에 디스플레이되는 하나 이상의 시각적 옵션의 텍스트의 특정 부분을 강조하고, 상기 텍스트의 특정 부분은 통화 중에 오디오 데이터의 스피치에서 발화되고 있는 것이다. 일부 구현예에서, 상기 동작들은 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션을 비교하는 동작 및 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이에 불일치가 존재하는지 여부를 결정하는 동작을 더 포함한다. 다양한 구현예에서, 프로세서에 의해 수행되는 동작들은 상기 방법의 하나 이상의 구성을 포함할 수 있다.
일부 구현예에서, 명령어가 저장된 비일시적 컴퓨터 판독가능 매체로서 상기 명령어는 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 한다. 상기 동작들은 통화 디바이스와 타겟 엔터티와 연관된 디바이스 간의 통화에서 오디오 데이터를 수신하는 동작, 상기 오디오 데이터는 통화 디바이스의 사용자가 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함하며; 상기 오디오 데이터에서 스피치를 나타내는 텍스트를 결정하기 위해 오디오 데이터를 프로그램적으로 분석하는 동작; 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 선택 옵션을 결정하는 동작; 및 통화 중에 텍스트의 적어도 일부가 통화 디바이스에 의해 디스플레이되게 하는 동작을 포함하며, 상기 텍스트의 일부는 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로 디스플레이되며, 하나 이상의 시각적 옵션은 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 한다. 다양한 구현예에서, 프로세서에 의해 수행되는 동작들은 상기 방법 또는 통화 디바이스의 하나 이상의 구성을 포함할 수 있다.
도 1은 본 명세서에 기술된 하나 이상의 구현예에 대해 사용될 수 있는 예시적 시스템의 블록도이다.
도 2는 일부 구현예에 따라 통화에 대한 음성 메뉴를 결정하고 시각적으로 디스플레이하는 예시적 방법을 도시하는 흐름도이다.
도 3은 일부 구현예에 따라 획득된 데이터 및/또는 통화에 기초하여 엔터티의 선택 옵션을 획득하는 예시적 방법을 나타내는 흐름도이다.
도 4는 일부 구현예에 따라 통화로부터의 오디오 데이터를 프로세싱하고 오디오 데이터에 기초하여 시각적 옵션을 디스플레이하거나 업데이트하는 예시적 방법을 나타내는 흐름도이다.
도 5는 일부 구현예에 따라 통화가 개시될 수 있는 통화 디바이스에 의해 디스플레이되는 사용자 인터페이스의 개략도이다.
도 6 내지 10은 일부 구현예에 따라 통화 중 통화 메뉴에 대한 선택 옵션이 디스플레이되고 선택되는 통화 디바이스에 의해 디스플레이되는 사용자 인터페이스의 개략도이다.
도 11 내지 14는 일부 구현예에 따라 통화 중에 대응하는 선택 옵션을 말하기 전에 통화 메뉴의 시각적 옵션이 디스플레이되는 통화 디바이스에 의해 디스플레이되는 사용자 인터페이스의 개략도이다.
도 15는 본 명세서에 기술된 하나 이상의 구현예에 대해 사용될 수 있는 예시적 디바이스의 블록도이다.
본 명세서에 기술된 하나 이상의 구현예는 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이에 관한 것이다. 다양한 구현예에서, 스피치를 포함하는 오디오 데이터는 사용자의 통화 디바이스와 타겟 엔터티(예: 사람 또는 업체) 간의 통화로부터 획득된다. 타겟 엔터티는 자동화된 음성 시스템(예: 대화형 음성 응답, IVR 또는 자동 응답기 사용)이나 상담원을 사용할 수 있다. 스피치는 사용자가 원하는 결과(정보 수신, 상담원과의 통화 등)를 얻기 위해 탐색할 수 있는 통화 메뉴의 선택 옵션을 포함한다. 선택 옵션을 설명하는 스피치를 나타내는 통화 오디오 데이터로부터 텍스트가 인식된다. 선택 옵션은 텍스트 및/또는 오디오 데이터 분석에 기초하여 검출된다. 텍스트의 적어도 일부는 선택 옵션에 대응하는 시각적 옵션으로서 통화 중에 통화 디바이스에 의해 디스플레이된다. 시각적 옵션은 각각 사용자 입력을 통해 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 수행하게 한다.
다양한 추가적 구성이 설명된다. 예를 들어, 일부 구현예에서, 사용자에 의한 특정 시각적 옵션의 선택은 상기 선택이 타겟 엔터티로 보내지도록 하며, 이는 통화 디바이스의 키패드의 적절한 키를 누르는 것에 대응하는 신호일 수 있거나, 시각적 옵션을 선택하는 통화 디바이스에서 제공하는 스피치일 수 있다. 오디오 데이터 및/또는 텍스트를 분석하여 통화 메뉴 선택 옵션의 계층 구조를 결정할 수 있다.
일부 구현예에서, 선택 옵션 데이터는 통화 전에 통화 디바이스에 의해 획득되며, 예를 들어 다양한 엔터티에 대한 선택 옵션 데이터를 저장하는 서버 또는 다른 원격 디바이스로부터 통화 디바이스에 의해 수신된다. 일부 예에서, 선택 옵션 데이터는 통화 디바이스에 의한 엔터티에 대한 이전 통화의 오디오 데이터로부터 결정되었을 수 있다. 통화 디바이스는 통화에 앞서 다양한 엔터티 및/또는 엔터티 식별자(예: 엔터티의 전화번호, 이메일 주소, 인스턴트 메시징 또는 OTT(over-the-top) 서비스 식별자 등)에 대한 선택 옵션 데이터를 미리 다운로드하고 캐싱할 수 있다. 일부 예에서, 캐싱된 선택 옵션 데이터는 사용자가 더 자주 통화한(예를 들어, 엔터티 식별자 세트 중 가장 많이 통화한) 엔터티 식별자에 대한 것일 수 있거나, 통화 디바이스의 지리적 영역(또는 임계 거리) 내의 사용자가 적어도 임계 횟수만큼 통화한 엔터티 식별자에 대한 것일 수 있다.
캐싱된 선택 옵션을 사용하면, 통화 전이나 통화 도중, 통화 중인 타겟 엔터티가 선택 옵션을 말하기 전에 대응하는 시각적 옵션이 디스플레이될 수 있다. 일부 구현예에서, 통화 중에 말한 선택 옵션을 캐싱된 선택 옵션 데이터와 비교할 수 있으며, 이러한 옵션 버전 간에 불일치가 검출되면 사용자에게 불일치를 알리거나 및/또는 현재 통화의 스피치 데이터로부터 결정된 선택 옵션과 일치하도록 선택 옵션 데이터를 수정할 수 있다. 일부 구현예에서, 통화 중에 현재 말하고 있는 시각적 옵션의 텍스트의 특정 부분을 강조하는 시각적 표시자가 통화 중에 디스플레이된다.
설명된 기법과 구성에는 몇 가지 장점이 있다. 설명된 구현예는 통화 중 오디오 통화 메뉴의 시각적 표현을 제공할 수 있다. 이는 오디오 통화 메뉴가 종종 길고, 필요한 옵션을 찾기 위해 긴 오디오 메시지를 듣는데 사용자의 상당한 인지 부하를 부과하기 때문에 사용자가 통화 메뉴를 탐색하는데 크게 도움이 될 수 있다. 통화 디바이스에 통화 메뉴의 대응하는 시각적 버전을 제시하면 사용자가 어떤 옵션이 제시되고 있고 어떤 옵션이 사용자가 관심이 있는지 결정하는데 큰 도움이 될 수 있다. 더욱이, 디스플레이된 시각적 옵션은 사용자에 의해 직접적으로 실행 가능하고 선택 가능하므로, 사용자는 예를 들어 터치스크린 상의 터치를 통해 옵션의 간단한 선택을 사용하여 시각적 옵션을 선택할 수 있다. 따라서 설명된 구성을 통해 복잡한 오디오 경험은 단순한 시각적 경험으로 변환된다.
또한 일부 구현예에서, 통화에서 타겟 엔터티가 이러한 옵션을 말하기 전에 통화 메뉴의 옵션을 시각적 형식으로 제시할 수 있다. 이를 통해 사용자는 통화 메뉴를 미리 볼 수 있으며, 일부 통화 메뉴에서는 해당 옵션이 말해지기 전에 사용자가 메뉴 옵션을 선택하여 타겟 엔터티가 통화 중 나머지 옵션이 말해지는 것을 듣기를 기다리지 않고 사용자가 즉시 통화 메뉴를 다른 레벨로 진행할 수 있도록 한다. 메뉴의 시각적 형식을 통해 사용자는 메뉴의 음성 부분을 미리 살펴보고, 원하는 옵션을 찾고, 오디오 형식으로 옵션을 들은 다음 원하는 옵션을 찾아 선택할 때보다 훨씬 더 빠르게 옵션을 선택할 수 있다.
하나 이상의 설명된 구현예의 기술적 효과는 디바이스가 결과를 얻기 위해 더 적은 계산 리소스를 소비한다는 것이다. 예를 들어, 설명된 기법의 기술적 효과는 설명된 기법 또는 구성 중 하나 이상을 제공하지 않는 종전 시스템과 비교하여 시스템 프로세싱 리소스 및 전력 리소스의 소비의 감소이다. 예를 들어, 그러한 종전 시스템은 어떤 옵션이 사용자의 요구에 가장 적합한지 결정하기 전에 통화 중에 이용 가능한 옵션의 출력을 듣는데 상당한 시간을 소비하도록 사용자에게 요구할 수 있다. 일부 경우에, 이러한 종전 시스템에서, 사용자는 음성 옵션 메시지의 길이로 인해 이전에 어떤 메뉴 옵션이 제시되었는지 잊어버릴 수 있고, 이용 가능한 옵션을 이해하기 위해 메뉴를 다시 재생하거나 다시 전화해야 하므로 더 많은 시간을 소비하게 된다. 이렇게 긴 통화 시간은 시스템 리소스를 낭비하게 한다. 본 명세서에 기술된 구성은 예를 들어 통화 메뉴에 대한 선택 옵션을 디스플레이하여 사용자가 사용 가능한 통화 옵션을 보고 원하는 옵션을 더 빠르게 선택할 수 있게 하고, 통화 지속시간을 줄이고 더 적은 수의 통화가 개시되도록 함으로써 이러한 단점을 줄일 수 있고, 따라서 통화 디바이스, 타겟 엔터티 디바이스 및 통화를 활성화하기 위해 통화 디바이스와 통신하는 기타 디바이스의 전반적인 프로세싱 및 전력 요구사항을 낮춘다.
또한 일부 구현예에서, 통화 중에 해당 옵션을 말하기 전에 시각적 통화 메뉴 옵션이 디스플레이된다. 사용자는 대응하는 음성 옵션에 앞서 시각적 옵션을 스캔하고, 원하는 옵션을 찾고, 옵션이 오디오 형식으로만 있을 때보다 훨씬 빠르게 옵션을 선택할 수 있다. 이러한 구성은 사용자가 이전에 듣거나 접한 적이 없는 통화 메뉴를 빠르게 탐색하는 것을 포함하여 사용자가 더 빠른 속도로 통화 메뉴를 탐색할 수 있게 함으로써 통화 지속시간을 줄이고 통화 디바이스 및 엔터티 디바이스의 프로세싱 리소스를 절약한다.
더욱이, 일부 구현예에서, 통화에 앞서 선택 옵션을 제공하는 선택 옵션 데이터는 통화 개시 전에 통화 디바이스에 다운로드되어 캐싱될 수 있으므로, 통화 중에 프로세싱 및 네트워크 리소스의 소비가 감소될 수 있다. 더욱이, 일부 구현예에서, 음성 선택 옵션은 통화 중에 검출될 수 있고, 캐싱된 선택 옵션 데이터와 비교되어 디스플레이된 옵션이 음성 옵션과 다른지 여부를 결정하여, 그렇지 않을 경우 사용자가 잘못되거나 원하지 않는 옵션을 보고 선택하는 경우 통화 디바이스의 프로세싱 및 네트워크 리소스를 낭비할 수 있는 오류나 불일치를 검출할 수 있다. 더욱이, 설명된 기법의 일부 구현예는 이용가능하지 않을 수 있는 엔터티 또는 연관된 엔터티로부터 직접 수신될 선택 옵션 데이터를 요구하지 않고, 사용자 및 사용자 통화 디바이스(예를 들어, 클라이언트 디바이스)에 의한 이전 통화로부터 도출된 데이터에 기초하여 통화 전에 및/또는 통화에서 이들 옵션이 발화되기 전에 통화 메뉴의 디스플레이된 선택 옵션을 제공할 수 있다.
본 명세서의 기술에 더하여, 사용자가 본 명세서에 기술된 시스템들, 프로그램들 또는 구성들이 사용자 정보(예를 들어, 통화한 엔터티 및 엔터티 식별자를 특정하는 사용자의 통화 기록, 소셜 네트워크, 사회적 액션 또는 활동, 직업, 통화 메뉴를 포함하는 사용자의 선호, 사용자의 현재 위치, 사용자의 메시지, 사용자가 발신한 통화, 통화의 오디오 데이터 또는 사용자의 디바이스에 관한 정보)의 수집을 하는 경우 및 콘텐츠 또는 서버로부터 통신에 사용자가 전송되는 경우에 관한 선택을 하게 하는 제어들이 사용자에게 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 어떤 정보가 수집될지, 정보가 어떻게 사용될지, 그리고 어떤 정보가 사용자에게 제공될지에 관한 제어를 가질 수 있다.
도 1은 본 명세서에 기술된 일부 구현예에 대해 사용될 수 있는 예시적 네트워크 환경(100)의 블록도를 도시한다. 일부 구현예에서, 네트워크 환경(100)은 하나 이상의 서버 디바이스, 예를 들어, 도 1의 예에서 서버 시스템(102) 을 포함한다. 서버 시스템(102)은 예를 들어 네트워크(130)와 통신할 수 있다. 서버 시스템(102)은 서버 디바이스(104) 및 데이터베이스(106) 또는 다른 저장 디바이스를 포함할 수 있다. 네트워크 환경(100)은 또한 네트워크 연결(130)을 통해 서버(102), 서로 및/또는 다른 디바이스와 통신할 수 있는 하나 이상의 클라이언트 디바이스, 예를 들어 클라이언트 디바이스(120, 122, 124, 126)를 포함한다. 네트워크(130)는 인터넷, 근거리 통신망(LAN), 무선 네트워크, 스위치 또는 허브 연결 중 하나 이상을 포함하는 임의의 유형의 통신 네트워크일 수 있다. 일부 구현예에서, 네트워크(130)는 예를 들어, 피어 투 피어 무선 프로토콜(예를 들어, Bluetooth®Wi-Fi Direct 등)을 사용하는 또는 다른 클라이언트 디바이스에 대해 서버로서 작동하는 하나의 클라이언트 디바이스를 갖는 디바이스들(120-126) 간의 피어 투 피어 통신을 포함할 수 있다. 두 클라이언트 디바이스(120 및 122) 간의 피어 투 피어 통신의 일 예가 화살표(132)에 의해 도시된다.
설명의 편의를 위해, 도 1은 서버 시스템(102), 서버 디바이스(104) 및 데이터베이스(106)에 대한 하나의 블록을 나타내고, 클라이언트 디바이스(120, 122, 124, 126)에 대한 네 개의 블록을 나타낸다. 서버 블록(102, 104 및 106)은 다수의 시스템, 서버 디바이스 및 네트워크 데이터베이스를 나타낼 수 있으며 블록들은 도시된 것과 다른 구성으로 제공될 수 있다. 예를 들어, 서버 시스템(102)은 예를 들어, 네트워크(130)를 통해 다른 서버 시스템과 통신할 수 있는 다수의 서버 시스템을 나타낼 수 있다. 일부 구현예에서, 서버 시스템(102)은 예를 들어 클라우드 호스팅 서버 또는 통화 서비스(예를 들어, VOIP(Voice over Internet Protocol))를 제공하는 서버를 포함할 수 있다. 일부 예에서, 데이터베이스(106) 및/또는 다른 저장 디바이스는 서버 디바이스(104)와 별개이고 네트워크(130)를 통해 서버 디바이스(104) 및 다른 서버 시스템과 통신할 수 있는 서버 시스템 블록(들)에 제공될 수 있다. 또한 임의의 수의 클라이언트 디바이스가 있을 수 있다. 일부 예에서, 서버 시스템(102)은 네트워크 연결(130)을 통해 클라이언트 디바이스와 무선으로 통신하며, 클라이언트 디바이스는 서버 모바일 디바이스로부터의 신호에 의해 활성화되거나 보완될 수 있는 다양한 기능을 제공한다.
서버 시스템(102) 및 클라이언트 디바이스(120-126)는 다양한 애플리케이션에서 사용되는 임의의 유형의 디바이스, 예를 들어 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대용 또는 모바일 디바이스, 휴대폰, 스마트폰, 태블릿 컴퓨터, 텔레비전, TV 셋톱 박스 또는 엔터테인먼트 디바이스, 웨어러블 디바이스(예: 디스플레이 안경 또는 고글, 헤드 마운트 디스플레이(HMD), 이어피스, 이어버드, 피트니스 밴드, 손목시계, 헤드셋, 완장, 보석류 등), 가상 현실(VR) 및/또는 증강 현실(AR) 지원 디바이스, PDA(Personal Digital Assistant), 미디어 플레이어, 게임 디바이스 등일 수 있다. 일부 클라이언트 디바이스들은 또한 데이터베이스(106) 또는 기타 저장소와 유사한 로컬 데이터베이스를 가질 수 있다. 다른 구현예에서, 네트워크 환경(100)은 설명된 컴포넌트들 모두를 갖지 않을 수 있고 및/또는 여기에 도시된 것들 대신에 또는 이에 추가하여 다른 유형의 엘리먼트들을 포함하는 다른 엘리먼트들을 가질 수 있다.
다양한 구현예에서, 클라이언트 디바이스(120-126)는 각각의 클라이언트 디바이스 및/또는 서버 시스템(102)에서 실행되는 애플리케이션을 통해 서버 시스템(102)과 인터렉션할 수 있다. 예를 들어, 각각의 클라이언트 디바이스들(120, 122, 124, 126)은 서버 시스템(102)과 데이터를 주고받을 수 있다. 일부 구현예에서, 서버 시스템(102)은 콘텐츠 데이터(예를 들어, 오디오, 이미지, 비디오, 메시지, 이메일 등), 알림, 명령 등과 같은 다양한 데이터를 클라이언트 디바이스의 전체 또는 특정 디바이스에 전송할 수 있다. 각각의 클라이언트 디바이스는 서버 시스템(102)에 적절한 데이터(예: 수신확인, 데이터 요청, 알림, 사용자 명령, 통화 요청 등)를 보낼 수 있다. 일부 예에서, 서버 및 클라이언트 디바이스는 텍스트 데이터, 오디오 데이터, 비디오 데이터, 이미지 데이터 또는 기타 유형의 데이터를 포함하는 다양한 형태의 데이터를 통신할 수 있다.
다양한 구현예에서, 최종 사용자(U1, U2, U3, 및 U4)는 각각의 클라이언트 디바이스(120, 122, 124, 126)를 사용하여 서버 시스템(102) 및/또는 서로 통신할 수 있다. 일부 예에서, 사용자들(U1, U2, U3 및 U4)는 각각의 클라이언트 디바이스 및/또는 서버 시스템(102)에서 실행되는 애플리케이션을 통해, 및/또는 네트워크 서비스, 예를 들어, 소셜 네트워크 서비스 또는 서버 시스템(102)에서 구현되는 다른 유형의 네트워크 서비스를 통해 서로 인터렉션할 수 있다. 일부 구현예에서, 서버 시스템(102)은 클라이언트 디바이스에 적절한 데이터를 제공하여, 각 클라이언트 디바이스가 서버 시스템(102) 및/또는 네트워크 서비스에 업로드된 통신 콘텐츠 또는 공유 콘텐츠를 수신할 수 있도록 한다. 일부 구현예에서, "사용자"는 시스템 또는 네트워크와 인터페이스하는 사람뿐만 아니라 하나 이상의 프로그램 또는 가상 엔터티를 포함할 수 있다.
클라이언트 디바이스(120, 122, 124, 및/또는 126)의 사용자 인터페이스는 이미지, 비디오, 데이터 및 기타 콘텐츠는 물론 통신(전화 또는 인터넷 전화, 화상 회의, 동기식 또는 비동기식 채팅 등), 개인 정보 설정, 알림 및 기타 데이터를 포함하는 사용자 콘텐츠 및 기타 콘텐츠를 디스플레이하게 한다. 이러한 사용자 인터페이스는 클라이언트 디바이스의 소프트웨어, 서버 디바이스의 소프트웨어 및/또는 서버 디바이스(104)에서 실행되는 클라이언트 소프트웨어와 서버 소프트웨어의 조합, 예를 들어 서버 시스템(102)과 통신하는 애플리케이션 소프트웨어 또는 클라이언트 소프트웨어를 사용하여 디스플레이될 수 있다. 사용자 인터페이스는 클라이언트 디바이스 또는 서버 디바이스의 디스플레이 디바이스, 예를 들어 터치스크린 또는 다른 디스플레이 스크린, 프로젝터 등에 의해 디스플레이될 수 있다. 일부 구현예에서, 서버 시스템에서 실행되는 애플리케이션 프로그램은 클라이언트 디바이스와 통신하여 클라이언트 디바이스에서의 사용자 입력 및 클라이언트 디바이스에서의 시각 데이터, 오디오 데이터 등과 같은 데이터를 출력한다.
서버 및 클라이언트 디바이스에서 실행되는 다양한 애플리케이션 및/또는 운영 체제는 통신 애플리케이션(예: 오디오 통화 또는 음성 통화 연결 및 제공, 화상 회의, 채팅 또는 기타 통신), 이메일 애플리케이션, 콘텐츠 데이터의 디스플레이, 개인정보 설정, 알림, 브라우저 등을 포함하는 다양한 기능을 활성화할 수 있다. 사용자 인터페이스는 클라이언트 디바이스에서 실행되는 애플리케이션 또는 기타 소프트웨어, 서버 디바이스의 소프트웨어 및/또는 서버(102)에서 실행되는 클라이언트 소프트웨어와 서버 소프트웨어의 조합, 예를 들어 서버(102)와 통신하는 애플리케이션 소프트웨어 또는 클라이언트 소프트웨어를 사용하여 클라이언트 디바이스에서 디스플레이될 수 있다. 사용자 인터페이스는 클라이언트 디바이스 또는 서버 디바이스의 디스플레이 디바이스, 예를 들어 디스플레이 스크린(들), 프로젝터 등에 의해 디스플레이될 수 있다. 일부 구현예에서, 서버에서 실행되는 애플리케이션 프로그램은 클라이언트 디바이스와 통신하여 클라이언트 디바이스에서의 사용자 입력 및 클라이언트 디바이스에서의 시각 데이터, 오디오 데이터 등과 같은 데이터를 출력한다. 일부 구현예에서, 네트워크 환경(100)의 하나 이상의 디바이스, 예를 들어 서버 시스템(102)의 하나 이상의 서버는 전자 백과사전, 지식 그래프, 하나 이상의 데이터베이스, 단어 코퍼스, 문구, 기호 및 기타 정보, 소셜 네트워크 애플리케이션(예: 소셜 그래프, 친구를 위한 소셜 네트워크, 비즈니스를 위한 소셜 네트워크 등), 장소 또는 위치에 대한 웹사이트(예: 레스토랑, 자동차 판매점 등), 지도 애플리케이션(예: 지도 위치를 찾는 웹사이트), 통화 특성 및 기타 통화 데이터 등을 유지할 수 있다. 일부 구현예에서, 서버 시스템(102)은 특정 유형의 콘텐츠 아이템(예: 텍스트 또는 이미지)의 분류자를 포함할 수 있으며, 수신된 콘텐츠 아이템에서 특정 클래스가 검출되는지 여부를 결정할 수 있다.
일부 구현예는 컴퓨터 네트워크에서 연결 해제되거나 간헐적으로 연결된 클라이언트 또는 서버 디바이스에서 본 명세서에 기술된 하나 이상의 구성을 제공할 수 있다. 일부 구현예에서, 클라이언트 디바이스는 예를 들어 채팅이나 다른 메시지를 통해 비동기식 통신을 위해 본 명세서에 기술된 기능과 결과를 제공할 수 있다.
기계 학습 모델은 본 명세서에 기술된 바와 같이 서버 시스템(102) 및/또는 하나 이상의 클라이언트 디바이스(120-126)에 의해 사용될 수 있다. 일부 구현예에서, 기계 학습 모델은 네트워크 아키텍처에 따라, 예를 들어 하나 이상의 레이어에 배열된 하나 이상의 노드, 네트워크 아키텍처를 통해 연결된 다양한 노드 및 연관된 가중치를 갖는 신경 네트워크일 수 있다. 예를 들어, 모델의 트레이닝 단계에서, 트레이닝 데이터를 사용하여 모델이 트레이닝될 수 있으며, 추론 단계에서는 트레이닝된 모델이 입력 데이터에 기초하여 출력을 결정할 수 있다. 일부 구현예에서, 모델은 예를 들어 테스트 랩 또는 기타 설정의 테스트 디바이스에서 오프라인으로 트레이닝될 수 있으며, 트레이닝된 모델은 모델을 실행하는 서버에 제공될 수 있다. 일부 구현예에서, 트레이닝된 모델은 디바이스 내에서 로컬로 재트레이닝되거나 업데이트될 수 있으며, 트레이닝되지 않은 모델은 디바이스 내에서 트레이닝될 수 있다. 일부 구현예에서, 사용자 허가를 받아, 연합 학습을 활용하여 하나 이상의 트레이닝된 모델을 업데이트할 수 있고, 예를 들어 개별 서버 디바이스가 각각 로컬 모델 트레이닝을 수행할 수 있고 모델에 대한 업데이트가 집계되어 모델의 하나 이상의 중앙 버전을 업데이트할 수 있다.
도 2는 일부 구현예에 따라 통화에 대한 음성 메뉴를 결정하고 시각적으로 디스플레이하는 예시적 방법(200)을 도시하는 흐름도이다. 일부 구현예에서, 방법(200)은 서버, 예를 들어 도 1에 도시된 바와 같이 서버 시스템(102)에서 구현될 수 있다. 일부 구현예에서, 방법(200)의 블록들의 일부 또는 전부는 하나 이상의 클라이언트 디바이스(도 1에 도시된 바와 같이 클라이언트 디바이스(120, 122, 124 및/또는 126)), 하나 이상의 서버 디바이스, 및/또는 서버 디바이스(들) 및 클라이언트 디바이스(들) 둘 모두에서 구현될 수 있다. 설명된 예에서, 방법(200)의 블록을 구현하는 시스템은 하나 이상의 프로세서 하드웨어 또는 프로세싱 회로("프로세서")를 포함하고, 하나 이상의 저장 디바이스(예를 들어, 데이터베이스(106) 또는 다른 액세스가능한 스토리지)에 액세스할 수 있다. 일부 구현예에서, 하나 이상의 서버의 상이한 컴포넌트는 상이한 블록 또는 블록의 부분을 수행할 수 있다.
일부 구현예에서는 사용자 입력에 기초하여 방법(200) 또는 그 일부를 개시할 수 있다. 예를 들어, 사용자는 디스플레이된 사용자 인터페이스로부터 방법(200)의 개시 또는 방법(200)의 특정 블록을 선택할 수 있다. 일부 구현예에서, 방법(200) 또는 그 부분은 사용자 입력을 통한 사용자의 안내에 따라 수행될 수 있다. 일부 구현예에서, 방법(200) 또는 방법의 일부는 디바이스에 의해 자동으로 개시될 수 있다. 예를 들어, 방법(또는 그 일부)은 주기적으로 개시될 수 있거나, 하나 이상의 특정 이벤트 또는 조건의 발생에 기초하여 개시될 수 있다. 예를 들어, 그러한 이벤트 또는 조건은 엔터티에 대한 통화에서 제공되는 하나 이상의 선택 옵션(예를 들어, 블록(208)이 수행되게 하기 위해)을 나타내는 선택 옵션 데이터를 획득하는 것, 방법(200) 또는 그 일부의 마지막 수행 이후 미리 결정된 기간이 만료된 것 및/또는 방법(200)을 구현하는 디바이스의 설정에서 특정될 수 있는 발생하는 하나 이상의 다른 이벤트 또는 조건을 포함할 수 있다. 일부 예에서, 디바이스(서버 또는 클라이언트)는 통화에서 선택 옵션 데이터에 액세스하여 방법(200)을 수행할 수 있다(사용자 동의가 수신된 경우).
블록(202)에서, 방법(200)의 구현예에서, 사용자 데이터를 사용하기 위한 사용자 동의가 획득되었는지 여부가 확인된다. 예를 들어, 사용자 데이터는 사용자 선호 설정, 사용자가 선택한 응답(예: 다이얼러 애플리케이션, 통신 애플리케이션 또는 기타 애플리케이션), 사용자 통화 특성 데이터(예: 통화 지속시간, 통화 시간 및 위치, 통화 중에 수신된 오디오 데이터), 디바이스의 사용자 인터페이스에 있는 기타 콘텐츠 또는 콘텐츠 컬렉션에 있는 기타 콘텐츠 데이터 아이템(예: 사용자와 연관된 통화), 사용자가 보내거나 받은 메시지, 사용자의 소셜 네트워크에 대한 정보 및/또는 연락처, 콘텐츠 등급, 사용자의 지리적 위치, 과거 사용자 데이터 등을 포함할 수 있다. 본 명세서에 기술된 방법의 하나 이상의 블록은 일부 구현예에서 사용자 데이터를 사용할 수 있다.
방법(200)에서 사용자 데이터가 사용될 수 있는 관련 사용자로부터 사용자 동의가 획득된 경우, 블록(204)에서 본 명세서의 방법의 블록은 해당 블록에 대해 설명된 바와 같이 가능한 사용자 데이터를 사용하여 구현될 수 있다고 결정되고, 방법은 블록(208)으로 계속된다. 사용자 동의가 획득되지 않은 경우, 블록(206)에서 블록이 사용자 데이터를 사용하지 않고 구현되어야 한다고 결정되고, 방법은 블록(208)으로 계속된다. 일부 구현예에서, 사용자 동의가 획득되지 않은 경우, 방법(200)의 나머지 부분은 수행되지 않고 및/또는 사용자 데이터를 사용하는 특정 블록은 수행되지 않는다. 일부 구현예에서, 사용자 동의가 획득되지 않은 경우, 방법(200)의 블록은 사용자 데이터를 사용하지 않고 일반 또는 공개적으로 액세스 가능하고 공개적으로 사용 가능한 데이터를 사용하여 구현되어야 한다.
블록(208)에서, 이전 통화에서 다양한 엔터티에 의해 제공된 선택 옵션은 획득된 데이터 및/또는 엔터티 식별자에 대한 통화에 기초하여 엔터티의 엔터티 식별자에 대해 결정된다. 선택 옵션은 엔터티와 통화 디바이스 간의 통화에서 엔터티(예: 통화에 자동으로 응답하고 오디오 데이터를 제공하도록 구성된 서버 디바이스)가 오디오 데이터를 통해 사용자(예: 통화 디바이스)에게 제공하는 옵션이다. 일부 구현예에서, 선택 옵션은 타겟 엔터티에서 제공하는 통화 메뉴의 옵션일 수 있다. 일부 구현예에서, 통화 메뉴는 옵션 세트의 다수의 레벨(예를 들어, 계층적 레벨)을 포함할 수 있다. 예를 들어, 하나의 메뉴 레벨에서 하나의 옵션 세트를 제시하고 이전 메뉴 레벨에서 선택된 옵션에 기초한 다른 메뉴 레벨에서 또 다른 옵션 세트를 제시하는 것이다.
일부 구현예에서, 선택 옵션은 통화 메뉴 또는 다른 메뉴에 포함되지 않은 사용자 인터페이스에 제시되는 선택가능한 엘리먼트 또는 영역, 예를 들어 선택가능한 버튼, 링크 또는 타겟 엔터티에 의한 액션을 유발하는 기타 엘리먼트일 수 있다(예를 들어, 블록(232)에 대해 설명된 예). 이러한 선택 옵션은 통화 중 제공되는 스피치로부터, 예를 들어 통화에서 또는 통화 메뉴 옵션을 제공하지 않는 통화의 스피치로부터 통화 메뉴 옵션이 발화되기 전에 발화되는 동안 또는 발화된 후에 결정될 수 있다.
일부 구현예에서, 구조화된(또는 주석이 달린) 정보는 통화에서 다양한 엔터티에 의해 제공되는 스피치로부터 결정될 수 있으며, 구조화된 정보는 선택 옵션 및/또는 시각적 정보로서 제시될 수 있다. 예를 들어, 개요, 트리, 형식화된 텍스트(예: 단락 나누기, 문장 나누기 및/또는 페이지 나누기, 구두점 등이 시스템에 의해 추가된 텍스트) 또는 기타 구조화된 정보가 스피치로부터 결정될 수 있다. 추가 예에서, 구조화된 정보는 URL(Uniform Resource Locator), 하이퍼링크, 이메일, 날짜, 위치, 확인 번호, 계좌 번호 등을 포함할 수 있으며, 이는 실행가능한, 예를 들어 정보 또는 웹페이지를 검색하고 디스플레이하는 것, 프로그램을 열거나 실행하는 것 등 시스템이 하나 이상의 동작을 수행하게 하는 사용자 입력에 의해 선택 가능한 선택 옵션일 수 있다. 일부 구조화된 정보는 사용자 입력에 의해 실행가능하지 않거나 선택 가능하지 않은 시각적 정보로 제시될 수 있다. 구조화된 정보는 통화 중에 통화 디바이스에 의해 선택 옵션으로 또는 본 명세서의 예에 설명된 선택 옵션에 추가하여 결정되고 디스플레이될 수 있다.
통화에서 활성인 타겟 엔터티는 엔터티의 IVR(대화형 음성 응답) 시스템, 통화 메뉴를 제공하고 발신자로부터 선택을 수신할 수 있는 자동 응답기, 일부 경우에 통화 중에 옵션을 말하고 통화 디바이스로부터 해당 옵션의 음성 선택을 수신하는 엔터티의 상담원과 같은 자동화 시스템일 수 있다. 선택 옵션을 제시하는 통화에서, 사용자는 통화 메뉴의 하나 이상의 계층적 메뉴 레벨을 통해 탐색(예를 들어, 전진 또는 뒤로 이동) 및/또는 특정 정보 수신, 특정 제품이나 서비스 요청, 질문에 답할 수 있는 실제 상담원과의 통화 요청 등과 같은 원하는 결과를 획득하기 위한 하나 이상의 옵션을 선택할 수 있다. 통화는 예를 들어, 통화 디바이스에서 개시되거나 착신된 전화 통화, 음성 통화 또는 사용자가 사용하는 통화 디바이스에 연결된 기타 통화(예: 인스턴트 메시징 또는 OTT(over-the-top) 서비스 등을 통해 발신됨)일 수 있다. 선택 옵션은 블록(208)에서 엔터티와의 통화 시 이러한 옵션을 제공하는 엔터티의 다양한 엔터티 식별자에 대해 결정된다. 본 명세서에 언급된 바와 같이, 타겟 엔터티는 통화될 엔터티이거나 통화 중에 활성화된 엔터티이며(예를 들어, 통화 디바이스가 타겟 엔터티에 전화하거나 또는 그 반대), 하나 이상의 엔터티 식별자(예: 타겟 엔터티 식별자) 예를 들어 음성 통신을 허용하는 통화에 타겟 엔터티를 연결하는데 사용할 수 있는 전화번호 또는 기타 주소 정보(예: 사용자 또는 엔터티 이름, 사용자 식별자 등)와 연관된다. 엔터티는 다양한 개인, 조직, 업체, 그룹 등을 포함할 수 있다.
일부 구현예에서, 선택 옵션은 엔터티(예를 들어 콜 센터 또는 엔터티에 대한 통화를 처리하는 다른 엔터티와 같은 연관된 엔터티 포함)로부터 수신된 엔터티 데이터에 기초하여 결정된다. 일부 구현예에서, 선택 옵션은 통화 디바이스에 의해 엔티티에 이루어진 이전 통화에 기초하여 결정된다.
블록(208)은 타겟 엔터티에 대한 통화를 개시하기 전, 그리고 아래에 설명된 바와 같이 현재 통화에 대한 선택 옵션을 결정하고 시각적으로 디스플레이하기 전에 선택 옵션 데이터를 결정하고 저장하는 전처리 블록으로서 수행될 수 있다. 엔터티가 제공하는 선택 옵션을 얻는 몇 가지 예가 도 3을 참조하여 설명된다. 방법은 블록(210)으로 진행한다.
블록(210)에서, 타겟 엔터티의 엔터티 식별자가 통화 디바이스에 의해 획득된다. 통화 디바이스는 엔터티, 예를 들어 도 1의 클라이언트 디바이스(120-126), 또는 대안적으로 서버 또는 다른 디바이스에 전화를 걸기 위해 사용될 수 있는 디바이스이다. 엔터티 식별자는 예를 들어 통화 디바이스에 의해 타겟 엔터티에 대한 통화가 개시되도록 하는 전화번호, 기타 통화 이름, 주소 또는 기타 엔터티 식별자일 수 있다. 엔터티 식별자는 다양한 구현예 및/또는 경우에서 여러 가지 방법 중 하나로 획득될 수 있다. 예를 들어, 엔터티 식별자는 통화 디바이스의 사용자로부터 사용자 입력을 통해 획득될 수 있다. 그러한 사용자 입력은 식별자를 입력하기 위해 사용자가 물리적 또는 가상 키패드나 키보드의 키를 선택하는 것을 포함할 수 있다. 일부 예에서, 엔터티 식별자는 사용자가 통화 디바이스에 저장된 연락처 목록에서 연락처 항목을 선택하는 것에 응답하여 획득될 수 있으며, 이는 해당 연락처 항목과 연관된 엔터티 식별자가 저장소에서 자동으로 검색되어 사용을 위해 제공되게 한다. 예를 들어, 엔터티 식별자는 통화를 개시하는 다이얼러나 통화 애플리케이션, 또는 통화를 개시할 수 있는 다른 애플리케이션과 같은 통화 디바이스에서 실행되는 애플리케이션에 입력되거나 제공될 수 있다. 일부 다른 예에서, 엔터티 식별자는 통화 디바이스에서 실행되는 다른 애플리케이션으로부터 또는 네트워크를 통한 원격 디바이스로부터 획득될 수 있다.
일부 예에서, 엔터티 식별자는 예를 들어 엔터티와 통화할 때 제공되는 디스플레이된 선택 옵션을 보기 위해, 타겟 엔터티에 대한 하나 이상의 향후 통화에 대비하여 해당 식별자가 수신되거나 선택 옵션이 디스플레이되는 시점에 통화를 개시하지 않고 통화와 독립적으로 수신된다. 다른 예에서, 엔터티 식별자는 현재 시간에 타겟 엔터티에 대한 통화를 즉시 개시기 위해 수신된다. 예를 들어, 식별자는 다이얼러 또는 통화 애플리케이션에서 수신되고 통화를 개시하는 컨트롤이 사용자에 의해 선택되거나 통화는 통화 디바이스에 의해 자동으로 개시된다. 일부 구현예에서, 엔터티 식별자는 타겟 엔터티 또는 다른 엔터티에 대한 (현재) 통화 중에 수신된다. 예를 들어, 엔터티 식별자는 이미 진행 중일 수 있는 현재 통화를 개시하거나 다른 엔터티에 대한 제2 통화를 개시하기 위해 통화 디바이스에 의해 수신될 수 있다. 방법은 블록(212)로 계속된다.
블록(212)에서, 타겟 엔터티의 엔터티 식별자에 대해 선택 옵션 데이터를 검색할지 여부가 결정된다. 예를 들어, 선택 옵션 데이터를 검색될 수 있는지 여부를 결정할 수 있다. 일부 예에서, 다양한 엔터티에 대한 선택 옵션 데이터는 예를 들어 통화 디바이스(예를 들어 네트워크를 통해 연결된 서버 또는 다른 원격 디바이스)에 액세스할 수 있는 시스템에 의해 또는 도 3의 예에서 설명된 바와 같이 통화 디바이스에 의해, 블록(208)에서 이전에 획득되거나 결정되었을 수 있다. 일부 구현예에서, 타겟 엔터티 식별자에 대한 선택 옵션 데이터의 전체 세트 중 일부는 블록(208)에서 획득되거나 결정될 수 있으며 검색될 수 있다. 일부 경우에, 블록(208)에서 획득된 선택 옵션 데이터는 타겟 엔터티 식별자에 대한 데이터를 포함하지 않으며, 선택 옵션 데이터를 검색될 수 없다.
일부 구현예에서, 선택 옵션 데이터는 통화 디바이스에 의해 이미 저장될 수 있으므로 선택 옵션 데이터는 블록(212)에서 검색될 필요가 없다. 예를 들어, 타겟 엔터티 식별자에 대한 선택 옵션 데이터는 통화 디바이스에 의한 타겟 엔터티 식별자에 대한 하나 이상의 이전 통화에 기초하여 이전에 결정되었을 수 있다(예를 들어, 블록(210) 이전에). 타겟 엔터티 식별자의 통화 메뉴 중 일부 선택 옵션만이 통화 디바이스에 의해 미리 결정되어 저장되어 있는 경우, 나머지 선택 옵션 데이터는 검색될 수 있다.
다른 예에서, 타겟 엔터티 식별자에 대한 선택 옵션 또는 그 서브세트는 하나 이상의 원격 디바이스로부터 통화 디바이스에 의해 선택 옵션 데이터로서 이전에 검색되었을 수 있다. 일부 구현예에서, 선택 옵션 또는 그 서브세트는 블록(210)에서 타겟 엔터티 식별자(또는 그 임의의 부분)를 수신하기 전에 통화 디바이스의 로컬 저장소에 검색되어 저장될 수 있다. 이는 엔터티 식별자가 획득될 때 네트워크를 통해 원격 디바이스(예를 들어, 서버, 클라이언트 디바이스 또는 기타 디바이스)로부터 선택 옵션을 검색하는 것과 비교하여 통화 디바이스에 의한 선택 옵션에 대한 더 빠른 액세스 및 디스플레이를 가능하게 할 수 있다.
일부 구현예에서, 원격 디바이스에서 이용 가능한 선택 옵션 데이터의 서브세트는 블록(210)의 개시 이전에 통화 디바이스의 로컬 스토리지에 수신되어 저장(예를 들어, 캐싱)될 수 있다. 예를 들어, 사용자가 통화한 인기 있는 엔터티 식별자에 대한 선택 옵션 데이터는 통화 디바이스에 의해 로컬로 획득되고 저장될 수 있다. 일부 예에서, 이들 인기 있는 엔터티 식별자는 엔터티 식별자 세트에서 가장 자주 통화되는 것(예를 들어, 엔터티 식별자 세트 중 가장 많은 횟수로 통화되거나, 로컬 스토리지에 캐싱되지 않은 다른 엔터티 식별자보다 더 높은 횟수로 통화됨), 특정 기간 내에 가장 자주 통화되는 것(위와 같음) 및/또는 통화 디바이스의 동일한 지리적 위치나 지역에 있는 사용자에 의해 가장 자주 통화되는 것(또는 사용자/통화 디바이스와 유사한 다른 특성을 가짐)일 수 있다. 다른 예에서, 통화 디바이스의 지리적 영역(또는 임계 거리)에 있는 발신자에 의해 이전에 적어도 임계 횟수만큼 통화된 엔터티 식별자에 대한 선택 옵션 데이터가 획득되어 통화 디바이스에 의해 로컬적으로 저장될 수 있다. 다른 예에서, 사용자의 국가 또는 통화 디바이스가 현재 위치한 국가에 위치한 엔터티 식별자에 대한 선택 옵션 데이터가 다운로드될 수 있다.
타겟 엔터티 식별자에 대한 선택 옵션 데이터가 블록(212)에서 결정된 대로 검색되지 않는 경우, 방법은 아래에 설명되는 블록(216)으로 계속될 수 있다. 선택 옵션 데이터가 검색되어야 하는 경우, 방법은 블록(214)으로 계속된다. 블록(214)에서, 사용 가능한 선택 옵션 데이터가 검색되어 통화 디바이스의 로컬 저장소에 캐싱(또는 저장)된다. 아래 설명된 대로, 캐싱된 선택 옵션 데이터를 사용하여 통화 중에 선택 옵션을 디스플레이할 수 있다. 예를 들어, 통화 디바이스는 서버나 다른 디바이스와 같은 원격 디바이스(예를 들어, 다양한 엔터티에 대한 통화 메뉴 선택 옵션의 저장소)로부터 네트워크를 통해 타겟 엔터티 식별자와 연관된 선택 옵션 데이터를 검색할 수 있고, 통화 디바이스의 로컬 스토리지에 선택 옵션 데이터를 캐싱한다. 일부 구현예에서, 캐싱된 선택 옵션 데이터는 선택 옵션이 구성되는 통화 메뉴의 구조를 나타내는 데이터를 포함할 수 있다. 일부 구현예에서, 사용자 허가를 받아, 선택 옵션을 결정하기 위해 분석된 통화로부터의 원본 오디오 데이터(또는 그 서명)의 일부가 선택 옵션과 연관되어 캐싱될 수 있다.
일부 구현예에서, 통화 디바이스는 블록(210)에서 통화 디바이스에 의해 엔터티 식별자가 완전히 획득되기 전에, 예를 들어 사용자가 통화 디바이스에 엔터티 식별자의 입력을 완료하기 전에 원격 디바이스로부터 하나 이상의 선택 옵션을 사전-페칭하도록 요청할 수 있다. 예를 들어, 통화 디바이스는 지금까지 입력된 엔터티 식별자의 일부와 일치하는 다수의 후보 엔터티(예를 들어 위에서 설명된 것과 유사하게 통화 디바이스의 지리적 영역에서 가장 자주 통화되는 엔터티 또는 엔터티 식별자)에 대한 선택 옵션을 원격 디바이스로부터 요청하고 다운로드할 수 있다. 그런 다음 통화 디바이스는 식별자가 완전히 특정된 후 엔터티 식별자와 연관된 선택 옵션 세트를 선택하고 사용할 수 있다. 그러한 사전-페칭은 선택 옵션 데이터의 다운로드가 식별자 입력이 완료되기 전에 개시되고 선택 옵션이 로컬 스토리지로부터 디스플레이되기 때문에, 엔터티 식별자가 특정된 후 통화 디바이스에 의해 더 빨리 선택 옵션이 디스플레이되게 할 수 있다.
일부 구현예에서, 완전한 엔터티 식별자의 임계값 부분이 수신된 경우 선택 옵션 데이터의 사전-페칭이 수행된다. 일부 예에서, 완전한 엔터티 식별자가 10자리라면, 사전-페칭은 부분적 식별자의 8번째(또는 대안적으로 9번째) 숫자가 수신되기 전이 아니라 그 후에 수행될 수 있다. 이는 완전한 식별자가 수신된 후 매칭 선택 옵션 데이터를 결정하기에 충분한 비교적 짧은 시간 내에 통화 디바이스에서 수신될 수 있는 데이터의 양으로 후보자의 수가 좁아지게 한다. 일부 구현예에서, 더 많은 양의 선택 옵션 데이터의 서브세트는 예를 들어 통화 디바이스 또는 원격 디바이스에 의해 결정되어, 통화 디바이스에 의해 사전-페칭되게 한다. 예를 들어, 데이터의 서브세트는 사용자 허가를 얻어 결정된 바와 같이, 사용자가 이전에 호출한 엔터티(예: 이전에 가장 자주 호출한 엔터티 및/또는 가장 최근에 호출한 엔터티)를 나타내는 이력 데이터 및/또는 사용자 데이터에 언급된 엔터티(사용자 허가를 얻어 액세스한 최근 메시지)와 같은 하나 이상의 요소에 기초하여 사용자가 입력할 가능성이 가장 높은 엔터티 식별자와 연관될 수 있다.
일부 구현예에서, 통화 디바이스에 의해 저장된 캐싱된 선택 옵션 데이터는 예를 들어, 통화 디바이스에 의한 통화에 기초하여 수정되는 데이터에 응답하여, 원격 디바이스에서 업데이트되는 데이터에 응답하여(예를 들어, 다른 사용자가 행한 최근 통화에 기초하여, 새로운 엔터티 또는 엔터티 식별자를 추가), 각 특정 기간 이후 주기적으로 등. 발생하는 특정 조건에 기초하여 더 새로운 데이터 또는 수정된 데이터로 주기적으로 업데이트될 수 있다.
일부 구현예에서, 선택 옵션 데이터(또는 그 일부)는 통화 중에 통화 디바이스에서 결정될 수 있으며(아래에 설명됨) 다른 디바이스로부터 다운로드되지 않는다. 방법은 블록(216)로 계속된다.
블록(216)에서, 획득된 엔터티 식별자를 사용하여 통화 디바이스와 타겟 엔터티 간에 통화가 개시된 것으로 검출된다. 일부 구현예에서, 통화는 통화 디바이스를 타겟 엔터티와 연관된 디바이스와 연결한다. 통화는 오디오를 포함하는 타겟 엔터티와의 임의의 연결일 수 있다(예: 전화 통화, OTT 애플리케이션을 통한 통화, 애플리케이션 프로그램(예: 브라우저, 뱅킹 앱, 브라우저 등)을 통한 통화). 일부 구현예에서, 통화는 선택적으로 통화에 연결된 타겟 엔터티 디바이스 및/또는 통화 디바이스에서 발신자 및/또는 수신자의 비디오 이미지를 디스플레이하도록 비디오 데이터가 전송되는 비디오 통화일 수 있다. 일부 예에서, 통화 디바이스의 사용자는 통화를 개시했을 수 있다. 예를 들어 다이얼러 애플리케이션 또는 통화 애플리케이션과 같은 애플리케이션의 사용자 인터페이스에서 통화 컨트롤을 선택하여 통화 디바이스가 엔터티 식별자에 다이얼링하고 타겟 엔터티와 통화를 개시하게 할 수 있다. 일부 예에서, 통화는 예를 들어 블록(210)에서 엔터티 식별자가 획득된 후에 통화 디바이스의 애플리케이션에 의해 자동으로 개시되었을 수 있다. 이러한 경우 사용자와 통화 디바이스가 발신자가 된다. 일부 다른 예에서, 통화는 타겟 엔터티에 의해 개시되었을 수 있으며, 이 경우 타겟 엔터티 디바이스는 발신자이고 사용자 및 통화 디바이스는 수신자이다. 본 명세서에서, 자동화된 시스템(예를 들어, IVR 시스템 또는 자동 응답기) 및/또는 통화에서 활동적이고 타겟 엔터티를 대표할 수 있는 상담원을 타겟 엔터티라고 한다. 방법은 블록(218)으로 진행한다.
블록(218)에서, 캐싱된 선택 옵션이 타겟 엔터티와의 통화에서 디스플레이하기에 이용 가능한지 여부(예를 들어, 현재 메뉴 레벨 또는 현재 통화의 다른 단계에서의 디스플레이와 관련된 캐싱된 선택 옵션)가 결정된다. 블록(212 및 214)과 관련하여 전술한 바와 같이, 타겟 엔터티의 엔터티 식별자에 대한 선택 옵션이 통화 디바이스의 저장소에 캐싱되었을 수 있다. 일부 구현예에서, 예를 들어, 블록(222-230)의 하나 이상의 이전 반복으로부터 현재 통화(또는 동일한 통화 디바이스에 의한 이전 통화)에서 이전에 결정되고 저장된 로컬 메모리에 캐싱된 선택 옵션 데이터가 있을 수 있고, 이 캐싱된 데이터는 현재 단계의 디스플레이와 관련될 수 있다(예를 들어, 사용자가 현재 통화의 통화 메뉴에서 이전 메뉴 레벨로 되돌아간 경우). 캐싱된 선택 옵션을 사용할 수 없거나 사용 가능한 캐싱된 선택 옵션이 통화의 현재 단계(예: 사용자가 탐색한 통화 메뉴의 특정 계층 레벨)와 연관되거나 관련되지 않은 것으로 결정되는 경우, 방법은 아래에 설명되는 블록(222)으로 계속된다.
관련된 캐싱된 선택 옵션이 디스플레이에 이용 가능하다면, 방법은 하나 이상의 대응하는 캐싱된 선택 옵션에 기초하여 하나 이상의 시각적 옵션(예를 들어 통화 메뉴의)이 디스플레이되는 블록(220)으로 계속된다. 시각적 옵션은 예를 들어 통화 중에 사용자에게 일반적으로 말하는 통화 메뉴의 선택 가능한 옵션에 대응할 수 있는 통화 디바이스의 사용자 인터페이스에 디스플레이되는 아이템이다. 예를 들어, 시각적 옵션은 다이얼러 애플리케이션이나 기타 애플리케이션의 인터페이스 내에 디스플레이되거나 통화 디바이스에 디스플레이되는 메시지 또는 알림에 디스플레이될 수 있다. 일부 구현예에서, 시각적 옵션은 별도의 창 또는 디스플레이 영역에 디스플레이될 수 있고 및/또는 사용자가 시각적 옵션의 디스플레이를 명령하는 컨트롤을 선택하는 것에 응답하여 디스플레이될 수 있다.
시각적 옵션은 텍스트, 기호, 이미지, 이모티콘, 아이콘 및/또는 기타 정보를 포함할 수 있으며 사용자가 선택할 수 있는 옵션이 제시된다. 일부 구현예에서, 시각적 옵션은 사용자가 터치 입력(예를 들어 시각적 옵션의 디스플레이에 대응하는 위치에서 터치스크린을 터치하거나 접촉하는 것)을 제공함으로써 선택 가능하다. 일부 구현예에서, 시각적 옵션 중 하나 이상은 통화 중에 지정자와 연관된 옵션을 선택하기 위해 사용자가 일반적으로 말하거나 입력하는(예를 들어, 키 누름을 통해) 지정자(예를 들어, 번호, 이름, 키워드 등)와 연관된다. 시각적 옵션을 디스플레이하는 일부 예는 도 4(도 2의 블록(224) 참조)와 도 5-13을 참조하여 설명된다.
시각적 옵션은 타겟 엔터티, 예를 들어 자동화 시스템(예: IVR 시스템 또는 자동 응답기) 또는 상담원에 의해 통화 중에 대응하는 선택 가능한 옵션이 발화되기 전에 블록(220)에 디스플레이될 수 있다. 따라서, 사용자는 더 느린 스피치의 방법을 통해 옵션을 듣기 위해 기다릴 필요 없이 사용자가 이용할 수 있는 선택가능한 옵션 중 하나 이상 또는 전부를 즉시 볼 수 있다. 일부 구현예에서, 계층적 통화 메뉴의 현재 레벨에 대한 선택 옵션만 디스플레이될 수 있고, 다른 구현예에서는 통화 메뉴의 여러 레벨로부터의 선택 옵션이 디스플레이될 수 있으므로 예를 들어, 사용자는 통화 메뉴의 레벨을 통해 선택 경로를 볼 수 있다. 일부 구현예에서, 또는 통화 디바이스의 사용자 또는 사용자 설정에 의해 명령된 경우, 캐싱된 선택 옵션에 기초하여 엔터티 식별자를 사용하여 통화 디바이스에서 통화가 개시되기 전에 시각적 옵션이 디스플레이될 수 있다. 일부 구현예에서, 통화가 개시된 후 시각적 옵션이 디스플레이된다. 예를 들어, 선택 옵션은 사용자가 통화를 개시하기 전에 시각적 옵션을 볼 수 있도록 다이얼러 애플리케이션이나 기타 애플리케이션의 인터페이스에(또는 운영 체제에 의한 알림으로) 디스플레이될 수 있다.
일부 구현예에서, 시각적 옵션은 선택 가능한 다른 아이템도 포함할 수 있고 대안적으로 포함할 수도 있다. 예를 들어, 시각적 옵션은 타겟 엔터티와 관련된 정보를 제공할 수 있으며, 통화 메뉴의 옵션과 관련되거나 관련되지 않을 수 있다. 시각적 옵션은 사용자가 특정 선택 항목이나 정보를 타겟 엔터티에 보내기 위해 선택할 수 있는 버튼이나 체크박스와 같은 선택가능한 아이템이나 부분을 포함할 수 있다. 일부 예에서, 시각적 옵션은 다양한 정보 소스에 대한 웹 링크 또는 기타 유형의 링크를 포함할 수 있다. 예를 들어, 사용자가 선택한 경우 이러한 링크는 웹 페이지, 창 또는 기타 디스플레이 영역이 통화 디바이스(예: 브라우저 애플리케이션 또는 기타 애플리케이션)에서 열리게 하고, 정보가 다운로드되어 디스플레이되도록 할 수 있다. 일부 구현예에서, 예를 들어 시각적 옵션에 추가하여 위에서 설명된 바와 같이 선택 가능하지 않은 다른 시각적 정보(예를 들어 구조화된 정보)가 디스플레이될 수 있다. 방법은 블록(222)로 계속된다.
블록(222)에서, 타겟 엔터티(예를 들어, 자동화 시스템 또는 상담원) 및 사용자에 의해 통화 중에 이루어진 스피치를 나타내거나 표현하는 오디오 데이터를 포함하는 오디오 데이터가 통화로부터 수신된다. 방법은 블록(224)로 계속된다.
블록(224)에서, 오디오 데이터가 프로세싱되고 시각적 옵션이 오디오 데이터에 기초하여 디스플레이 및/또는 업데이트된다. 예를 들어 텍스트는 오디오 데이터에 표현된 스피치로부터 결정되며, 여기서 텍스트는 스피치를 나타낸다. 통화 메뉴의 선택 옵션(및/또는 다른 선택 옵션)은 텍스트에 기초하여 결정되며, 선택 옵션을 통해 통화 디바이스의 사용자는 통화 메뉴를 탐색할 수 있다. 일부 구현예 또는 경우에서, 선택 옵션이 통화 디바이스에 의해 시각적 옵션으로 디스플레이된다. 일부 구현예 또는 경우에서, 시각적 옵션은 캐싱된 선택 옵션에 기초하여(예를 들어, 블록 220에 기초하여) 이미 디스플레이되어 있으며 이러한 시각적 옵션 및 대응하는 선택 옵션은 적절한 경우 프로세싱된 오디오 데이터에 기초하여 업데이트될 수 있다. 일부 구현예에서, 선택 옵션을 포함하는 계층적 통화 메뉴의 구조는 오디오 데이터 및 그로부터 파생된 텍스트에 기초하여 결정될 수 있다. 시각적 옵션을 디스플레이 및/또는 업데이트하는 일부 예는 도 4를 참조하여 아래에 설명되어 있다.
일부 구현예에서, 블록(224)은 예를 들어 캐싱된 선택 옵션이 블록(220)에서 통화 디바이스에 의해 디스플레이된 경우 건너뛰거나 생략될 수 있다. 일부 구현예에서, 캐싱된 선택 옵션이 최근에 결정되어 최신일 가능성이 더 높은 경우 블록(224)을 건너뛸 수 있다.
통화에서 수신된 오디오 데이터는 예를 들어 통화 디바이스의 오디오 시스템이 오디오 데이터를 프로세싱한 후 통화 디바이스에 의해 출력되어, 오디오 데이터의 스피치가 디바이스 스피커, 헤드폰 또는 통화 디바이스에 있거나 연결된 기타 오디오 디바이스를 통해 재생된다. 방법은 블록(226)로 계속된다.
블록(226)에서, 하나 이상의 시각적 옵션이 사용자에 의해 선택되었는지 여부가 결정된다. 다양한 구현예를 통해 하나 이상의 시각적 옵션 선택 방법이 허용될 수 있다. 예를 들어, 시각적 옵션은 터치스크린 인터페이스, 음성 명령, 물리적 입력 디바이스(마우스, 조이스틱, 트랙패드 등) 또는 기타 사용자 입력 디바이스를 통해 사용자가 선택할 수 있다. 블록(226)에서 시각적 옵션 중 어느 것도 선택되지 않은 경우, 방법은 통화로부터 추가 오디오 데이터를 수신하기 위해 블록(218)으로 계속된다. 시각적 옵션 중 하나 이상이 선택되면 방법은 블록(228)으로 계속된다.
블록(228)에서, 선택된 시각적 옵션(들)에 대응하는 선택 옵션(들)이 타겟 엔터티로 전송된다. 일부 구현예에서, 선택의 표시가 타겟 엔터티에 전송되는데, 여기서 표시는 마치 사용자가 통화에서 옵션의 표준 선택을 수행한 것처럼 제공되는 입력에 대응한다. 일부 예에서, 선택된 옵션이 일반적으로 사용자 스피치를 통해 선택될 수 있는 경우(예를 들어, 선택 옵션과 연관된 숫자 또는 단어(들)와 같은 지정자를 말함), 전송된 표시는 통화에서 통화 디바이스에 의해 발화된 적절한 스피치 예를 들어 적절한 지정자를 말하는 통화 디바이스에 의해 녹음되거나 합성된 목소리일 수 있다. 일부 예에서, 사용자는 비음성 입력(예를 들어, 터치스크린에 디스플레이된 버튼이나 영역을 터치하는 등)을 통해 시각적 옵션을 선택할 수 있고, 통화 디바이스는 스피치를 통해 대응하는 선택 옵션을 선택하는 스피치를 출력할 수 있다. 다른 예에서, 선택된 옵션이 일반적으로 키패드 또는 키보드의 키를 눌러 선택될 수 있는 경우, 통화 디바이스는 사용자가 디바이스에서 해당 키를 누르는 것에 대응하는 신호인 표시를 전송할 수 있다. 예를 들어, 그러한 신호는 터치 톤(예를 들어, 이중 톤 다중 주파수 또는 DTMF 신호) 또는 그 인코딩, 또는 누른 특정 키에 대응하는 다른 대역 내 신호를 포함할 수 있다. 일부 구현예에서, 터치 톤 또는 키 누름 입력에 대한 대안, 예를 들어 SIP(Session Initiation Protocol), RTP(Real Time Transport Protocol), H323 등을 통해 제공되는 신호와 같은 대역 외 신호가 사용될 수 있다. 방법은 블록(230)로 계속된다.
블록(230)에서, 디스플레이할 선택 옵션이 더 있는지 여부가 결정된다. 예를 들어, 사용자의 블록(226) 선택은 통화 메뉴의 다음 레벨로의 탐색(예를 들어, 통화 메뉴에서 앞으로 또는 뒤로 탐색)을 유발할 수 있다. 타겟 엔터티는 예를 들어 이전에 선택된 옵션에 기초하여 사용자를 위한 새로운 선택 옵션 세트를 말함으로써 통화의 다음 레벨을 제시하기 시작할 수 있으며, 여기서 새로운 옵션 세트는 통화 디바이스에 의해 디스플레이될 수 있다. 일부 경우 또는 구현예에서, 선택 옵션의 새로운 세트는 사용자가 이전에 탐색했던 통화 메뉴의 이전 레벨에 있고, 그러한 선택 옵션은 방법(200)의 이전 반복에서 캐싱되었을 수 있다. 이러한 캐싱된 선택 옵션은 통화 디바이스의 로컬 메모리에 있는 캐시로부터 검색될 수 있다. 디스플레이할 선택 옵션이 더 있으면, 방법은 계속해서 블록(218)으로 진행하여 캐싱된 선택 옵션이 새로운 선택 옵션 세트에 대해 사용 가능한지 확인한다.
사용자 선택에 응답하여 블록(230)에 디스플레이할 선택 옵션이 없는 경우, 방법은 블록(232)으로 계속되며, 여기서 결과는 타겟 엔터티에 의한 하나 이상의 액션에 기초하여 획득된다. 타겟 엔터티는 선택된 옵션 수신에 대한 응답으로 모든 유형 및/또는 수의 액션을 수행할 수 있다. 예를 들어, 액션은 타겟 엔터티로부터 수신된 정보를 표시하는 것일 수 있다(예: 사용자의 선택이 통화 메뉴를 통한 특정 경로의 마지막 옵션인 경우). 예를 들어, 타겟 엔터티는 블록(230)에서 통화 디바이스에 의해 수신되는 사용자가 요청한 통화에서 정보를 제시(예를 들어 말하기)할 수 있다. 일부 구현예나 경우에서, 해당 정보가 수신된 후 통화가 종료될 수 있다. 일부 구현예나 경우에서, 타겟 엔터티는 사용자가 정보(예: 사용자 이름 또는 기타 정보(주소, 계좌 번호 등))를 말하도록 요청할 수 있다. 일부 구현예에서, 타겟 엔터티는 사용자에게 말하기 위해 타겟 엔터티의 상담원을 통화에 연결할 수 있으며, 이는 통화 디바이스(예를 들어 스피치 인식 기법을 사용하여)에 의해 검출될 수 있으며 알림이 사용자에게 제공된다.
일부 경우에, 타겟 엔터티의 액션은 통화 디바이스를 보류 상태로 두는 것(예: 상담원이 사용 가능해질 때까지 기다리는 것)을 포함할 수 있다. 일부 구현예에서, 통화 디바이스(및/또는 연결된 디바이스)는 사용자 입력이나 개입 없이 통화 디바이스가 현재 통화에서 보류 상태인지 여부를 자동으로 결정할 수 있다. 예를 들어, 스피치 인식 기법을 사용하여 엔터티의 자동화 시스템이 특정 단어(예: "an agent can take your call in 10 minutes, thanks for waiting")를 통해 또는 보류 상태를 나타내는 음악 재생을 통해 통화가 보류 중임을 나타내는지 여부를 결정한다. 일부 구현예에서, 통화가 타겟 엔터티에 의해 보류된 경우, 통화 디바이스는 해당 보류 상태의 표시(예: 음악 재생 등을 보여주는 메시지)를 디스플레이할 수 있다. 일부 구현예에서, 통화 디바이스는 통화가 보류 중인 동안 상담원이 통화에 연결했는지 여부를 예를 들어 에이전트나 사용자가 말한 특정 단어, 보류 음악의 중단 또는 그 통화는 더 이상 보류중이 아니라는 자동화된 음성 등을 통해 검출할 수 있다. 일부 구현예에서, 통화 디바이스는 통화가 더 이상 보류되지 않고 상담원이 통화에 연결되었음을 나타내는 알림을 출력할 수 있다.
일부 구현예나 경우에서, 타겟 엔터티에 의해 액션이 취해진 후 통화 메뉴로 돌아가는 옵션이 타겟 엔터티에 의해 제시되며, 이 경우 프로세스는 블록(218)으로 계속될 수 있다.
일부 구현예에서, 통화가 종료된 후, 방법(200)에 의해 결정되고 디스플레이된 선택 옵션은 통화 디바이스의 캐시(또는 다른 저장소)에 저장될 수 있고 및/또는 다양한 엔터티에 대한 선택 옵션 데이터를 저장하고 여러 통화 디바이스에서 액세스할 수 있는 서버와 같은 원격 디바이스의 저장소로 전송될 수 있다(네트워크를 통해). 통화 디바이스(또는 다른 사용자 디바이스 또는 클라이언트 디바이스)를 사용하는 사용자가 동일한 타겟 엔터티 식별자에 다시 통화하는 경우, 예를 들어 통화 중에 해당 옵션을 말하기 전에 선택 옵션을 디스플레이하기 위해 통화 디바이스의 캐시 및/또는 원격 디바이스에 저장된 선택 옵션 데이터가 새로운 통화에 대해 사용될 수 있다. 일부 구현예에서, 선택 옵션 중 일부는 통화 디바이스의 로컬 스토리지로부터 검색될 수 있으며(예를 들어, 이러한 선택 옵션이 선택된 통화에 기초하여 로컬 스토리지에 이전에 저장되어 있었음) 및/또는 일부 선택 옵션이 위에서 설명한 것과 유사하게 원격 디바이스로부터 검색될 수 있다. 유사하게, 캐싱된 선택 옵션에 대한 임의의 업데이트 또는 수정은 통화 디바이스에 캐싱될 수 있고 및/또는 서버와 같은 원격 디바이스에 있는 다양한 엔터티에 대한 선택 옵션 데이터의 스토리지에 전송될 수 있다.
일부 구현예에서, 사용자 허가를 얻은 경우, 통화 이벤트 및/또는 통화 결과를 나타내는 데이터가 통화 후에 저장되는 선택 옵션과 함께 메타데이터로 저장될 수 있다. 예를 들어, 사용자 허가를 얻은 경우, 결과 데이터는 통화에서 어떤 선택 옵션이 선택되었는지, 사용자가 특정 선택 옵션을 누른 후 상담원에 연결할 수 있었는지 여부, 지속시간 및 사용자가 통화를 끊기 전에 선택한 선택 옵션을 포함할 수 있다. 여러 통화 및 통화 디바이스에서 축적된 이러한 데이터는 향후 통화에서 해당 엔터티가 제공하는 선택 옵션을 수정할지 여부를 결정하는데 사용될 수 있다(예: 제시된 발신자 메뉴의 효과 및 효율성 개선).
일부 구현예에서, 사용자 동의가 획득된 경우, 통화 전사 및/또는 통화 중에 사용자가 선택한 선택 옵션이 저장될 수 있으며 사용자가 예를 들어 통화 디바이스 또는 기타 사용자 인터페이스에서 통화 로그로부터 볼 수 있다.
도 3은 일부 구현예에 따라 획득된 데이터 및/또는 통화에 기초하여 엔터티의 선택 옵션을 획득하는 예시적 방법(300)을 나타내는 흐름도이다. 예를 들어, 방법(300)은 선택 옵션이 사용될 수 있는 타겟 엔터티에 대한 통화 전에 엔터티의 선택 옵션을 얻기 위해 도 2의 블록(208) 또는 블록(208)의 일부로서 구현될 수 있다. 일부 구현예에서, 방법(300)은 도 2를 참조하여 설명한 바와 같이 타겟 엔터티에 대한 통화 전에 또는 도중에 예를 들어 통화 디바이스(예를 들어 클라이언트 디바이스 또는 다른 디바이스)에 의해 다운로드되거나 액세스될 수 있는 선택 옵션을 얻기 위해 서버 또는 통화 디바이스 이외의 다른 디바이스에 의해 수행될 수 있다. 일부 구현예에서, 방법(300)은 통화 디바이스, 예를 들어 클라이언트 디바이스에 의해 수행될 수 있거나, 방법의 다른 부분은 각각 서버 디바이스 및/또는 클라이언트 디바이스에 의해 수행될 수 있다.
방법은 블록(302)에서 시작한다. 블록(302)에서, 엔터티 데이터는 엔터티 세트로부터 획득되며, 엔터티 데이터는 엔터티 세트의 엔터티와 연관된 엔터티 식별자에 대한 선택 옵션 데이터를 포함한다. 일부 구현예에서, 엔터티에 대한 통화 시 선택 옵션을 제공할 목적으로 엔터티에서 엔터티 데이터를 사용할 수 있다. 예를 들어, 엔터티 데이터는 옵션의 텍스트 및 기타 세부 사항 및/또는 선택 옵션이 나타나는 통화 메뉴의 계층 구조를 포함하여 엔터티의 엔터티 식별자를 사용하여 통화 중에 연관된 엔터티의 통화 메뉴에서 발화되는 선택 옵션의 표시를 포함할 수 있다. 일부 예에서, 특정 기준을 만족하는 특정 엔터티 세트(또는 엔터티 식별자)에 대해 엔터티 데이터가 검색될 수 있다. 예를 들어, 세트는 통화 디바이스의 지역 또는 영역에서 및/또는 특정 기간 내에 가장 많이 통화되는 엔터티 식별자를 갖는 다수의 엔터티를 포함할 수 있다. 예를 들어, 인기 있는 엔터티 식별자는 위에서 설명한 것과 유사하게 가장 자주 및/또는 최근에 통화될 수 있으며, 통화는 특정 기간 내에 및/또는 통화 디바이스의 임계 거리 또는 지리적 영역 내의 발신자에 의해 이루어질 수 있다. 일부 구현예에서, 엔터티 데이터는 획득된 엔터티 데이터에 더 최근의 업데이트가 포함되도록 엔터티로부터 주기적으로 획득될 수 있다. 일부 구현예에서, 엔터티 데이터는 콜센터 또는 엔터티와 연관된 다른 엔터티와 같이 엔터티 식별자로 표현되는 엔터티와 연관된 엔터티로부터 획득될 수 있다. 방법은 블록(304)으로 진행한다.
블록(304)에서, 엔터티 데이터가 검색되는 엔터티 세트의 하나 이상의 엔터티 식별자에 대해 엔터티 데이터가 이용 가능하지 않은지 여부가 결정된다. 다양한 예에서, 엔터티 데이터는 다양한 이유(예: 보안 제한, 선택 옵션이 변경되어 빠르게 쓸모 없게 되는 경향, 기술적 문제 등)로 인해 엔터티에 의해 제공되지 않을 수 있다. 일부 구현예에서, 사용 가능한 엔터티 데이터가 오래되었거나/또는 부정확한 것으로 알려진 경우 엔터티 식별자에 대한 엔터티 데이터는 사용 불가능한 것으로 간주될 수 있다. 엔터티 데이터가 엔터티 세트로부터 이용 가능하다면, 방법은 전술한 도 2의 블록(210)으로 계속된다. 엔터티 세트의 하나 이상의 엔터티로부터 엔터티 데이터를 사용할 수 없는 경우, 방법은 블록(306)으로 계속된다.
블록(306)에서, 엔터티 데이터가 엔터티로부터 이용가능하지 않은 엔터티 식별자가 엔터티 세트와 연관된 엔터티 식별자로부터 선택된다. 일부 구현예에서, 이는 엔터티 데이터가 불완전한 것으로 알려진 엔터티 식별자를 포함할 수 있다. 예를 들어 엔터티 데이터는 통화 메뉴의 선택 옵션 중 전부는 아니지만 일부를 특정할 수 있다. 일부 구현예에서, 불완전한 엔터티 데이터는 획득된 엔터티 데이터에 기초하여 통화 중에 디스플레이되는 캐싱된 선택 옵션에서 하나 이상의 선택 옵션이 누락(또는 올바르지 않음)되어 엔터티 데이터가 불완전할 가능성이 있음을 나타내는 사용자 피드백으로부터 결정될 수 있다. 방법은 블록(308)으로 진행한다.
블록(308)에서, 선택된 엔터티 식별자를 포함하는 하나 이상의 이전 통화로부터 선택된 엔터티 식별자에 대해 선택 옵션 데이터가 이용 가능한지 여부가 결정된다. 예를 들어, 한 명 이상의 사용자는 이전에 선택된 엔터티 식별자를 사용하여 전화를 걸었을 수 있으며, 해당 통화 중에 수신된 선택 옵션은 사용자 허가를 받아 유지, 예를 들어 검출 및/또는 저장되었을 수 있다. 일부 구현예에서, 이러한 통화의 다른 통화 특성(예: 엔터티 식별자, 통화 시간, 통화 위치, 통화 지속시간 등)도 사용자 허가를 받아 유지될 수 있고, 통화 특성은 통화를 한 사용자와 연관되지 않게 하여 통화 특성만 알려지게 한다. 그러한 데이터 중 일부 또는 전부는 방법(300)에 이용될 수 있다. 예를 들어, 이전 통화는 통신 네트워크를 통해 사용자 동의 하에 통화 특성이 획득되는 통화 디바이스를 사용하는 사용자 집단에 의해 이루어졌을 수 있다. 그러한 데이터가 이용가능하지 않다면, 프로세스는 아래에 설명되는 블록(312)으로 계속될 수 있다. 그러한 선택 옵션(및/또는 다른 데이터)이 이용 가능하다면, 프로세스는 블록(310)으로 계속된다.
블록(310)에서, 이전 통화에 기초하여 선택된 엔터티 식별자에 대한 선택 옵션이 결정된다. 사용자 동의가 획득된 경우 하나 이상의 선택 옵션은 기계 학습 모델을 통한 스피치 인식 또는 기타 기법(도 4를 참조하여 설명된 바와 같이)을 사용하여 이전 통화에서 녹음된 오디오 데이터의 스피치 데이터 분석에 기초하여 시스템에 의해 자동으로 결정될 수 있다. 예를 들어, 선택된 엔터티 식별자에 대한 이전 통화로부터 결정된 선택 옵션 데이터는 해당 통화에서 제시된 선택 옵션의 텍스트 및/또는 통화에서 제시된 선택 옵션을 포함하는 통화 메뉴의 구조적 데이터를 표시할 수 있다(예를 들어, 통화 메뉴의 선택 옵션의 계층 구조 및 이전에 선택한 옵션에 대한 특정 옵션의 종속성(해당 옵션에 액세스하려면 이전 옵션 중 어떤 선택이 필요한지 나타냄)). 일부 구현예에서, 특정 통화가 통화 메뉴의 일부 선택 옵션으로 이동하여 기록될 수 있지만 선택 옵션 전체가 그렇지는 않을 수 있다. 예를 들어, 기록된 통화에서 사용자는 다른 경로나 옵션 분기로 이동하지 않고 통화 메뉴를 통해 연속 선택 옵션의 단일 탐색 경로를 선택할 수 있다. 일부 구현예에서, 블록(310)은 가능한 경우 통화 메뉴의 각 분기의 선택 옵션 모두가 결정될 때까지 통화 메뉴의 선택 옵션의 다양한 분기를 따르는 선택된 엔터티 식별자에 대한 다수의 이전 통화를 검사하는 것을 포함할 수 있다. 일부 구현예에서, 사용자 허가를 얻은 경우, 선택 옵션을 결정하기 위해 분석된 오디오 데이터(또는 그 서명)의 부분이 결정된 선택 옵션과 연관되어 저장될 수 있다. 방법은 아래에 설명되는 블록(318)으로 계속될 수 있다.
블록(312)에서, 선택 옵션 데이터가 선택된 엔터티 식별자에 대한 이전 통화로부터 이용 가능하지 않은 것으로 결정된 후, 선택된 엔터티 식별자를 사용하는 하나 이상의 통화가 개시된다. 일부 구현예에서 자동화된 시스템을 사용하여 선택된 엔터티 식별자에 한 번 이상 통화할 수 있다. 일부 구현예에서 통화가 특정 시간, 예를 들어 해당 엔터티가 업체인 경우 영업 시간 내에 이루어질 수 있다. 일부 구현예에서, 다양한 시간에 제시될 수 있는 다양한 선택 옵션 데이터를 결정하기 위해 다양한 시간, 예를 들어 업무 시간 이외의 시간에 다수의 통화가 이루어질 수 있다. 방법은 블록(314)으로 진행한다.
블록(314)에서, 선택된 엔터티 식별자에 대한 선택 옵션이 결정되도록 통화(들)에서 발화된 선택 옵션이 결정, 예를 들어 검출 및 저장된다. 일부 구현예에서, 선택 옵션은 하나 이상의 스피치 인식 기법, 예를 들어 기계 학습 모델 또는 기타 기법을 사용하여 검출된다. 오디오 스피치 데이터로부터 선택 옵션 및 메뉴 구조를 검출하는 일부 예는 도 4와 관련하여 아래에 설명되며 유사한 기법이 블록(314)에서 사용될 수 있다. 일부 구현예에서, 블록(314)은 통화 메뉴의 추가 계층 레벨로 이동하고 추가 선택 옵션을 검출하기 위해 해당 레벨에서 오디오 데이터를 수신하기 위해 통화(들)에 제시된 선택 옵션을 선택하는 것을 포함한다. 일부 구현예에서, 제시된 통화 메뉴에서 각각의 이용 가능한 선택 옵션을 결정하기 위해 선택된 엔터티 식별자에 대한 각 통화에서 통화 메뉴를 통한 선택 옵션의 다른 탐색 경로가 선택될 수 있다. 일부 구현예에서, 선택 옵션의 동일한 경로는 예를 들어 비교를 위한 추가 데이터를 제공하고 선택 옵션 검출시 오류를 확인하기 위해 여러 통화에서 탐색될 수 있다. 일부 구현예에서, 일부 선택 옵션이 블록(314) 이전에 또는 블록(314)의 반복 이전에 이용 가능했다면, 아직 결정되지 않은 메뉴의 부분(예를 들어, 분기)을 선택하여 제공된 선택 옵션 및 이용 가능한 옵션을 결정할 수 있거나 또는 부분을 건너뛸 수 있다. 일부 구현예에서, 사용자 허가를 얻은 경우, 선택 옵션을 결정하기 위해 분석된 오디오 데이터(또는 그 서명)의 부분이 결정된 선택 옵션과 연관되어 저장될 수 있다. 방법은 블록(316)으로 진행한다.
블록(316)에서, 선택된 엔터티 식별자의 통화 메뉴에 대한 메뉴 구조가 블록(314)의 검출된 선택 옵션에 기초하여 결정될 수 있다. 예를 들어, 검출된 선택 옵션이 저장되고 통화 메뉴의 다양한 계층 레벨에서 선택 옵션 간의 관계 및 종속성을 제공하는 데이터 구조(예: 그래프, 테이블 등)가 생성된다. 선택된 엔터티 식별자에 대한 여러 통화에서 얻은 선택 옵션 데이터를 검사하여 사용 가능한 데이터에서 가능한 완전한 통화 메뉴 구조를 형성할 수 있다. 일부 구현예에서, 통화 메뉴의 선택 옵션의 구조는 예를 들어 블록(302)으로부터의 부분적으로 완료된 엔터티 데이터 또는 방법(300)의 이전 반복에 기초하여 이전에 결정되었을 수 있다. 블록(312 및 314)에서 이루어진 통화로부터의 선택 옵션 데이터는 이러한 기존 데이터 구조에 추가될 수 있다. 방법은 블록(318)로 계속된다.
블록(318)에서, 엔터티 데이터가 이용 가능하지 않은 선택할 엔터티 식별자가 더 있는지 여부가 결정되고 선택 옵션 데이터가 결정될 수 있다. 그렇다면, 프로세스는 선택 옵션 데이터를 결정하기 위해 다른 엔터티 식별자가 선택되는 블록(306)으로 계속된다. 선택할 엔터티 식별자가 더 이상 없다면, 프로세스는 도 2의 블록(210)으로 계속될 수 있다.
도 4는 일부 구현예에 따라 통화로부터의 오디오 데이터를 프로세싱하고 오디오 데이터에 기초하여 시각적 옵션을 디스플레이하거나 업데이트하는 예시적 방법(400)을 나타내는 흐름도이다. 예를 들어, 방법(400)은 획득된 엔터티 식별자를 사용하여 타겟 엔터티와 개시된 통화에서 오디오 데이터가 수신되는 블록(222) 이후에 도 2의 블록(224)에서 구현될 수 있다.
방법은 블록(402)에서 시작한다. 블록(402)에서, 통화의 오디오 데이터의 스피치를 나타내는 텍스트가 결정된다. 일부 구현예에서, 텍스트는 하나 이상의 스피치 인식 기법, 예를 들어 하나 이상의 기계 학습 모델 및/또는 다른 기법을 사용하여 결정된다. 일부 구현예에서, 예를 들어 사용자가 허가를 하거나 및/또는 연관된 사용자 설정을 한 경우, 통화 디바이스는 소개 스피치, 사용자 응답 등을 포함하여 통화에서 말한 모든 단어의 인식된 텍스트가 디스플레이되는 통화 전사를 제공할 수 있다. 방법은 블록(404)으로 진행한다.
블록(404)에서, 하나 이상의 현재 선택 옵션 및/또는 메뉴 구조는 블록(402)에서 결정된 텍스트 및/또는 블록(222)에서 수신된 오디오 데이터에 기초하여 결정된다. 일부 구현에서, 각각의 선택 옵션은 예를 들어, 지정자를 말하거나 통화 디바이스의 해당 키 또는 버튼을 누름으로써(예를 들어, 터치톤 전화기에 의해 제공되는 톤 또는 도 2를 참조하여 설명된 다른 신호를 제공하기 위해) 일반적으로 사용자가 해당 옵션을 선택하기 위해 통화에 입력해야 하는 옵션에 대한 선택 지정자가 동반될 수 있는 선택에 대한 설명된 옵션을 포함한다. 일부 예에서, 선택 옵션은 제시되는 선택 옵션을 나타내거나 묘사할 수 있는 특정 음성 단어(또는 다른 음성 지정자)에 기초하여 검출될 수 있다. 예를 들어, 선택 옵션은 일반적으로 "to"라는 단어 뒤에 동사가 오는 것(예: "to talk to a Representative" 또는 "for your account Balance") 또는 단어 "for" 뒤에 명사가 오는 것(예: 'for Spanish' 또는 'for your account balance')을 포함할 수 있다. 선택 옵션은 일반적으로 "press" 또는 "say"를 포함하는 문구로 시작하거나 끝날 수 있으며 그 뒤에 숫자나 단어와 같은 지정자가 뒤따른다(예: "press or say two"). 일부 구현예에서, 스피치 인식 기법은 선택 옵션을 검출하기 위해 그러한 단어를 인식하도록 지향되거나 트레이닝될 수 있다.
일부 구현예에서, 선택된 엔터티 식별자의 통화 메뉴에 대한 메뉴 구조는 검출된 선택 옵션에 기초하여 결정되거나 추가될 수도 있다(예를 들어, 오디오 데이터 및/또는 결정된 선택 옵션이 통화에서 통화 메뉴의 다른 레벨에 액세스했음을 나타내는 경우). 예를 들어 사용자가 제시된 선택 옵션을 선택한 후에 이런 일이 발생할 수 있다. 일부 예시에서, 통화 메뉴의 다양한 계층 레벨에서 선택 옵션 간의 관계 및 종속성을 제공하는 데이터 구조(예: 그래프, 테이블 등)가 생성될 수 있다. 일부 구현예에서, 결정되고 사용자가 선택한 선택 옵션을 검사하여 통화가 진행되고 추가 옵션이 선택됨에 따라 추가되는 통화 메뉴 구조를 형성할 수 있다. 일부 구현예에서, 통화 메뉴 구조는 캐싱된 통화 메뉴 구조(예를 들어, 본 명세서에 설명된 캐싱된 선택 옵션과 유사할 수 있음)와 비교될 수 있고, 및/또는 통화 메뉴 구조는 저장되어 타겟 엔터티에 대한 향후 통화에서 액세스되어, 여기에 설명된 바와 같이 해당 통화에 대한 통화 메뉴 구조를 제공한다.
일부 구현예에서, 하나 이상의 모델은 오디오 스피치 데이터로부터 선택 옵션 및/또는 메뉴 구조 및/또는 오디오 스피치 데이터로부터 결정된 텍스트를 검출하는데 사용될 수 있다. 다양한 구현예에서, 이들 모델은 블록(402)에서 사용된 오디오 데이터의 스피치를 나타내는 텍스트를 결정하는데 사용되는 모델과 다를 수 있거나, 이들 모델의 기능은 블록(402)에서 사용된 동일한 모델에 포함될 수 있다. 일부 구현예에서 선택 옵션을 검출하는 모델은 음성 선택 옵션, 텍스트 선택 옵션, 통화 메뉴 구조 등을 제공하는 오디오 데이터를 포함하여 이전 통화의 통화 특성에 기초하여 트레이닝될 수 있다. 일부 예에서 모델은 선택 옵션에 대응하는 단어의 예를 제공하는 트레이닝 데이터 및/또는 비텍스트 데이터를 포함하는 트레이닝 데이터(예: 선택 옵션에 대응하는 오디오 데이터 조각 또는 서명)로 트레이닝될 수 있다. 일부 구현예에서, 모델을 기계 학습 모델, 예를 들어 네트워크 아키텍처에 따라, 예를 들어 하나 이상의 레이어에 배열된 하나 이상의 노드, 네트워크 아키텍처를 통해 연결된 다양한 노드 및 연관된 가중치를 갖는 신경 네트워크이다. 예를 들어, 모델의 트레이닝 단계에서, 트레이닝 데이터를 사용하여 모델이 트레이닝될 수 있으며, 추론 단계에서는 트레이닝된 모델이 입력 데이터에 기초하여 출력을 제공할 수 있다. 모델에 포함될 수 있는 특징의 추가 예는 도 15와 관련하여 아래에 설명되어 있다. 선택 옵션을 검출하기 위해 다른 유형의 모델이나 기법을 사용할 수도 있다.
일부 예시적인 구현예에서, 하나 이상의 기계 학습 모델(들)을 포함하는 시스템은 통화로부터의 오디오 데이터를 스트리밍 방식으로 프로세싱하고, 스피치 인식 모델(들)을 통해 오디오 데이터를 실행하여 텍스트를 제공하고(블록(402)에서와 같이) 그런 다음 BERT(Bidirectional Encoder Representations from Transformers) 또는 선택 옵션 및/또는 통화 구조를 검출하기 위해 기타 적합한 인코딩으로부터 사전 트레이닝된 전용 신경망을 통해 검출한다. 또한 오디오 데이터는 오디오-투-인텐트 아키텍처를 통해 직접 프로세싱될 수 있으며 결과는 출력 조합에 따라 달라질 수 있다. 출력은 선택 옵션 세트와 오디오 데이터에서 검출된 해당 옵션의 통화 메뉴 구조(예: 계층 구조)를 제공한다.
일부 구현예에서 여러 가지 다른 기능을 사용할 수 있다. 예를 들어, 일부 시스템은 오디오 데이터 스트림을 수신하고, 텍스트를 스피치로 실시간 프로세싱하며 스트리밍 스피치 인식 기능을 가질 수 있다; 기계 학습 모델은 추가 오디오 데이터가 수신됨에 따라 스트리밍 오디오 데이터의 인식이 변경되면서 시간이 지남에 따라 인식된 텍스트를 수정할 수 있다; 모델은 스피치 인식의 신뢰 수준을 결정할 수 있다; 모델은 스피치 등을 인식하는데 도움이 되도록 오디오 및 타이밍(예: 단어 사이의 일시 중지)과 같은 비텍스트 단서 또는 데이터 부분을 사용할 수 있다. 방법은 블록(406)로 계속된다.
블록(406)에서, 캐싱된 선택 옵션이 현재 통화에서, 예를 들어 도 2의 블록 220에서 디스플레이되어, 타겟 엔터티가 해당 옵션을 말하기 전에 사용자에게 이용 가능한 선택 옵션을 표시했는지 여부가 결정된다. 캐싱된 선택 옵션이 디스플레이되지 않은 경우, 방법은 아래에 설명된 블록(414)으로 계속될 수 있다. 캐싱된 선택 옵션이 디스플레이되면 방법은 블록(408)로 계속된다.
블록(408)에서, 블록(404)에서 결정된 현재 선택 옵션(들)과 디스플레이된 캐싱된 선택 옵션(들) 사이에 불일치가 있는지 여부, 예를 들어 이러한 옵션들 사이에 하나 이상의 임계값을 충족할 만큼 충분히 중요한 차이가 있는지 여부가 결정된다. 현재 선택 옵션은 캐싱된 선택 옵션과 비교되며, 일부 구현예에서는 현재 선택 옵션과 캐싱된 선택 옵션의 메뉴 구조가 비교된다.
다양한 구현예에서, 현재 선택 옵션은 다양한 기법 중 하나 이상을 사용하여 캐싱된 선택 옵션과 비교될 수 있다. 제1 기법의 일부 예에서, 캐싱된 선택 옵션의 텍스트는 현재 선택 옵션의 대응하는 결정된 텍스트와 비교될 수 있다. 이러한 옵션의 텍스트는 스피치 인식 오류(예: 오디오 데이터에 영향을 준 통화의 음향 특성 불량 또는 다른 이유 등)로 인해 많은 경우 정확하게 일치하지 않을 수 있다. 일부 구현예에서, 현재 선택 옵션과 캐싱된 선택 옵션 사이의 불일치의 크기 또는 심각도는 예를 들어 텍스트 비교 기법을 사용하여 결정될 수 있다. 불일치 크기가 임계값 미만인 경우 캐싱된 선택 옵션과 현재 선택 옵션이 일치하는 것으로 간주될 수 있다.
선택 옵션을 비교하기 위한 다른 기법의 일부 예에서, 도 2의 블록(222)에서 수신된 통화의 오디오 데이터는 캐싱된 선택 옵션(이용 가능한 경우)의 대응하는 오디오 데이터 부분과 비교될 수 있으며, 오디오 데이터의 차이가 결정될 수 있다. 일부 구현에서, 캐싱된 선택 옵션은 현재 호출(예를 들어, 전술한 바와 같이 도 3의 블록(312)에서 개시된 호출에서) 이전에 이루어진 타겟 엔터티 식별자에 대한 통화로부터의 특정 오디오 데이터에 기초할 수 있고, 사용자 허가를 얻은 경우; 이러한 오디오 데이터는 기계 학습 모델을 트레이닝하는데 사용될 수 있다(예: 선택 옵션을 검출하는데 사용). 예를 들어, 사용자 허가를 얻은 경우, 캐싱된 선택 옵션을 결정하는데 사용된 오디오 데이터(예: 이전 통화로부터의)가 예를 들어 통화 디바이스의 로컬 메모리에 저장되거나 원격 디바이스에서 검색된 캐싱된 선택 옵션과 연관되어 저장될 수 있다(또는 오디오 데이터에서 파생된 오디오 서명이 저장될 수 있음). 캐싱된 옵션과 현재 선택 옵션에 대응하는 오디오 데이터(또는 대응하는 오디오 서명)를 비교하여 차이점을 찾을 수 있다. 현재 오디오 데이터와 캐싱된 오디오 데이터에서 오디오 데이터의 상당한 차이가 발견되면(예: 임계값 차이보다 큰 경우) 불일치가 있을 수 있다. 서로 다른 통화의 오디오 품질에 발생할 수 있는 변화를 설명하기 위해 강력한 비교 기법이 선택될 수 있다.
현재 선택 옵션의 텍스트의 정확성을 결정하기 위한 기법의 일부 예에서, 오디오 데이터와 현재 선택 옵션의 텍스트는 모두 오디오와 텍스트를 정렬함으로써 텍스트의 정확성을 결정하는데 사용될 수 있다. 예를 들어, 기계 학습 모델은 오디오 데이터 입력 및/또는 이전 통화의 선택 옵션에서 인식된 텍스트에 기초하여 트레이닝되어 현재 통화의 오디오 데이터에서 텍스트가 정확하게 인식되었을 가능성에 대한 표시를 출력할 수 있다. 텍스트가 정확할 가능성은 현재 통화의 오디오 데이터, 예를 들어 텍스트에 대응하는 단어와 단어의 컨텍스트를 형성하는 주변 단어에 대한 오디오 데이터에 기초하여 결정된다. 이러한 모델은 블록(404)에서 결정된 현재 선택 옵션의 텍스트의 정확도를 제공하는데 사용될 수 있다. 일부 구현예에서, 대응하는 캐싱된 선택 옵션의 오디오 데이터 및/또는 텍스트는 모델 출력의 정확도를 높이기 위해 모델에 대한 추가 참조 또는 비교를 제공하기 위해 모델에 대한 입력으로 제공될 수 있다(예를 들어, 모델은 보충 입력에 기초하여 트레이닝되었을 수 있음). 일부 구현예에서, 이 기법은 현재 선택 옵션에 대한 음성 인식 기법으로서 블록(402)에서 사용될 수 있다.
현재 통화로부터 통화 메뉴 구조의 적어도 일부를 결정하기 위해 충분한 현재 선택 옵션(및 사용자 선택)이 수신된 경우, 캐싱된 선택 옵션과 현재 선택 옵션의 메뉴 구조가 비교될 수 있다. 예를 들어 이전 선택 옵션에서 탐색된 선택 옵션을 캐싱된 메뉴와 현재 통화 메뉴 간에 비교할 수 있다.
블록(408)의 비교는 일부 구현예에서 캐싱된 선택 옵션(및/또는 메뉴 구조)이 올바르지 않을 수 있는지 여부를 결정할 수 있다. 예를 들어, 타겟 엔터티가 통화 메뉴를 변경했을 수 있으며, 캐싱된 선택 옵션은 타겟 엔터티가 제시한 선택 옵션이 변경되기 전에 이전에 획득되었을 수 있다. 블록(404)에서 결정된 선택 옵션은 통화 옵션이 현재 통화에서 검출되고 있기 때문에 일반적으로 더 최신일 수 있다.
현재 선택 옵션이 디스플레이된 캐싱된 선택 옵션(및 통화 메뉴 구조가 일치)과 일치하면(예를 들어, 하나 이상의 임계값에 기초하여), 방법은 아래에 설명되는 블록(418)으로 계속될 수 있다. 이 경우 현재 선택 옵션과 크게 불일치하지 않으므로 디스플레이된 시각적 옵션은 변경되거나 업데이트되지 않는다. 현재 선택 옵션과 캐싱된 선택 옵션이 일치하지 않는 경우, 예를 들어 현재 선택 옵션 중 하나가 하나 이상의 임계값에 기초하여 디스플레이된 캐싱된 선택 옵션과 다른 경우(또는 통화 메뉴 구조가 다른 경우) 방법은 블록(410)으로 진행한다.
블록(410)에서, 현재 선택 옵션(들)과 다른 캐싱된 선택 옵션(들)은 현재 선택 옵션(들)에 기초하여 수정된다. 예를 들어, 다른 캐싱된 선택 옵션(들)을 저장하는 캐시 또는 기타 저장소는 다른 캐싱된 선택 옵션(들)(잘못된 것으로 간주됨)을 올바른 것으로 간주되는 대응하는 현재 선택 옵션(들)으로 선택적으로 교체함으로써 업데이트될 수 있다. 일부 예에서, "to receive information about your order, say or press 3"라는 캐싱된 선택 옵션은 대응하는 현재 선택 옵션에 대해 "to receive information about your order, say or press 4"로 검출될 수 있고, 여기서 각 단어는 숫자만 제외하고 일치하며; 따라서 옵션을 수정하기 위해 이 선택 옵션을 저장하는 스토리지에서 "3"의 이전 인스턴스가 "4"로 변경된다. 일부 구현예에서, 전체 선택 옵션 또는 캐시의 더 큰 부분은 폐기되고 대응하는 현재 선택 옵션(들)으로 대체될 수 있다. 일부 구현예에서, 통화 메뉴 구조에 유사하게 불일치가 존재하는 경우, 일치하지 않는 이전 구조 엘리먼트는 방법(400)에서 결정된 엘리먼트로 대체될 수 있다.
일부 구현예에서, 오래된 선택 옵션(및/또는 통화 메뉴 구조)에 대한 수정은 또한 또는 대안적으로 이러한 선택 옵션을 저장하여 다른 디바이스에 의해 저장된 선택 옵션을 업데이트할 수 있는 다른 디바이스로 전송될 수 있다. 예를 들어, 서버(또는 다른 원격 디바이스)는 블록(208)에서 획득된 현재 선택 옵션을 저장할 수 있으며, 이 서버는 블록(404)에서 결정된 올바르게 업데이트된 선택 옵션(및/또는 통화 메뉴 구조)을 전송할 수 있다. 일부 구현예에서, 서버는 또한 수정의 정확성을 결정하기 위해 다른 통화 디바이스가 그러한 수정을 서버에 전송했는지 여부를 결정할 수 있다. 예를 들어, 임계 개수의 통화 디바이스가 특정 선택 옵션에 대한 수정 사항을 보낸 경우 서버는 수정 사항이 정확하다고 가정하고 해당 저장된 선택 옵션에 수정 사항을 적용할 수 있다.
일부 구현예에서, 캐싱된 선택 옵션(및/또는 통화 메뉴 구조)은 예를 들어 하나 이상의 특정 조건이 적용되는 경우 현재 선택 옵션의 차이에 기초하여 수정되지 않을 수 있다. 예를 들어, 일부 구현예에서, 현재 선택 옵션(및/또는 통화 메뉴의 구조)이 특정 임계값 미만의 신뢰 수준으로 스피치 인식 기법에 의해 인식된 경우, 현재 선택 옵션이 올바르게 인식되지 않았을 수 있고, 캐싱된 선택 옵션은 수정되지 않는다. 일부 구현예에서, 캐싱된 선택 옵션이 현재 시간 이전의 임계 기간보다 오래된 생성 날짜를 갖는 경우 캐싱된 선택 옵션이 조정될 수 있으며, 이에 따라 해당 옵션이 오래되거나 만료될 가능성이 더 높다는 것을 나타낸다. 방법은 블록(412)로 계속된다.
블록(412)에서, 통화 디바이스에 의해 디스플레이되는 시각적 옵션(들)은 현재 통화로부터 블록(404)에서 결정된 현재 선택 옵션(들)에 기초하여 업데이트된다. 예를 들어, 블록(410)에서 부정확하거나 오래된 것으로 밝혀진 선택 옵션에 대응하는 시각적 옵션은 잘못된 옵션을 대체한 대응하는(예를 들어 현재) 선택 옵션에 대응하는 시각적 옵션으로 대체될 수 있다. 일부 예에서는 잘못된 시각적 옵션의 텍스트가 올바른 시각적 옵션의 텍스트로 변경된다. 일부 구현예에서, 수정이 수행되었음을 표시하고 및/또는 어떤 수정이 수행되었는지 구체적으로 디스플레이할 수 있는 알림이 통화 디바이스의 사용자 인터페이스에 디스플레이된다. 일부 구현예에서, 특정 조건, 예를 들어 선택 옵션의 텍스트에 대한 스피치 인식의 신뢰 수준이 임계값 미만인 경우 수정이 수행되지 않는다. 일부 구현예에서, 디스플레이된 시각적 옵션과 통화 중 스피치 사이에 불일치가 있을 수 있음을 나타내는 알림이 디스플레이될 수 있다(예를 들어, 시각적 옵션의 정보가 통화 중 타겟 엔터티에 의해 말한 것과 다를 수 있음을 나타냄). 일부 구현예에서, 수정은 수행되지 않으며 대응하는 선택 옵션 중 하나 이상이 올바르지 않다는 결정에 응답하여 잘못된(및/또는 모든) 시각적 옵션이 화면에서 제거될 수 있다. 방법은 아래에 설명되는 블록(418)으로 계속될 수 있다.
블록(414)에서, 캐싱된 선택 옵션이 현재 통화에 대해 사용 가능하고 디스플레이되지 않았다고 블록(406)에서 결정된 후, 블록(404)에서 결정된 현재 선택 옵션이 통화 디바이스의 로컬 메모리에 캐싱될 수 있다. 일부 구현예에서, 이러한 캐싱된 선택 옵션은 예를 들어 현재 통화에서 사용자가 메뉴 레벨을 다시 방문하는 경우 현재 통화에서 디스플레이하기 위해 나중에 검색될 수 있고 및/또는 추후 통화에서 검색되어 디스플레이될 수 있다. 일부 경우에, 현재 선택 옵션 중 하나 이상은 예를 들어 현재 통화 또는 이전 통화에서 방법(400)의 이전 반복에서 이미 캐싱되었을 수 있다. 방법은 블록(416)로 계속된다.
블록(416)에서는 블록(404)에서 결정된 현재 선택 옵션에 기초하여 현재 통화에 대한 시각적 옵션이 결정되고 디스플레이된다. 일부 구현예에서, 선택 옵션은 선택 옵션이 완료되었음을 설명하는 스피치 후에 디스플레이되고, 각각의 추가적인 선택 옵션은 대응하는 스피치가 그것을 설명하는 것을 마친 후에(예를 들어, 현재 통화 동안 방법(400)의 나중 반복에서) 디스플레이될 수 있다. 일부 구현예에서, 이것이 현재 통화에 대한 블록(416)의 제1 반복이라면, 시각적 옵션은 현재 통화에 대해 사용자 인터페이스에 디스플레이되는 제1 시각적 옵션일 수 있다. 이후 반복에서, 블록(416)에 디스플레이된 시각적 옵션은 이전 반복(들)에 디스플레이된 기존 시각적 옵션에 추가될 수 있다. 방법은 블록(418)로 계속된다.
블록(418)에서, 통화에서 타겟 엔터티에 의해 현재 발화되고 있는 시각적 옵션의 일부를 가리키도록 현재 음성 텍스트의 표시자가 사용자 인터페이스에 디스플레이 및/또는 업데이트된다. 일부 구현예에서, 디스플레이 표시자는 통화에서 현재 말하고 있는 단어, 문구 또는 전체 선택 옵션을 시각적으로 나타낸다. 이 기능은 이전에 디스플레이된 시각적 옵션 중 어떤 옵션이 현재 통화 중에 스피치로 제시되고 있는지 사용자에게 알려주는데 사용될 수 있다. 다양한 예에서, 표시자는 다양한 형태를 취할 수 있다; 현재 발화되고 있는 시각적 옵션(또는 그 일부)에 대한 굵은 텍스트; 디스플레이되고 있는 시각적 옵션 및 다른 시각적 옵션의 다른 텍스트에 비해 해당 텍스트의 글꼴, 색상, 크기 또는 기타 시각적 특성의 변경; 통화 중에 현재 발화되고 있는 단어와 시각적으로 연관된 인터페이스에 포인터를 추가 등. 예를 들어 포인터는 현재 통화 중인 단어 위에 나타나는 아이콘, 화살표 또는 기타 객체일 수 있다.
일부 구현예에서, (블록(402)에서와 같이) 오디오 데이터로부터 결정된 텍스트 인식의 신뢰도가 임계값 미만인 경우, 블록(412 또는 416)에서 시각적 옵션을 디스플레이할 때 통화 디바이스에 의해 알림이 출력될 수 있다. 일부 구현예에서, 통화 오디오 데이터로부터 인식된 텍스트(예를 들어 블록(402))는 통화 디바이스에서 사용되는 사용자의 표준 언어와 다른 언어로 결정될 수 있으며, 이 텍스트는 통화 메뉴 선택 옵션이 사용자의 언어로 디스플레이되도록 자동으로 번역될 수 있다.
다양한 구현예에서, 블록 중 하나 이상이 방법(400)에서 생략될 수 있는데, 예를 들어 해당 블록의 특정 구성이 특정 구현예에서 제공되지 않는 경우이다. 예를 들어, 캐싱된 선택 옵션이 사용되지 않는 일부 구현예에서는 블록(406-412)이 생략될 수 있다. 다른 예에서, 특정 구현예에서 엔터티 데이터를 획득하는데 사용되지 않는 도 3의 블록은 생략될 수 있다.
본 명세서에 기술된 방법, 블록 및 동작은 도 2-4에 도시되거나 설명된 것과 다른 순서로 수행되거나 및/또는 적절한 경우 다른 블록 또는 동작과 동시에(부분적으로 또는 완전히) 수행될 수 있다. 예를 들어, 도 2의 블록(220)은 블록(222 및/또는 224)과 적어도 부분적으로 동시에 수행될 수 있다. 다른 예에서, 도 4의 블록(414 및 416)은 다른 순서로 및/또는 적어도 부분적으로 동시에 수행될 수 있다. 일부 블록이나 동작은 데이터의 한 부분에 대해 수행되고 나중에 데이터의 다른 부분에 대해 다시 수행될 수 있다. 설명된 모든 블록과 동작을 다양한 구현예에서 수행할 필요는 없다. 일부 구현예에서, 블록 및 동작은 방법에서 다른 순서로 및/또는 다른 시간에 여러 번 수행될 수 있다.
본 명세서에 개시된 하나 이상의 방법은 여러 환경 및 플랫폼에서, 예를 들어, 임의의 유형의 컴퓨팅 디바이스에서 실행할 수 있는 독립 실행형 컴퓨터 프로그램, 모바일 컴퓨팅 디바이스에서 실행되는 모바일 애플리케이션("앱")으로 동작할 수 있다.
본 명세서에 기술된 하나 이상의 방법(예: 200, 300 및/또는 400)은 임의의 유형의 컴퓨팅 디바이스에서 실행될 수 있는 독립 실행형 프로그램, 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 디바이스(예: 셀폰, 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스(손목시계, 팔목밴드, 보석, 모자, 가상 현실 고글 또는 안경, 증강 현실 고글 또는 안경, 헤드 마운트 디스플레이 등), 노트북 컴퓨터 등)에서 실행되는 모바일 어플리케이션("앱")에서 실행될 수 있다. 일 예시에서, 클라이언트/서버 아키텍처가 사용될 수 있어서, 예를 들어, 모바일 컴퓨팅 디바이스(클라이언트 디바이스로서)는 사용자 입력 데이터를 서버 디바이스로 보내고, 서버로부터 출력(예를 들어, 디스플레이용)을 위한 최종 출력 데이터를 수신한다. 다른 예시에서, 방법의 모든 계산은 모바일 컴퓨팅 디바이스의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예에서, 계산은 모바일 컴퓨팅 디바이스와 하나 이상의 서버 디바이스 사이에서 분할될 수 있다.
일 예시에서, 클라이언트/서버 아키텍처가 사용될 수 있어서, 예를 들어, 모바일 컴퓨팅 디바이스(클라이언트 디바이스로서)는 사용자 입력 데이터를 서버 디바이스로 보내고, 서버로부터 출력(예를 들어, 디스플레이용)을 위한 최종 출력 데이터를 수신한다. 다른 예시에서, 모든 계산은 모바일 컴퓨팅 디바이스의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예에서, 계산은 모바일 컴퓨팅 디바이스와 하나 이상의 서버 디바이스 사이에서 분할될 수 있다.
본 명세서에 기술된 방법은 컴퓨터에서 실행될 수 있는 컴퓨터 프로그램 명령어 또는 코드에 의해 구현될 수 있다. 예를 들어, 코드는 하나 이상의 디지털 프로세서(예를 들어, 마이크로프로세서 또는 기타 프로세싱 회로)에 의해 구현될 수 있고, 자기적, 광학적, 전자기적 또는 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 플래시 메모리, 강성 자기 디스크, 광 디스크, 솔리드 스테이트 메모리 드라이브 등을 포함하는 반도체 저장 매체와 같은 비일시적 컴퓨터 판독 가능 매체(예를 들어, 저장 매체)를 포함하는 컴퓨터 프로그램 물에 저장될 수 있다. 대안적으로, 하나 이상의 방법은 하드웨어(논리 게이트 등)에서, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예시적 하드웨어는 프로그래머블 프로세서(예를 들어, FPGA(Field-Programmable Gate Array), 복합 프로그래머블 로직 디바이스), 범용 프로세서, 그래픽 프로세서, ASIC(Application Specific Integrated Circuits) 등일 수 있다. 하나 이상의 방법은 시스템에서 실행되는 애플리케이션의 일부 또는 컴포넌트로 수행되거나 다른 애플리케이션 및 운영 체제와 함께 실행되는 애플리케이션 또는 소프트웨어로 수행될 수 있다.
도 5는 일부 구현예에 따라 통화가 개시될 수 있는 통화 디바이스의 디스플레이 화면에 의해 디스플레이되는 예시적 사용자 인터페이스(500)의 개략도이다. 예를 들어, 인터페이스(500)는 클라이언트 디바이스, 예를 들어 도 1에 도시된 클라이언트 디바이스(120-126) 중 하나 또는 서버 디바이스, 예를 들어 서버 시스템(102)과 같은 다른 디바이스의 디스플레이 디바이스에 의해 터치스크린에 디스플레이될 수 있다.
일부 구현예에서, 사용자 인터페이스(500)는 다른 디바이스에 대한 통화를 개시하고, 다른 디바이스로부터 들어오는 통화에 응답하고, 통화 연결을 통해 다른 디바이스와 통신하는 통화 애플리케이션과 연관될 수 있다. 이 예에서는 타겟 엔터티의 이름(502)이 디스플레이되며, 여기서 타겟 엔터티는 엔터티에 대한 검색 또는 탐색의 결과로, 또는 통화 디바이스 또는 다른 디바이스에서 수행된 다른 사용자 애플리케이션 또는 애플리케이션 프로세스의 결과로, 웹 페이지, 연락처 목록 또는 기타 정보 디스플레이로부터 사용자가 직접 선택했다. 숫자 키패드(508), 식별자 입력 필드(510) 및 통화 컨트롤(512)을 포함하는 통화 인터페이스(504)도 디스플레이된다. 숫자 키패드(508)의 키는 입력 필드(510)에 식별자(514)를 입력하기 위해(예를 들어, 터치스크린 또는 다른 입력 디바이스를 통해) 사용자에 의해 선택될 수 있으며, 예를 들어 한 번에 한 문자 또는 다른 구현예에서는 여러 문자를 입력할 수 있다. 엔터티 식별자(514)는 엔터티 이름(502)이 나타내는 엔터티와 연관되어 있다. 엔터티 식별자(514)를 사용하여 엔터티에 대한 통화가 개시될 수 있다. 예를 들어, 엔터티 식별자(514)는 전화번호로 표시되지만, 식별자와 연관된 엔터티(예: 이메일 주소 또는 기타 주소)에 대한 통화를 가능하게 하기 위해 다른 유형의 식별자도 입력될 수 있다. 일부 구현예에서, 식별자(514)는 예를 들어 사용자가 다른 애플리케이션(예를 들어 지도 애플리케이션, 웹 브라우저 등)에서 타겟 엔터티를 통화하도록 선택하는 것에 응답하여 통화 디바이스에 의해 입력 필드(510)에 자동으로 입력될 수 있고, 이는 통화 디바이스에 의해 인터페이스(500)가 디스플레이되게 한다. 통화 컨트롤(512)은 사용자에 의해 선택되면 통화 디바이스가 이름(502)으로 표시된 타겟 엔터티의 식별자(514)에 다이얼링하고 타겟 엔터티에 대한 통화를 개시하게 할 수 있다.
도 6은 일부 구현예에 따라 통화 중 통화 메뉴에 대한 선택 옵션이 디스플레이되는 통화 인터페이스(600)의 개략도이다. 통화 인터페이스(600)는 통화 디바이스(예를 들어, 클라이언트 디바이스(120-126) 중 하나와 같은 클라이언트 디바이스, 또는 서버 시스템(102)과 같은 다른 디바이스의 디스플레이 디바이스)에 의해 디스플레이될 수 있다. 예를 들어, 통화 인터페이스(600)는 도 5에 도시된 엔터티 식별자(514)를 통해 타겟 엔터티(502)에 대한 통화를 개시한 후에 디스플레이될 수 있다. 일부 예에서, 통화는 도 5의 인터페이스(500)의 통화 컨트롤(512)이 사용자에 의해 선택되는 것에 응답하여 개시될 수 있다. 대안적으로 통화는 다양한 다른 방식으로 개시될 수 있다. 예를 들어 타겟 엔터티 또는 엔터티 식별자의 사용자 선택에 응답하는 애플리케이션에 의해, 다른 이벤트에 대한 응답으로, 사용자의 스케줄링한 명령에 기초하여 자동으로 개시될 수 있다.
현재 통화의 수신자를 나타내기 위해 타겟 엔터티의 이름(602)이 디스플레이될 수 있다. 통화가 개시된 이후 경과된 시간을 나타내기 위해 지속시간도 디스플레이될 수 있다.
일부 구현예에서, 사용자로부터 허가 및/또는 명령이 획득된 경우, 통화 중에 사용자 및 타겟 엔터티에 의해 발화된 모든 스피치의 전사가 통화 디바이스에 의해 전사되고 사용자 인터페이스(600)에 디스플레이될 수 있다. 예를 들어, 스피치의 전사는 사용자 인터페이스(600)의 디스플레이 영역(604)에 디스플레이될 수 있다. 인터페이스(600)는 또한 사용자에 의해 선택될 때 통화 또는 인터페이스(600)와 관련된 기능을 제어하게 하는 다양한 사용자 컨트롤을 포함할 수 있다. 예를 들어, 연결 해제 컨트롤(606)은 통화 디바이스가 통화로부터 연결을 끊게 하고, 키패드 컨트롤(608)은 숫자 키패드(또는 키보드)가 인터페이스(600) 내 또는 인터페이스(예를 들어, 키패드(508)와 유사) 위에 디스플레이되도록 하고, 스피커 컨트롤(610)은 통화 디바이스의 오디오 출력이 스피커폰으로 출력되도록 하고, 음소거 컨트롤(612)은 통화 디바이스에서의 사용자의 스피치 및 기타 사운드가 통화 중인 수신자에게 전송되지 않도록 한다.
도 6의 예에서, 타겟 엔터티에 대한 통화는 자동화된 음성이 말하는 자동 음성(IVR) 시스템(타겟 엔터티)에 의해 응답되고, 사용자(발신자)를 위한 통화 메뉴에서 선택 옵션을 제공한다. 텍스트(614)는 통화 중에 사용자의 통화 디바이스에 의해 검출되고 인식된 스피치로부터 전사된다. 전사된 텍스트(614)의 제1 부분(616)은 통화 메뉴의 선택 옵션도 아니고 그러한 선택 옵션의 일부도 아닌 것으로 검출된 소개 정보를 제공하는 자동화 시스템의 스피치에 대응한다. 다른 구현예에서, 제1 부분(614)과 같은 선택 옵션에 포함되지 않는 것으로 검출된 텍스트는 사용자가 디바이스 그렇게 하도록 기본 설정 또는 설정을 설정하지 않는 한 통화 디바이스에 의해 디스플레이되지 않는다.
텍스트(614)의 제2 부분(618)은 통화에서 기본 언어 또는 제1 부분(616)의 언어와 다른 언어인 것으로 검출된 스피치에 대응한다. 제2 부분(618)은 타겟 엔터티("스페인은 9번을 누르세요")에 의해 제시된 통화 메뉴의 선택 옵션에 대응한다. 도 6에서, 제2 부분(618)은 선택 옵션으로서 아직 검출되지 않았다.
도 7은 일부 구현예에 따라 통화 중 통화 메뉴에 대한 선택 옵션이 검출되고 디스플레이되는 통화 인터페이스(600)의 개략도이다. 도 7의 예에서, 전사된 텍스트(614)(도 6에 도시됨)의 제2 부분(618)은 예를 들어 스피치 인식 기법을 사용하여 통화 메뉴의 선택 옵션으로서 검출되었다. 예를 들어, 단어를 선택 옵션으로 지정하는 단어를 검출한 후, 텍스트의 제2 부분(618)은 인터페이스(600)에서 디스플레이된 연관된 시각적 옵션(702)을 갖는 선택 옵션으로 변환된다(예를 들어, 통화 디바이스 또는 연결된 원격 디바이스에 의해). 또한, 텍스트 부분(614)은 화면에서 제거되고 시각적 옵션(702)으로 대체된다. 일부 구현예에서, 시각적 옵션(702)에 대해 도시된 바와 같이, 텍스트를 시각적 옵션으로 변환할 때 제2 부분(618)의 텍스트 중 일부가 제거될 수 있어 시각적 옵션이 더 명확하게 제시될 수 있도록 한다.
도시된 바와 같이 일부 구현예에서, 시각적 옵션(702)이 버튼과 유사하게 선택될 수 있는 묘사된 옵션임을 나타내기 위해 시각적 옵션(702)의 텍스트 주위에 테두리, 윤곽선 또는 기타 시각적 구분자가 디스플레이될 수 있다. 이 예에서, 음성 선택 옵션("nueve")에 지정된 숫자는 시각적 옵션(702)에 디스플레이된(또는 이와 연관된) 선택 지정자(704)로 변환되며, 이는 시각적 옵션(702)을 선택하기 위해 (예를 들어 키패드 컨트롤(608)을 통해) 키패드에서 선택될 수 있는 숫자를 나타낸다. 이 예에서, 시각적 옵션(702)이 사용자에 의해 선택되면, 자동화 시스템이 현재 통화에서 말하는 언어는 표시된 언어(이 예에서는 스페인어)로 변경된다. 시각적 옵션(702)의 선택은 또한 전사된 텍스트 및 선택 옵션과 같은 인터페이스(600)에 디스플레이되는 텍스트가 선택된 언어로 변경되게 한다.
시각적 옵션(702)은 예를 들어, 터치스크린에서 사용자에 의한 시각적 옵션(702)의 터치, 입력 디바이스의 조작, 음성 명령 등과 같은 사용자 입력을 통해 사용자에 의해 선택 가능하다. 예를 들면, 터치스크린을 통한 터치 입력에 의해 시각적 옵션(702)이 선택되면, 이 옵션의 선택은 통화 디바이스에 의해 타겟 엔터티로 전송된다. 일부 예에서, 도 7의 예에서 키패드상 "9" 키와 같이 사용자가 지정된 숫자 키를 누를 때 출력되는 신호와 동등한 것을 제공하는 통화에서의 신호(예: 톤)를 출력하는 선택이 통화 디바이스에 의해 전송된다. 이는 타겟 엔터티가 사용자가 숫자 "9"와 시각적 옵션(702)과 연관된 대응하는 선택 옵션을 선택했음을 나타내는 신호를 수신하게 한다.
도 7의 예에서, 시각적 옵션(702)은 선택되지 않고, 타겟 엔터티의 자동화 시스템은 통화 메뉴의 추가 선택 옵션을 설명하면서 계속해서 말한다. 스피치는 텍스트 부분(706)으로 검출되고 전사되며, 이 예에서는 선택 옵션으로 검출되기 전에 디스플레이 영역(604)의 시각적 옵션(702) 아래에 원시 텍스트로 디스플레이된다.
도 8은 일부 구현예에 따라 통화 중 통화 메뉴의 추가적인 선택 옵션이 검출되고 디스플레이된 통화 인터페이스(600)의 개략도이다. 도 8의 예에서, 텍스트 부분(706)(도 7에 도시됨)이 선택 옵션으로서 검출되었다. 이 선택 옵션에 대응하는 시각적 옵션(802)은 시각적 옵션(702) 다음에 디스플레이 영역(604)에 디스플레이된다. 텍스트 부분(706)은 화면에서 제거되고 시각적 옵션(802)으로 대체된다.
시각적 옵션(802)은 사용자가 선택할 수 있다. 이 경우, 선택 옵션(802)은 시각적 옵션(702)과 같이 키패드의 키를 누르는 것이 아니라 옵션을 선택하기 위해 단어("travel")인 지정자를 말하는 것을 나타낸다. 사용자가 타겟 엔터티에게 단어를 말하면, 통화 수신자는 해당 단어와 연관된 선택 옵션의 선택을 검출한다. 일부 구현예에서, 스피치로 선택된 선택 옵션은 키패드 키를 눌러 선택되는 선택 옵션과 시각적으로 구별하기 위해 인터페이스(600)에 지정될 수 있다. 이 예에서, 아이콘(804)은 스피치 선택 지정자가 이 선택 옵션을 선택할 수 있음을 나타내기 위해 시각적 옵션(802)(또는 시각적 옵션(802)과 시각적으로 연관됨)에 디스플레이된다. 일부 통화 메뉴에서, 스피치나 사용자의 키 누름을 통해 선택 옵션이 선택될 수 있다. 일부 구현예에서, 그러한 선택 옵션에 대한 시각적 옵션은 키 식별자를 보여주고 스피치에 의한 선택 가능성의 표시를 보여주는 선택 지정자와 함께 디스플레이될 수 있다.
도 8의 예에서, 타겟 엔터티의 추가 스피치 이후, 추가 선택 옵션이 검출되었다. 이러한 선택 옵션은 디스플레이 영역(604)에 연속적으로 디스플레이되는 시각적 옵션으로 디스플레이된다. 각각의 시각적 옵션은 위에서 설명한 시각적 옵션(702 및 802)과 유사하게 결정되고 디스플레이될 수 있다. 일부 구현예에서, 각 선택 옵션의 텍스트가 통화 중 스피치로부터 검출 및 인식됨에 따라, 도 6 및 도 7에 도시된 것과 유사하게 시각적 옵션으로 제공된다. 일부 구현예에서, 통화 중 스피치는 통화에서 현재 메뉴 레벨의 통화 메뉴 선택 옵션이 모두 발화될 때까지 원시 텍스트로 디스플레이될 수 있으며, 이때 텍스트는 텍스트 대신에 디스플레이되는 시각적 옵션으로 변환된다.
일부 구현예에서, 현재 메뉴 레벨에서 모든 선택 옵션이 검출되어 디스플레이되기 전에 사용자가 임의의 시각적 옵션을 선택하면, 현재 메뉴 레벨의 나머지 선택 옵션은 시각적 옵션으로 디스플레이되지 않는다(예를 들어 선택을 수신하면, 타겟 엔터티는 현재 메뉴 레벨에서 추가적인 선택 옵션 말하기를 중단하고 다음 메뉴 레벨에서 선택 옵션 말하기를 시작할 수 있음).
도 8에서, 사용자는 인터페이스(600)에 디스플레이된 선택 옵션 중 어느 것도 선택하지 않았으며, 추가 선택 옵션이 시각적 옵션(702 및 802)과 유사하게 연관된 시각적 옵션으로 검출되어 디스플레이되었다. 예를 들어, 시각적 옵션(806 및 808)은 키 누름에 의해 선택 가능한 것으로 검출되어, 선택 지정자(810 및 812)가 각각 이러한 옵션을 선택하기 위한 키패드 키에 대응하는 숫자와 함께 디스플레이된다. 시각적 옵션(814)은 선택 지정자(816)가 별 기호와 함께 디스플레이되도록 키패드의 "별" 키를 누름으로써 선택 가능한 것으로 검출된다.
도 9는 일부 구현예에 따라 통화 메뉴의 시각적 옵션이 사용자에 의해 선택된 통화 인터페이스(600)의 개략도이다. 도 9의 예에서, 사용자는 시각적 옵션(808)의 위치에서 통화 디바이스의 터치스크린을 탭하여 해당 시각적 옵션을 선택했다. 이 예에서, 선택에 응답하여, 통화 디바이스는 시각적 옵션(808)이 선택되었음을 나타내기 위해 선택 지정자(812)(도 8에 도시됨) 대신에 선택된 아이콘(902)을 디스플레이하고, 통화 메뉴의 다른 시각적 옵션(702, 802, 806 및 814)은 선택된 시각적 옵션(808)을 강조하기 위해 가시성이 덜한 상태로 디스플레이된다(예: 밝기 및/또는 색상이 배경 밝기/색상에 더 가깝게 변경됨). 다양한 구현예는 디스플레이된 통화 메뉴의 다른 시각적 옵션과 관련하여 선택된 시각적 옵션을 강조 표시하는 다른 방법을 제공할 수 있다.
시각적 옵션(808)의 선택에 응답하여, 통화 디바이스는 선택된 번호("2")를 나타내는 통화에서의 신호를 타겟 엔터티에 전송한다. 타겟 엔터티는 아래 설명과 같이 선택된 번호를 수신하고 이에 따라 응답한다.
도 10는 일부 구현예에 따라 통화 메뉴의 시각적 옵션이 선택된 통화 인터페이스(600)의 개략도이다. 도 10의 예에서, 타겟 엔터티는 도 9에 도시된 시각적 옵션(808)에 대응하는 선택을 수신한 후, 선택된 옵션(통화 메뉴의 제2, 제3 또는 후속 레벨일 수 있음)에 기초하여 통화 메뉴를 다른 레벨로 변경한다. 이 예에서, 통화 메뉴 탐색 경로의 다음 메뉴 레벨은 통화 중 타겟 엔터티가 말하고 통화 디바이스에 의해 검출되며 디스플레이된 시각적 옵션(1002, 1004 및 1006)으로 변환되는 여러 선택 옵션을 포함한다. 통화 메뉴의 현재 레벨에 추가 선택 옵션이 있는 경우 추가적인 시각적 옵션이 디스플레이될 수 있다. 이러한 시각적 옵션 중 하나가 이전 시각적 옵션에 대해 위에서 설명한 것과 유사하게 사용자에 의해 선택될 수 있다. 도시된 바와 같이 일부 구현예에서, 디스플레이 화면이 아래로 스크롤되어 통화 메뉴에서 검출되는 추가 시각적 옵션을 디스플레이할 수 있다.
도 11은 일부 구현예에 따라 통화 중에 대응하는 선택 옵션을 말하기 전에 통화 메뉴의 시각적 옵션이 디스플레이되는, 통화 디바이스에 의해 디스플레이되는 통화 인터페이스(1100)의 개략도이다. 통화 인터페이스(1100)는 도 6에 도시된 통화 인터페이스(600)와 유사할 수 있다. 일부 구현예에서, 통화 인터페이스(1100)는 통화 디바이스가 엔터티 식별자를 통해 도 5의 타겟 엔터티(502)와 같은 타겟 엔터티에 대한 통화를 개시한 후에 디스플레이될 수 있다. 일부 구현예에서, 통화 인터페이스(1100)(또는 도 5의 사용자 인터페이스(500)와 같은 유사한 인터페이스)는 타겟 엔터티에 대한 통화를 개시하기 전에 디스플레이될 수 있다. 예를 들어, 통화 전에 타겟 엔터티의 엔터티 식별자를 통해 통화가 개시된 후 통화에서 사용자가 어떤 옵션을 사용할 수 있는지를 나타내는 선택 옵션이 타겟 엔터티에 대해 디스플레이될 수 있다.
이 예에서, 예를 들어 사용자가 도 5의 인터페이스(500)의 통화 컨트롤(512)을 선택하는 것에 응답하여 또는 다른 방식 중 하나로 통화가 개시된다. 현재 통화의 타겟 엔터티와 연관된 타겟 엔터티의 이름(1102)이 디스플레이될 수 있고, 통화가 개시된 이후 경과된 시간을 나타내는 지속시간이 디스플레이될 수 있다. 일부 구현예에서, 사용자로부터 허가 및/또는 명령이 획득된 경우, 통화 중에 발신자 및 수신자에 의해 발화된 모든 스피치의 전사가 통화 디바이스에 의해 전사되고, 도 6의 통화 인터페이스(600)와 유사하게 사용자 인터페이스(1100)에서 디스플레이 영역(1104)에 디스플레이될 수 있다. 연결 해제 컨트롤(1106), 키패드 컨트롤(1108), 스피커 컨트롤(1110) 및 음소거 컨트롤(1112)은 위에서 설명된 대응하는 컨트롤과 유사할 수 있다.
도 11의 예에서, 통화 메뉴(1120)는 통화 개시 직후 또는 통화 개시 중에 디스플레이된다(또는 전술한 바와 같이 통화 개시 전에 디스플레이될 수도 있다). 이 예에서 통화 메뉴(1120)는 도 6-10에 대해 전술한 선택 옵션과 유사한 5개의 시각적 옵션(1122, 1124, 1126, 1128, 1130)을 포함한다. 이러한 시각적 옵션에 대한 선택 옵션은 본 명세서에 설명된 바와 같이 통화 이전에 수신된 선택 옵션 데이터에 기초하여 타겟 엔터티가 말하기 전에 통화 디바이스가 액세스 가능한다. 타겟 엔터티가 해당 선택 옵션을 말하기 전에 통화 메뉴(1120)의 시각적 옵션을 디스플레이하면 사용자가 통화 메뉴를 미리 볼 수 있으며, 일부 통화 메뉴 구현예에서는 타겟 엔터티가 메뉴의 나머지 옵션을 말하지 않고도 통화 메뉴를 다른 레벨로 진행할 수 있게 하는 선택 옵션을 사용자가 선택하게 한다.
일부 구현예에서, 도 11에 도시된 바와 같이, 타겟 엔터티에 대한 통화에서 타겟 엔터티의 음성 콘텐츠의 다른 부분은 여기에 설명된 통화 메뉴의 선택 옵션과 유사하게 통화 이전에 검색될 수 있으며 통화 중에 해당 텍스트를 타겟 엔터티가 말하기 전에 디스플레이될 수 있다. 도 11의 예에서, 텍스트(1132)는 타겟 엔터티가 해당 텍스트를 말하기 전에 디스플레이되고, 디스플레이 영역(1104)의 통화 메뉴 선택 옵션 위에 디스플레이된다. 예를 들어, 텍스트(1132)는 통화 이전에 획득된 선택 옵션 정보에 기초하여 통화 메뉴의 선택 옵션의 일부가 아닌 것으로 검출되거나 이전에 알려진 도 6의 예와 유사한 소개 정보를 포함할 수 있다.
통화 중에 타겟 엔터티는 통화 디바이스 및/또는 기타 연결된 디바이스에서 검출되고 인식되는 스피치 정보를 발화한다. 일반적으로, 스피치 정보는 디스플레이된 텍스트 및 시각적 옵션과 일치해야 한다(일부 스피치 정보를 선택 지정자 아이콘 또는 숫자와 같은 시각적 옵션 형식으로 변환하기 때문에 스피치 정보는 디스플레이된 시각적 옵션과 정확하게 일치하지 않을 수 있다). 도 4와 관련하여 전술한 바와 같이, 음성 정보가 시각적 옵션의 텍스트와 일치하지 않는 경우, 시각적 옵션이 수정될 수 있고 원래 버전 대신 수정된 버전이 디스플레이될 수 있다. 수정이 수행되지 않는 일부 구현예 또는 경우에, 오류가 시각적 옵션에 존재할 수 있음을 나타내는 알림이 디스플레이될 수 있으며 및/또는 하나 이상의 시각적 옵션이 디스플레이 화면에서 제거될 수 있다.
도시된 바와 같은 일부 구현예에서, 통화에서 타겟 엔터티에 의해 현재 말하고 있는 디스플레이된 텍스트(선택 옵션의 텍스트 포함)의 일부를 나타내기 위해 표시자가 디스플레이될 수 있다. 이 예에서 표시자는 현재 음성 텍스트(1134)를 굵은 글꼴로 강조 표시한다. 다음 텍스트(1134) 및 선택 옵션(1122-1130)은 통화 중 아직 발화되지 않았으며, 일반(예: 볼드체가 아닌) 글꼴로 디스플레이되거나 가시성이 감소된 상태로 디스플레이된다(예: 배경 밝기 및/또는 색상에 따라 더 높거나 낮은 밝기). 이 예에서, 통화 메뉴의 음성 부분이 계속해서 새 텍스트를 강조하므로 통화에서 이전에 발화된 텍스트는 굵게 강조된 상태로 유지되어, 새로운 리딩 굵은 텍스트가 통화에서 현재 발화된 텍스트를 나타내도록 한다. 일부 구현예에서, 도 12에 도시된 바와 같이, 선택 옵션의 일부가 아닌 이전에 발화된 텍스트가 선택 옵션의 텍스트에 비해 감소된 강조로 표시될 수 있다. 일부 구현예에서, 현재 발화된 텍스트는 예를 들어, 디스플레이된 다른 텍스트와 다른 색상으로 디스플레이되거나, 현재 발화된 텍스트 위 또는 근처에 별도의 포인터, 화살표 또는 기타 시각적 표시자를 표시하는 등 다른 방식으로 강조 표시될 수 있다.
현재 수신자가 말하는 텍스트의 디스플레이된 표시를 통해 사용자는 음성 통화 메뉴의 진행 상황을 한 눈에 볼 수 있으며, 이는 예를 들어 타겟 엔터티가 현재 사용자가 제공된 옵션을 선택하기를 기다리고 있는지 여부를 사용자가 알 수 있게 한다. 통화 메뉴의 일부 구현예에서, 타겟 엔터티는 통화 메뉴를 말하는데 특정 정도의 진행이 이루어질 때까지 선택 옵션의 선택에 응답하지 않을 수 있다. 예를 들어, 선택 옵션을 선택하려면 선택 옵션이 먼저 완전히 발화되거나 특정 양만큼 부분적으로 발화되어야 할 수 있다. 이러한 구현예 중 일부에서, 통화 중 현재 음성 텍스트 표시기를 제공하면 사용자가 시각적 옵션을 선택할 수 있는 시기를 예측할 수 있으므로, 타겟 엔터티가 응답하지 않는 사용자에 의한 옵션 선택의 낭비되는 시도를 잠재적으로 줄일 수 있다.
도 12는 일부 구현예에 따라 현재 음성 텍스트의 표시자가 통화 메뉴의 시각적 옵션으로 진행되는 도 11의 통화 인터페이스(1100)의 개략도이다. 이 예에서, 타겟 엔터티는 소개 텍스트(1132)의 나머지 부분과 시각적 옵션(1122)으로 표현되는 선택 옵션을 발화했다. 따라서, 모든 텍스트(1132) 및 시각적 옵션(1122)은 강조된 형태, 예를 들어 굵은 텍스트 및/또는 더 큰 가시성으로 디스플레이된다. 또한, 시각적 옵션(1124)의 초기 부분(1202)이 현재 수신자에 의해 발화되고 있으므로, 해당 부분(1202)은 시각적 옵션(1124)의 다른 부분에 비해 강조된 형태로 표시된다(일부 구현예에서, 시각적 옵션의 하나 이상의 부분은 또한 표시된 선택 지정자 및/또는 옵션의 테두리와 같은 시각적 옵션의 적어도 일부가 발화될 때 강조 표시된다). 시각적 옵션(1126, 1126 및 1130)은 타겟 엔터티가 아직 말하지 않았으며 가시성이 감소된 상태로 디스플레이된다.
도 13는 일부 구현예에 따라 현재 음성 텍스트의 표시자가 통화 메뉴의 더 진행되는 도 11의 통화 인터페이스(1100)의 개략도이다. 이 예에서 타겟 엔터티는 소개 텍스트(1132)와 시각적 옵션(1122, 1124 및 1126)으로 표현되는 선택 옵션을 말했다. 따라서, 텍스트(1132) 및 이러한 시각적 옵션은 말하기 전보다 가시성이 더 높은 강조된 형태로 디스플레이된다. 게다가, 시각적 옵션(1128)의 초기 부분(1302)은 현재 수신자에 의해 발화되고 있으므로, 부분(1302)은 시각적 옵션(1128)의 다른 부분에 비해 강조된 형태로 디스플레이된다. 시각적 옵션(1130)은 타겟 엔터티가 아직 말하지 않았으며 가시성이 감소된 상태로 디스플레이된다.
도 14는 일부 구현예에 따라 현재 음성 텍스트의 표시자가 통화 메뉴의 다음 레벨로 진행되는 도 11의 통화 인터페이스(1100)의 개략도이다. 이 예에서 타겟 엔터티는 소개 텍스트(1132)와 통화 메뉴의 초기 레벨의 모든 선택 옵션을 말했다. 따라서, 텍스트(1132) 및 이러한 시각적 옵션은 강조된 형태로 디스플레이된다(디스플레이 화면의 스크롤로 인해 현재 도 14에는 시각적 옵션(1126, 1128, 1130)만 표시됨). 또한, 사용자는 선택 지정자(1402)에 의해 표시된 바와 같이 시각적 옵션(1128)을 선택했다.
시각적 옵션(1128)을 선택한 후, 통화 디바이스에 의해 통화 메뉴의 다음 레벨이 디스플레이된다. 도 11에 디스플레이된 이전 레벨과 마찬가지로, 다음 레벨의 시각적 옵션은 본 명세서에 설명된 바와 같이 이러한 옵션을 나타내는 데이터에 액세스한 통화 디바이스로 인해 미리 알려져 있으며, 다음 레벨의 시각적 옵션은 통화에서 발화되기 전에 디스플레이된다. 다음 레벨의 시각적 옵션은 시각적 옵션(1404, 1406, 1408 및 1410)으로 디스플레이된다. 도 14의 예에서, 시각적 옵션(1404)의 초기 부분(1412)이 현재 수신자에 의해 발화되고 있으므로, 해당 부분(1412)은 시각적 옵션(1404)의 다른 부분에 비해 강조된 형태로 표시된다(일부 구현예에서, 도시된 바와 같이, 시각적 옵션의 하나 이상의 부분도 연관된 키 번호의 선택 지정자와 같이 강조 표시될 수 있다). 시각적 옵션(1406-1410)은 타겟 엔터티가 아직 말하지 않았으며 가시성이 감소된 상태로 디스플레이된다.
도 6-14의 예에서, 사용자 및/또는 통화 디바이스는 통화를 개시한 발신자이며, 예시적 통화에서 타겟 엔터티는 수신자(엔티티 수신자)이다. 다른 예에서, 타겟 엔터티는 사용자 및/또는 통화 디바이스에 전화를 걸어 타겟 엔터티가 발신자이고 사용자 및/또는 통화 디바이스가 수신자가 되도록 할 수 있다.
도 15는 본 명세서에 기술된 하나 이상의 구성들을 구현하기 위해 사용될 수 있는 예시적 디바이스(1500)의 블록도이다. 일 예에서, 디바이스(1500)는 클라이언트 디바이스, 예를 들어 도 1에 도시된 클라이언트 디바이스들(120-126) 중 임의의 것을 구현하는데 사용될 수 있다. 대안적으로, 디바이스(1500)는 서버 디바이스, 예를 들어 서버 디바이스(104) 등을 구현할 수 있다. 일부 구현예에서, 디바이스(1500)는 클라이언트 디바이스, 서버 디바이스 또는 이들의 조합을 구현하는데 사용될 수 있다. 디바이스(1500)는 본 명세서에 기술된 임의의 적절한 컴퓨터 시스템, 서버 또는 기타 전자 또는 하드웨어 디바이스일 수 있다.
일부 구현예에서, 디바이스(1500)는 프로세서(1502), 메모리(1504), 및 I/O 인터페이스(1506)를 포함한다. 프로세서(1502)는 프로그램 코드를 실행하고 디바이스(1500)의 기본 동작을 제어하기 위한 하나 이상의 프로세서 및/또는 프로세싱 회로일 수 있다. "프로세서"는 데이터, 신호 또는 기타 정보를 프로세싱하는 임의의 적절한 하드웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는 하나 이상의 코어(예: 단일 코어, 듀얼 코어 또는 다중 코어 구성)를 갖는 범용 CPU, 다중 프로세싱 유닛(예: 멀티프로세서 구성), 그래픽 프로세싱 유닛(GPU), FPGA(Field-Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), CPLD(Complex Programmable Logic Device), 기능을 구현하기 위한 전용 회로, 신경 네트워크 기반 프로세싱을 구현하는 특수-목적 프로세서, 신경 회로, 행렬 계산(예: 행렬 곱셈)에 최적화된 프로세서 또는 기타 시스템을 포함하는 시스템을 포함할 수 있다.
일부 구현예에서, 프로세서(1502)는 신경 네트워크 프로세싱을 구현하는 하나 이상의 코-프로세서를 포함할 수 있다. 일부 구현예에서, 프로세서(1502)는 확률적 출력을 생성하기 위해 데이터를 프로세싱하는 프로세서일 수 있으며, 예를 들어, 프로세서(1502)에 의해 생성된 출력은 부정확할 수 있거나 예상된 출력으로부터의 범위 내에서 정확할 수 있다. 예를 들어, 프로세서는 "실시간", "오프라인", "배치 모드" 등에서 그 기능을 수행할 수 있다. 프로세싱의 일부는 상이한(또는 동일한) 프로세싱 시스템에 의해 상이한 시간 및 상이한 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다.
메모리(1504)는 일반적으로 프로세서(1502)에 의한 액세스를 위해 디바이스(1500)에 제공되며, 프로세서에 의한 실행을 위한 명령어 저장에 적합하고 프로세서(1502)와 분리되어 위치되거나 및/또는 그와 통합된 임의의 적절한 프로세서 판독가능 저장 매체, 예를 들어 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 전기적 소거 가능 읽기 전용 메모리(EEPROM), 플래시 메모리 등일 수 있다. 메모리(1504)는 운영 체제(1508), 기계 학습 애플리케이션(1530), 다른 애플리케이션(1512) 및 애플리케이션 데이터(1514)를 포함하는 프로세서(1502)에 의해 서버 디바이스(1500) 상에서 동작하는 소프트웨어를 저장할 수 있다. 다른 애플리케이션(1512)은 데이터 디스플레이 엔진, 통신 애플리케이션(예를 들어, 다이얼러 또는 통화 애플리케이션, OTT(over-the-top) 통화 애플리케이션, 통화 기능이 있는 기타 애플리케이션, 예를 들어 은행, 레스토랑 또는 앱을 제공하는 기타 조직/제공자와 같은 특정 엔터티와 연관된 애플리케이션), 웹 호스팅 엔진, 이미지 디스플레이 엔진, 알림 엔진, 소셜 네트워킹 엔진 등과 같은 애플리케이션을 포함할 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530) 및/또는 다른 애플리케이션(1512)은 프로세서(1502)로 하여금 본 명세서에 기술된 기능 예를 들어, 도 2, 3 및/또는 4의 방법의 일부 또는 전부를 수행하게 하는 명령어를 각각 포함할 수 있다. 애플리케이션 데이터(1514)는 선택 옵션 데이터 및 기타 엔터티 데이터와 같은 통화 메뉴 데이터, 통화의 오디오 데이터(사용자 허가 포함), 통화 메뉴의 오디오 데이터, 통화 메뉴의 텍스트 전사, 통화 선택 옵션의 타임스탬프 및 최근 것을 표시하는 통화 메뉴 구조, 통화 시간, 통화 지속시간을 포함하는 통화 특성 및 이전 통화의 기타 특성(사용자 허가 포함)을 포함한 기타 특성 및/또는 본 명세서에 기술된 통화 선택 옵션을 결정하는데 사용될 수 있는 데이터 구조(예: 표, 목록, 그래프)를 포함할 수 있다.
기계 학습 애플리케이션(1530)은 지도 학습 및/또는 비지도 학습이 사용될 수 있는 하나 이상의 NER(명명된 엔터티 인식) 구현예를 포함할 수 있다. 기계 학습 모델은 다중 작업 학습 기반 모델, 조건부 무작위 필드가 있는 레지듀얼 작업 양방향 LSTM(장단기 메모리), 통계적 NER 등을 포함할 수 있다. 본 명세서에 개시된 하나 이상의 방법은 여러 환경 및 플랫폼에서, 예를 들어, 임의의 유형의 컴퓨팅 디바이스에서 실행할 수 있는 독립 실행형 컴퓨터 프로그램, 웹페이지를 갖는 웹 애플리케이션, 모바일 컴퓨팅 디바이스에서 실행되는 모바일 애플리케이션("앱")으로 동작할 수 있다.
다양한 구현예에서, 기계 학습 애플리케이션(1530)은 베이지안 분류기, 지원 벡터 기계, 신경 네트워크 또는 기타 학습 기법을 활용할 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530)은 트레이닝된 모델(1534), 추론 엔진(1536) 및 데이터(1532)를 포함할 수 있다. 일부 구현예에서, 데이터(1532)는 트레이닝 데이터, 예를 들어 트레이닝된 모델(1534)을 생성하는데 사용되는 데이터를 포함할 수 있다. 예를 들어, 트레이닝 데이터는 이전 통화 중에 발화된 스피치를 나타내는 스피치 데이터, 엔터티가 통화에서 제공한 선택 옵션을 나타내는 통화 메뉴 데이터, 사용자의 이전 통화의 통화 특성 등 통화에 대한 선택 옵션을 결정하기 위한 모델을 트레이닝하는데 적합한 임의의 유형의 데이터를 포함할 수 있다. 트레이닝 데이터는 임의의 소스, 예를 들어 트레이닝용으로 특별히 표시된 데이터 저장소, 기계 학습을 위한 트레이닝 데이터로 사용하도록 허가된 데이터 등으로부터 획득될 수 있다. 하나 이상의 사용자가 각각의 사용자 데이터를 기계 학습 모델(예: 트레이닝 모델(1534)을 트레이닝하는데 사용하는 것을 허용하는 구현예에서, 트레이닝 데이터는 그러한 사용자 데이터를 포함할 수 있다. 사용자가 각자의 사용자 데이터의 사용을 허용하는 구현예에서, 데이터(1532)는 허용된 데이터를 포함할 수 있다.
일부 구현예에서, 트레이닝 데이터는 트레이닝을 목적으로 생성된 합성 데이터, 예를 들어 트레이닝 중인 컨텍스트에서 사용자 입력 또는 활동에 기초하지 않는 데이터, 예를 들어 시뮬레이션 또는 모델로부터 생성된 데이터를 포함할 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530)은 데이터(1532)를 제외한다. 예를 들어, 이러한 구현예에서, 트레이닝된 모델(1534)은 예를 들어, 상이한 디바이스 상에서 생성될 수 있고, 기계 학습 애플리케이션(1530)의 일부로서 제공될 수 있다. 다양한 구현예에서, 트레이닝된 모델(1534)은 모델 구조 또는 형태 및 연관된 가중치를 포함하는 데이터 파일로서 제공될 수 있다. 추론 엔진(1536)은 트레이닝된 모델(1534)에 대한 데이터 파일을 읽고 트레이닝된 모델(1534)에 특정된 모델 구조 또는 형태에 기초하여 노드 연결성, 레이어 및 가중치를 갖는 신경 네트워크를 구현할 수 있다.
기계 학습 애플리케이션(1530)은 또한 하나 이상의 트레이닝된 모델(1534)을 포함한다. 예를 들어, 이러한 모델은 스피치를 인식하고 본 명세서에 기술된 통화에서 오디오 데이터로 수신된 스피치로부터 선택 옵션을 결정하기 위한 트레이닝된 모델을 포함할 수 있다. 일부 구현예에서, 트레이닝된 모델(1534)은 하나 이상의 모델 형태 또는 구조를 포함할 수 있다. 예를 들어, 모델 형태 또는 구조는 선형 네트워크, 복수의 레이어(예: 각 레이어가 선형 네트워크인 입력 레이어와 출력 레이어 사이의 "히든 레이어")를 구현하는 심층 신경 네트워크, 컨벌루션 신경 네트워크(예: 입력 데이터를 다수의 부분 또는 타일로 분할 또는 파티셔닝하는 네트워크가 하나 이상의 신경 네트워크 레이어들을 개별적으로 사용하여 각 타일을 프로세싱하고, 각 타일의 프로세싱으로부터의 결과를 집계), 시퀀스-투-시퀀스 신경 네트워크(예: 문장 내 단어, 비디오 내 프레임 등과 같은 순차적 데이터를 입력으로서 취하고, 결과 시퀀스를 출력으로서 생성하는 네트워크) 등과 같은 임의의 유형의 신경 네트워크를 포함할 수 있다.
모델 형태 또는 구조는 다양한 노드 간의 연결 및 노드의 레이어로의 조직을 특정한다. 예를 들어, 제1 레이어(예: 입력 레이어)의 노드는 데이터를 입력 데이터(1532) 또는 애플리케이션 데이터(1514)로서 수신할 수 있다. 이러한 데이터는 예를 들어 통화로부터의 스피치 데이터, 통화에 대한 선택 옵션을 나타내는 엔터티 데이터, 이전 통화의 통화 특성 및/또는 이전 통화 및 제공된 선택 옵션에 관한 사용자로부터의 피드백을 포함할 수 있다. 후속 중간 레이어는 모델 형태 또는 구조에서 특정된 연결성에 따라 이전 레이어의 노드의 입력 출력으로 수신될 수 있다. 이러한 레이어는 히든 레이어라고 지칭될 수 있다. 최종 레이어(예를 들어, 출력 레이어)는 기계 학습 애플리케이션의 출력을 생성한다. 예를 들어, 출력은 인터페이스에 제공될 선택 옵션 세트일 수 있다. 일부 구현예에서, 스피치를 인식하기 위해, 예를 들어 오디오 데이터의 입력을 수신하고 입력 오디오 데이터에서 스피치를 나타내는 텍스트인 출력을 제공하기 위해 상이한 레이어 또는 모델이 사용될 수 있다. 일부 구현예에서, 모델 형태 또는 구조는 또한 각각의 레이어에서 노드의 수 및/또는 유형을 특정한다.
다른 구현예에서, 하나 이상의 트레이닝된 모델(1534)은 모델 구조 또는 형태에 따라 레이어로 배열된 복수의 노드를 포함할 수 있다. 일부 구현예에서, 노드는 예를 들어 하나의 입력 유닛을 프로세싱하여 하나의 출력 유닛을 생성하도록 구성된 메모리가 없는 계산 노드일 수 있다. 노드에 의해 수행되는 계산은, 예를 들어, 복수의 노드 입력들 각각에 가중치를 곱하고, 가중화된 합을 획득하고, 가중화된 합을 바이어스 또는 인터셉트 값으로 조정하여 노드 출력을 생성하는 것을 포함할 수 있다.
일부 구현예에서, 노드에 의해 수행되는 계산은 또한 단계/활성화 함수를 조정된 가중화된 합에 적용하는 것을 포함할 수 있다. 일부 구현예에서, 단계/활성화 함수는 비선형 함수일 수 있다. 다양한 구현예에서, 이러한 계산은 행렬 곱셈과 같은 연산을 포함할 수 있다. 일부 구현예에서, 복수의 노드들에 의한 계산은, 예를 들어, GPU 또는 특수 목적 신경 회로의 개별 프로세싱 유닛들을 사용하여 멀티 코어 프로세서의 다중 프로세서 코어들을 사용하여 병렬로 수행될 수 있다. 일부 구현예에서, 노드는 메모리를 포함할 수 있으며, 예를 들어, 후속 입력을 프로세싱할 때 하나 이상의 이전 입력을 저장하고 사용할 수 있다. 예를 들어, 메모리가 있는 노드는 LSTM(long short-term memory) 노드를 포함할 수 있다. LSTM 노드는 메모리를 사용하여 노드가 FSM(Finite State Machine)처럼 작동할 수 있는 "상태"를 유지할 수 있다. 이러한 노드를 갖는 모델은 순차적 데이터(예: 문장 또는 단락의 단어들, 비디오의 프레임들, 음성 또는 기타 오디오 등)를 프로세싱하는데 유용할 수 있다.
일부 구현예에서, 하나 이상의 트레이닝된 모델(1534)은 개별 노드에 대한 임베딩 또는 가중치를 포함할 수 있다. 예를 들어, 모델은 모델 형태 또는 구조에 의해 특정된 바와 같이 레이어들로 구성된 복수의 노드로서 개시될 수 있다. 초기화시, 각각의 가중치는 모델 형태에 따라 연결되는 각 쌍의 노드, 예를 들어 신경 네트워크의 연속 레이어의 노드 사이의 연결에 적용될 수 있다. 예를 들어, 각각의 가중치는 랜덤하게 할당되거나 디폴트 값으로 초기화될 수 있다. 모델은 결과를 생성하기 위해, 예를 들어 데이터(1532)를 사용하여 트레이닝될 수 있다.
예를 들어, 트레이닝은 지도 학습 기법을 적용하는 것을 포함할 수 있다. 지도 학습에서, 트레이닝 데이터는 복수의 입력(예를 들어, 오디오 데이터 및/또는 엔터티 데이터) 및 각 입력에 대한 대응하는 예상 출력(예를 들어, 통화 메뉴에 대한 선택 옵션의 세트; 및/또는 오디오 데이터에서의 스피치를 나타내는 텍스트)을 포함할 수 있다. 모델의 출력과 예상 출력의 비교에 기초하여, 가중치 값은 예를 들어 유사한 입력이 제공된 경우 모델이 예상 출력을 생성할 확률을 증가시키는 방식으로 자동으로 조정된다.
일부 구현예에서, 트레이닝은 비지도 학습 기법을 적용하는 것을 포함할 수 있다. 비지도 학습에서, 입력 데이터만이 제공될 수 있고, 모델은 데이터를 구별하기 위해, 예를 들어, 입력 데이터를 복수의 그룹으로 클러스터링하기 위해 트레이닝될 수 있으며, 여기서 각 그룹은 어떤 방식으로 유사한 입력 데이터를 포함한다. 예를 들어, 모델은 서로 유사한 통화 특성을 결정하거나 클러스터링하도록 트레이닝될 수 있다.
또 다른 예에서, 비지도 학습을 사용하여 트레이닝된 모델은 데이터 소스의 스피치 및 선택 옵션 사용에 기초하여 스피치 또는 선택 옵션의 피처를 클러스터링할 수 있다. 일부 구현예에서, 비지도 학습은 예를 들어 기계 학습 애플리케이션(1530)에 의해 사용될 수 있는 지식 표현을 생성하는데 사용될 수 있다. 다양한 구현예에서, 트레이닝된 모델은 모델 구조에 대응하는 가중치 또는 임베딩 세트를 포함한다. 데이터(1532)가 생략된 구현예에서, 기계 학습 애플리케이션(1530)은 예를 들어, 기계 학습 애플리케이션(1530)의 개발자, 서드파티 등에 의한 사전 트레이닝에 기초한 트레이닝된 모델(1534)을 포함할 수 있다. 일부 구현예에서, 하나 이상의 트레이닝된 모델(1534)은 고정된, 예를 들어 가중치를 제공하는 서버로부터 다운로드되는 가중치 세트를 각각 포함할 수 있다.
기계 학습 애플리케이션(1530)은 또한 추론 엔진(1536)을 포함한다. 추론 엔진(1536)은 트레이닝된 모델(1534)을 애플리케이션 데이터(1514)와 같은 데이터에 적용하여 통화 메뉴의 선택 옵션 세트 및 통화 메뉴의 구조와 같은 추론을 제공하도록 구성된다. 일부 구현예에서, 추론 엔진(1536)은 프로세서(1502)에 의해 실행될 소프트웨어 코드를 포함할 수 있다. 일부 구현예에서, 추론 엔진(1536)은 프로세서(1502)가 트레이닝된 모델을 적용할 수 있게 하는 회로 구성(예를 들어, 프로그래머블 프로세서에 대해, FPGA(field programmable gate array)에 대해 등)을 특정할 수 있다. 일부 구현예에서, 추론 엔진(1536)은 소프트웨어 명령어, 하드웨어 명령어 또는 조합을 포함할 수 있다. 일부 구현예에서, 추론 엔진(1536)은 운영 체제(1508) 및/또는 다른 애플리케이션(1512)에 의해 사용될 수 있는 애플리케이션 프로그래밍 인터페이스(API)를 제공하여 추론 엔진(1536)을 호출 예를 들어, 트레이닝된 모델(1534)을 애플리케이션 데이터(1514)에 적용하여 추론을 생성한다.
기계 학습 애플리케이션(1530)은 몇 가지 기술적 이점을 제공할 수 있다. 예를 들어, 트레이닝된 모델(1534)이 비지도 학습에 기초하여 생성될 때, 트레이닝된 모델(1534)은 입력 데이터, 예를 들어, 애플리케이션 데이터(1514)로부터 지식 표현(예를 들어, 숫자 표현)을 생성하기 위해 추론 엔진(1536)에 의해 적용될 수 있다. 예를 들어, 선택 옵션 및/또는 메뉴 구조를 결정하기 위해 트레이닝된 모델은 이에 대한 표현을 생성할 수 있다. 일부 구현예에서, 이러한 표현은 출력(예를 들어, 라벨, 분류, 예측된 특성 등)을 생성하기 위한 프로세싱 비용(예: 계산 비용, 메모리 사용 등)을 감소시키는데 도움이 될 수 있다. 일부 구현예에서, 그러한 표현은 추론 엔진(1536)의 출력으로부터 출력을 생성하는 상이한 기계 학습 애플리케이션에 대한 입력으로서 제공될 수 있다.
일부 구현예에서, 기계 학습 애플리케이션(1530)에 의해 생성된 지식 표현은 예를 들어 네트워크를 통해 추가 프로세싱을 수행하는 상이한 디바이스에 제공될 수 있다. 그러한 구현예에서, 데이터가 아닌 지식 표현을 제공하는 것은 기술적 이점을 제공할 수 있으며, 예를 들어 감소된 비용으로 더 빠른 데이터 전송을 가능하게 할 수 있다.
일부 구현예에서, 기계 학습 애플리케이션(1530)은 오프라인 방식으로 구현될 수 있다. 이러한 구현예에서, 트레이닝된 모델(1534)은 제1 단계에서 생성될 수 있고, 기계 학습 애플리케이션(1530)의 일부로서 제공될 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530)은 온라인 방식으로 구현될 수 있다. 예를 들어, 이러한 구현예에서, 기계 학습 애플리케이션(1530)을 호출하는 애플리케이션(예를 들어, 운영 체제(1508), 다른 애플리케이션(1512) 중 하나 이상)은 기계 학습 애플리케이션(1530)에 의해 생성된 추론을 활용 예를 들어, 추론을 사용자에게 제공할 수 있고, 시스템 로그를 생성할 수 있다(예: 사용자가 허용한 경우, 추론에 기초하여 사용자가 취한 액션 또는 추가 프로세싱을 위한 입력으로 활용되는 경우 추가 프로세싱의 결과). 시스템 로그는 주기적으로, 예를 들어, 매시간, 매월, 분기별로 생성될 수 있고, 트레이닝된 모델(1534)을 업데이트하기 위해, 예를 들어 트레이닝된 모델(1534)에 대한 임베딩을 업데이트하기 위해 사용자 허가 하에 사용될 수 있다.
일부 구현예에서, 기계 학습 애플리케이션(1530)은 기계 학습 애플리케이션(1530)이 실행되는 디바이스(1500)의 특정한 구성에 적응할 수 있는 방식으로 구현될 수 있다. 예를 들어, 기계 학습 애플리케이션(1530)은 사용가능한 계산 리소스, 예를 들어 프로세서(1502)를 활용하는 계산 그래프를 결정할 수 있다. 예를 들어, 기계 학습 애플리케이션(1530)이 다수의 디바이스에 분산된 애플리케이션으로 구현되는 경우, 기계 학습 애플리케이션(1530)은 계산을 최적화하는 방식으로 개별 디바이스에서 수행될 계산을 결정할 수 있다. 다른 예에서, 기계 학습 애플리케이션(1530)은 프로세서(1502)가 특정 수의 GPU 코어(예를 들어, 1000)를 갖는 GPU를 포함하고 그에 따라 (예를 들어, 1000 개별 프로세스 또는 스레드로서) 추론 엔진을 구현할 수 있다고 결정할 수 있다.
일부 구현예에서, 기계 학습 모델(1530)은 트레이닝된 모델의 앙상블을 구현할 수 있다. 예를 들어, 트레이닝된 모델(1534)은 동일한 입력 데이터에 각각 적용가능한 복수의 트레이닝된 모델을 포함할 수 있다. 이러한 구현예에서, 기계 학습 애플리케이션(1530)은 예를 들어, 사용 가능한 계산 리소스, 사전 추론을 통한 성공률 등에 기초하여 특정한 트레이닝된 모델을 선택할 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530)은 복수가 트레이닝된 모델이 적용되도록 추론 엔진(1536)을 실행할 수 있다. 이러한 구현에서, 기계 학습 애플리케이션(1530)은 예를 들어, 각각의 트레이닝된 모델을 적용함으로써 개별 출력에 점수를 매기는 투표 기법을 사용하거나, 하나 이상의 특정한 출력을 선택함으로써 개별 모델을 적용하여 출력을 결합할 수 있다. 또한, 이러한 구현예에서, 기계 학습 애플리케이션은 개별 트레이닝된 모델(예: 0.5ms)을 적용하기 위한 시간 임계치를 적용하고 시간 임계치 내에서 사용 가능한 개별 출력만을 활용할 수 있다. 시간 임계치 내에 수신되지 않은 출력은 활용되지 않을 수 있다(예: 폐기됨). 예를 들어, 이러한 접근법은 예를 들어 운영 체제(1508) 또는 하나 이상의 다른 애플리케이션(1512)에 의해 기계 학습 애플리케이션을 호출하는 동안 특정된 시간 제한이 있는 경우 적합할 수 있다.
다른 구현예에서, 기계 학습 애플리케이션(1530)은 다른 유형의 출력을 생성할 수 있다. 일부 구현예에서, 기계 학습 애플리케이션(1530)은 호출 애플리케이션 예를 들어 운영 체제(1508) 또는 하나 이상의 다른 애플리케이션들(1512)에 의해 특정된 포맷에 기초하여 출력을 생산할 수 있다. 일부 구현예에서, 호출 애플리케이션은 또 다른 기계 학습 애플리케이션일 수 있다. 예를 들어, 이러한 구성은 생성적 대립 네트워크에서 사용될 수 있으며, 여기서 기계 학습 애플리케이션을 호출하는 것은 기계 학습 애플리케이션(1530)의 출력을 사용하여 트레이닝되고 그 반대도 마찬가지이다.
메모리(1504)의 임의의 소프트웨어는 대안적으로 임의의 다른 적절한 저장 위치 또는 컴퓨터 판독가능 매체에 저장될 수 있다. 또한, 메모리(1504)(및/또는 기타 연결된 저장 디바이스(들))는 하나 이상의 메시지, 하나 이상의 분류법, 전자 백과사전, 사전, 동의어 사전, 지식 기반, 메시지 데이터, 문법, 사용자 선호도 및/또는 본 명세서에 기술된 구성에 사용된 기타 지침 및 데이터를 저장할 수 있다. 메모리(1504) 및 임의의 다른 유형의 스토리지(자기 디스크, 광 디스크, 자기 테이프 또는 기타 유형적 매체)는 "스토리지" 또는 "저장 디바이스"로 간주될 수 있다.
I/O 인터페이스(1506)는 서버 디바이스(1500)를 다른 시스템 및 디바이스와 인터페이스할 수 있게 하는 기능을 제공할 수 있다. 인터페이싱된 디바이스는 디바이스(1500)의 일부로서 포함될 수 있거나 분리되어 디바이스(1500)와 통신할 수 있다. 예를 들어, 네트워크 통신 디바이스, 저장 디바이스(예: 메모리(1504) 및/또는 데이터베이스(106)) 및 입력/출력 디바이스는 I/O 인터페이스(1506)를 통해 통신할 수 있다. 일부 구현예에서 I/O 인터페이스는 입력 디바이스(키보드, 포인팅 디바이스, 터치스크린, 마이크로폰, 카메라, 스캐너, 센서 등) 및/또는 출력 디바이스(디스플레이 디바이스, 스피커 디바이스, 프린터, 모터 등)와 같은 인터페이스 디바이스에 연결할 수 있다.
I/O 인터페이스(1506)에 연결될 수 있는 인터페이스 디바이스의 일부 예는 하나 이상의 디스플레이 디바이스(1520) 및 하나 이상의 데이터 저장소(1538)를 포함할 수 있다(위에서 논의된 바와 같음). 디스플레이 디바이스(1520)는 콘텐츠, 예를 들어 본 명세서에 기술된 출력 애플리케이션의 사용자 인터페이스를 디스플레이하는데 사용될 수 있다. 디스플레이 디바이스(1520)는 로컬 연결(예를 들어, 디스플레이 버스) 및/또는 네트워크 연결을 통해 디바이스(1500)에 연결될 수 있고 임의의 적절한 디스플레이 디바이스일 수 있다. 디스플레이 디바이스(1520)는 LCD, LED, 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치스크린, 3-D 디스플레이 스크린 또는 다른 시각적 디스플레이 디바이스와 같은 임의의 적절한 디스플레이 디바이스를 포함할 수 있다. 예를 들어, 디스플레이 디바이스(1520)는 모바일 디바이스에 제공된 평면 디스플레이 스크린, 고글 또는 헤드셋 디바이스에 제공된 다수의 디스플레이 스크린, 프로젝터 또는 컴퓨터 디바이스용 모니터 스크린일 수 있다.
I/O 인터페이스(1506)는 다른 입력 및 출력 디바이스와 인터페이싱할 수 있다. 일부 예는 디스플레이 디바이스, 프린터 디바이스, 스캐너 디바이스 등을 포함한다. 일부 구현예는 사운드, 음성 명령 등을 캡처하기 위한 마이크로폰, 사운드를 출력하기 위한 오디오 스피커 디바이스 또는 다른 입력 및 출력 디바이스를 제공할 수 있다.
예시의 편의를 위해, 도 15는 프로세서(1502), 메모리(1504), I/O 인터페이스(1506), 및 소프트웨어 블록(1508, 1512 및 1530) 각각에 대한 하나의 블록을 도시한다. 이러한 블록은 하나 이상의 프로세서 또는 프로세싱 회로, 운영 체제, 메모리, I/O 인터페이스, 애플리케이션 및/또는 소프트웨어 모듈을 나타낼 수 있다. 다른 구현예에서, 디바이스(1500)는 도시된 컴포넌트들 모두를 갖지 않을 수 있고 및/또는 여기에 도시된 것들 대신에 또는 이에 추가하여 다른 유형의 엘리먼트들을 포함하는 다른 엘리먼트들을 가질 수 있다. 일부 컴포넌트는 본 명세서의 일부 구현예에서 설명된 바와 같이 블록 및 동작을 수행하는 것으로 설명되지만, 환경(100), 디바이스(1500), 유사한 시스템의 컴포넌트의 임의의 적절한 컴포넌트 또는 조합, 또는 이러한 시스템과 연관된 임의의 적절한 프로세서 또는 프로세서들이 블록 및 설명된 동작을 수행할 수 있다.
설명이 특정한 구현예와 관련하여 기술되었지만, 이러한 특정 구현예는 단지 예시적이며 제한적이지 않다. 예시들에서 예시된 개념은 다른 예시 및 구현예에 적용될 수 있다.
상기 기술에 더하여, 사용자가 본 명세서에 기술된 시스템들, 프로그램들 또는 구성들이 사용자 정보의 수집(예를 들어, 사용자의 소셜 네트워크에 관한 정보, 사회적 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자 또는 사용자 디바이스의 현재 위치)을 하는 경우 및 콘텐츠 또는 서버로부터 통신에 사용자가 전송되는 경우에 관한 선택을 하게 하는 제어들이 사용자에게 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 어떤 정보가 수집될지, 정보가 어떻게 사용될지, 그리고 어떤 정보가 사용자에게 제공될지에 관한 제어를 가질 수 있다.
본 개시에서 설명된 기능 블록, 동작, 구성, 방법, 디바이스 및 시스템은 통상의 기술자에게 공지된 바와 같이 시스템, 디바이스 및 기능 블록의 상이한 조합으로 통합되거나 분할될 수 있음을 유의한다. 임의의 적절한 프로그래밍 언어 및 프로그래밍 기법이 특정한 구현예의 루틴을 구현하는데 사용될 수 있다. 상이한 프로그래밍 기법, 예를 들어 절차적 또는 객체 지향이 사용될 수 있다. 루틴은 단일 프로세싱 디바이스 또는 다중 프로세서에서 실행할 수 있다. 단계, 동작 또는 계산이 특정 순서로 제시될 수 있지만 다른 특정한 구현예에서 순서가 변경될 수 있다. 일부 구현예에서, 본 명세서에서 순차적으로 도시된 다수의 단계 또는 동작이 동시에 수행될 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    통화 디바이스와 타겟 엔터티와 연관된 디바이스 간의 통화에서 오디오 데이터를 수신하는 단계, 상기 오디오 데이터는 통화 디바이스의 사용자가 통화에서 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함하며;
    상기 오디오 데이터에서 스피치를 나타내는 텍스트를 결정하기 위해 오디오 데이터를 프로그램적으로 분석하는 단계;
    텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 선택 옵션을 결정하는 단계; 및
    통화 중에 텍스트의 적어도 일부가 통화 디바이스에 의해 디스플레이되게 하는 단계를 포함하며, 상기 텍스트의 일부는 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로 디스플레이되며, 하나 이상의 시각적 옵션은 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 하는, 방법.
  2. 청구항 1에 있어서, 하나 이상의 시각적 옵션 중 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 선택의 표시가 타겟 엔터티와 연관된 디바이스에 전송되게 하는 단계를 더 포함하고, 상기 표시는:
    키패드의 키를 누르는 것에 대응하는 신호, 상기 키는 특정 시각적 옵션과 연관되며, 또는
    상기 통화에서 통화 디바이스에 의해 제공되는 스피치 중 하나를 포함하며, 상기 스피치는 특정 시각적 옵션과 연관된 지정자를 포함하는, 방법.
  3. 청구항 1에 있어서, 상기 하나 이상의 시각적 옵션은 통화 디바이스의 터치스크린 상의 터치 입력을 통해 각각 선택 가능한 것인, 방법.
  4. 청구항 1에 있어서, 상기 오디오 데이터는 제1 오디오 데이터이고, 상기 하나 이상의 시각적 옵션 중 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 상기 방법은:
    상기 통화에서 제2 오디오 데이터를 수신하는 단계, 상기 제2 오디오 데이터는 통화 디바이스의 사용자에 대한 하나 이상의 제2 선택 옵션을 나타내는 제2 스피치를 포함하며;
    제2 오디오 데이터에서 제2 스피치를 나타내는 제2 텍스트를 결정하기 위해 제2 오디오 데이터를 프로그램적으로 분석하는 단계;
    제2 텍스트 또는 제2 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 제2 선택 옵션을 결정하는 단계; 및
    제2 텍스트의 적어도 일부가 통화 디바이스에 의해 디스플레이되게 하는 단계를 더 포함하며, 상기 제2 텍스트의 일부는 하나 이상의 제2 선택 옵션에 대응하는 하나 이상의 제2 시각적 옵션으로 디스플레이되며, 하나 이상의 제2 시각적 옵션은 제2 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 하는, 방법.
  5. 청구항 1에 있어서, 상기 하나 이상의 선택 옵션은 복수의 선택 옵션이고, 상기 통화 메뉴에서 상기 복수의 선택 옵션의 계층 구조를 결정하기 위해 상기 텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 단계를 더 포함하는, 방법.
  6. 청구항 1에 있어서, 상기 오디오 데이터를 수신하기 전에:
    하나 이상의 선택 옵션을 포함하는 선택 옵션 데이터를 획득하는 단계; 및
    상기 통화 디바이스가 상기 하나 이상의 선택 옵션을 나타내는 스피치를 포함하는 오디오 데이터를 수신하기 전에 상기 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션이 상기 통화 디바이스에 의해 디스플레이되게 하는 단계를 더 포함하는, 방법.
  7. 청구항 6에 있어서, 상기 선택 옵션 데이터의 하나 이상의 선택 옵션은 이전 통화 동안 수신된 오디오 데이터를 프로그램적으로 분석함으로써 결정되는, 방법.
  8. 청구항 7에 있어서, 획득된 선택 옵션 데이터는 통화 개시 전에 통화 디바이스에 캐싱되고, 획득된 선택 옵션 데이터는 통화 디바이스의 지리적 영역에서 발신자에 의해 이전에 호출된 엔터티 식별자와 연관되며, 상기 엔터티 식별자는 이전에 적어도 임계 횟수만큼 호출되었거나 획득된 선택 옵션 데이터와 연관되지 않은 다른 엔터티 식별자보다 이전에 더 많은 횟수로 호출되었던 것인, 방법.
  9. 청구항 6에 있어서,
    통화 중에 시각적 표시자가 디스플레이되게 하는 단계를 더 포함하며, 상기 시각적 표시자는 통화 중에 디스플레이되는 하나 이상의 시각적 옵션의 텍스트의 특정 부분을 강조하고, 상기 텍스트의 특정 부분은 통화 중에 오디오 데이터의 스피치에서 수신되고 있는 것인, 방법.
  10. 청구항 6에 있어서,
    상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션을 비교하는 단계; 및
    상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이에 불일치가 존재하는지 여부를 결정하는 단계를 더 포함하는, 방법.
  11. 청구항 10에 있어서, 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이의 불일치를 결정하는 것에 응답하여, 상기 불일치의 알림이 통화 디바이스에 의해 출력되게 하는 단계를 더 포함하는, 방법.
  12. 청구항 10에 있어서, 상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이의 불일치를 결정하는 것에 응답하여, 오디오 데이터로부터 결정된 하나 이상의 선택 옵션과 일치하도록 선택 옵션 데이터를 수정하는 단계를 더 포함하는, 방법.
  13. 청구항 10에 있어서, 상기 선택 옵션 데이터를 상기 하나 이상의 선택 옵션과 비교하는 단계는:
    상기 선택 옵션 데이터의 텍스트와 하나 이상의 선택 옵션의 텍스트를 비교하는 것; 또는
    상기 선택 옵션 데이터의 오디오 데이터와 통화 중에 수신된 오디오 데이터를 비교하는 것 중 하나를 포함하는, 방법.
  14. 청구항 1에 있어서,
    하나 이상의 선택 옵션이 통화 디바이스의 스토리지 또는 통신 네트워크를 통해 통화 디바이스와 통신하는 원격 디바이스의 스토리지 중 적어도 하나에 저장되게 하는 단계; 및
    통화 디바이스와 타겟 엔터티 간의 다음 통화에 대한 하나 이상의 선택 옵션을 검색하는 단계를 더 포함하는, 방법.
  15. 통화에 대한 선택 옵션을 디스플레이하는 통화 디바이스로서,
    명령어가 저장된 메모리;
    디스플레이 디바이스; 및
    상기 메모리에 연결된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 동작들을 수행하기 위해 상기 메모리로부터의 명령어에 액세스하도록 구성되며, 상기 동작들은:
    통화 디바이스와 타겟 엔터티와 연관된 디바이스 간의 통화에서 오디오 데이터를 수신하는 동작, 상기 오디오 데이터는 통화 디바이스의 사용자가 통화에서 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함하며;
    상기 오디오 데이터에서 스피치를 나타내는 텍스트를 결정하기 위해 오디오 데이터를 프로그램적으로 분석하는 동작;
    텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 선택 옵션을 결정하는 동작; 및
    통화 중에 텍스트의 적어도 일부가 디스플레이 디바이스에 의해 디스플레이되게 하는 동작을 포함하며, 상기 텍스트의 일부는 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로 디스플레이되며, 하나 이상의 시각적 옵션은 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 하는, 통화 디바이스.
  16. 청구항 15에 있어서, 하나 이상의 시각적 옵션 중 특정 시각적 옵션의 선택을 수신하는 것에 응답하여, 선택의 표시가 타겟 엔터티와 연관된 디바이스에 전송되게 하는 동작을 더 포함하고, 상기 표시는:
    키패드의 키를 누르는 것에 대응하는 신호, 상기 키는 특정 시각적 옵션과 연관되며, 또는
    상기 통화에서 통화 디바이스에 의해 제공되는 스피치 중 하나를 포함하며, 상기 스피치는 특정 시각적 옵션과 연관된 지정자를 포함하는, 통화 디바이스.
  17. 청구항 15에 있어서, 상기 오디오 데이터를 수신하기 전에:
    상기 통화 메뉴의 하나 이상의 선택 옵션과 상기 하나 이상의 선택 옵션의 계층 구조를 포함하는 선택 옵션 데이터를 획득하는 동작; 및
    상기 통화 디바이스가 상기 하나 이상의 선택 옵션을 나타내는 스피치를 포함하는 오디오 데이터를 수신하기 전에 상기 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션이 상기 디스플레이 디바이스에 의해 디스플레이되게 하는 동작을 더 포함하는, 통화 디바이스.
  18. 청구항 17에 있어서,
    통화 중에 시각적 표시자가 디스플레이되게 하는 동작을 더 포함하며, 상기 시각적 표시자는 통화 중에 디스플레이되는 하나 이상의 시각적 옵션의 텍스트의 특정 부분을 강조하고, 상기 텍스트의 특정 부분은 통화 중에 오디오 데이터의 스피치에서 발화되고 있는 것인, 통화 디바이스.
  19. 청구항 17에 있어서,
    상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션을 비교하는 동작; 및
    상기 선택 옵션 데이터와 상기 오디오 데이터로부터 결정된 하나 이상의 선택 옵션 사이에 불일치가 존재하는지 여부를 결정하는 동작을 더 포함하는, 통화 디바이스.
  20. 명령어가 저장된 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어는 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    통화 디바이스와 타겟 엔터티와 연관된 디바이스 간의 통화에서 오디오 데이터를 수신하는 동작, 상기 오디오 데이터는 통화 디바이스의 사용자가 타겟 엔터티에 의해 제공되는 통화 메뉴를 탐색할 수 있는 하나 이상의 선택 옵션을 나타내는 스피치를 포함하며;
    상기 오디오 데이터에서 스피치를 나타내는 텍스트를 결정하기 위해 오디오 데이터를 프로그램적으로 분석하는 동작;
    텍스트 또는 오디오 데이터 중 적어도 하나를 프로그램적으로 분석하는 것에 기초하여 하나 이상의 선택 옵션을 결정하는 동작; 및
    통화 중에 텍스트의 적어도 일부가 통화 디바이스에 의해 디스플레이되게 하는 동작을 포함하며, 상기 텍스트의 일부는 하나 이상의 선택 옵션에 대응하는 하나 이상의 시각적 옵션으로 디스플레이되며, 하나 이상의 시각적 옵션은 사용자 입력을 통해 각각 선택가능하여 통화 메뉴를 통해 대응하는 탐색을 하게 하는, 비일시적 컴퓨터 판독가능 매체.
KR1020247005486A 2021-08-24 2022-07-19 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이 KR20240046508A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163236651P 2021-08-24 2021-08-24
US63/236,651 2021-08-24
US17/540,895 2021-12-02
US17/540,895 US11895269B2 (en) 2021-08-24 2021-12-02 Determination and visual display of spoken menus for calls
PCT/US2022/037550 WO2023027833A1 (en) 2021-08-24 2022-07-19 Determination and visual display of spoken menus for calls

Publications (1)

Publication Number Publication Date
KR20240046508A true KR20240046508A (ko) 2024-04-09

Family

ID=85285456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247005486A KR20240046508A (ko) 2021-08-24 2022-07-19 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이

Country Status (5)

Country Link
US (1) US11895269B2 (ko)
EP (1) EP4393144A1 (ko)
KR (1) KR20240046508A (ko)
CN (1) CN117882365A (ko)
DE (1) DE112022004082T5 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117275319B (zh) * 2023-11-20 2024-01-26 首都医科大学附属北京儿童医院 训练语言重点能力的装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5199062A (en) * 1988-01-20 1993-03-30 Phone Base Systems Inc. Telephone communications system including a digital telephone switch, a voice response unit and a stored program sequence for controlling both the switch and the voice response unit
US4880026A (en) * 1988-07-28 1989-11-14 Parapluie, Ltd. Integrated free-standing vehicle detailing service center
US6167255A (en) * 1998-07-29 2000-12-26 @Track Communications, Inc. System and method for providing menu data using a communication network
US8625756B1 (en) 2010-02-03 2014-01-07 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US9472185B1 (en) * 2011-01-05 2016-10-18 Interactions Llc Automated recognition system for natural language understanding
US9426289B2 (en) * 2013-09-12 2016-08-23 Avaya Inc. Techniques for topical customer service menu reconfiguration based on social media
US9430186B2 (en) * 2014-03-17 2016-08-30 Google Inc Visual indication of a recognized voice-initiated action
US10659501B2 (en) * 2014-06-30 2020-05-19 Avaya Inc. System and method for efficient port and bandwidth utilization in setting up communication sessions
US9544434B1 (en) * 2015-03-25 2017-01-10 State Farm Mutual Automobile Insurance Company Method and system for a scalable computer-telephony integration system
US10579330B2 (en) 2015-05-13 2020-03-03 Microsoft Technology Licensing, Llc Automatic visual display of audibly presented options to increase user efficiency and interaction performance
US9832308B1 (en) 2016-05-12 2017-11-28 Google Inc. Caller preview data and call messages based on caller preview data
US10277478B2 (en) * 2016-06-08 2019-04-30 Genesys Telecommunications Laboratories, Inc. Connected machine initiated service
CN105933555B (zh) * 2016-06-12 2021-02-12 腾讯科技(深圳)有限公司 一种与呼叫中心的通信方法、系统及相关装置
US11128752B2 (en) * 2018-03-28 2021-09-21 Avaya Inc. Personalized wait treatment during interaction
US11418647B1 (en) * 2020-10-16 2022-08-16 Intrado Corporation Presenting multiple customer contact channels in a browseable interface

Also Published As

Publication number Publication date
EP4393144A1 (en) 2024-07-03
US11895269B2 (en) 2024-02-06
US20230066100A1 (en) 2023-03-02
CN117882365A (zh) 2024-04-12
DE112022004082T5 (de) 2024-06-06

Similar Documents

Publication Publication Date Title
US11349991B2 (en) Systems and methods to present voice message information to a user of a computing device
JP7063932B2 (ja) 適切なエージェントの自動化アシスタント呼び出し
US11516153B2 (en) Computer system providing a chat engine
US10521189B1 (en) Voice assistant with user data context
WO2020117505A1 (en) Switching between speech recognition systems
WO2020117506A1 (en) Transcription generation from multiple speech recognition systems
US9699305B1 (en) Caller relationship and risk assessment
US12015736B2 (en) Methods and apparatus for bypassing holds
US20200026742A1 (en) Integrating communications into a social graph
KR20240046508A (ko) 통화에 대한 음성 메뉴의 결정 및 시각적 디스플레이
US10862841B1 (en) Systems and methods for automating voice commands
KR20240046433A (ko) 통화에 대한 추정 보류 기간 결정 및 디스플레이
US20230153061A1 (en) Hierarchical Context Specific Actions from Ambient Speech
WO2023027833A1 (en) Determination and visual display of spoken menus for calls
WO2021092415A1 (en) Systems and methods for automating voice commands