KR102390939B1 - 전자 채팅 인터페이스들과의 인터렉션 개선 - Google Patents

전자 채팅 인터페이스들과의 인터렉션 개선 Download PDF

Info

Publication number
KR102390939B1
KR102390939B1 KR1020217025717A KR20217025717A KR102390939B1 KR 102390939 B1 KR102390939 B1 KR 102390939B1 KR 1020217025717 A KR1020217025717 A KR 1020217025717A KR 20217025717 A KR20217025717 A KR 20217025717A KR 102390939 B1 KR102390939 B1 KR 102390939B1
Authority
KR
South Korea
Prior art keywords
user
chat
content provider
chat session
agent
Prior art date
Application number
KR1020217025717A
Other languages
English (en)
Other versions
KR20210102503A (ko
Inventor
스리람 바가브 카나티
바른 사운다라라잔
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20210102503A publication Critical patent/KR20210102503A/ko
Application granted granted Critical
Publication of KR102390939B1 publication Critical patent/KR102390939B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

방법은 상기 복수의 웹 리소스들 각각에 대해, 통신 서버에서, 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 단계, 수신된 데이터에 기초하여, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 단계, 및 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 단계를 포함한다. 방법은 특정한 서드 파티 컨텐츠 제공자에 의해 호스팅되는 특정한 웹 리소스에 액세스하기 위한 요청을 사용자로부터 수신하는 단계, 상기 특정한 웹 리소스를 표현하는 데이터베이스에 저장된 엔트리에 기초하여, 상기 웹 리소스가 상기 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 단계, 및 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 단계를 포함한다.

Description

전자 채팅 인터페이스들과의 인터렉션 개선{IMPROVING INTERACTION WITH ELECTRONIC CHAT INTERFACES}
본 문서는 사용자가 리소스들 또는 컨텐츠들에 대한 액세스를 제공하는 컨텐츠 제공자와 통신할 수 있는 채팅 인터페이스들과 관련된다. 채팅 인터페이스는 컨텐츠 제공자 간에 일관성이 없으며, 다양한 방식으로 구현 및 제공될 수 있다. 또한, 기존 채팅 인터페이스들이 모바일 디바이스들에 제공될 때 기능에 일부 또는 전체 손실이 있을 수 있다. 추가적으로, 채팅 세션의 연결이 끊어지면 리소스가 거의 없다.
일반적으로, 본 명세서에 기술된 발명의 일 혁신적 양태는 방법들에 수록될 수 있고, 상기 방법은: 통신 서버에 의해, 사용자로부터 컨텐츠에 대한 검색 요청을 수신하는 단계; 및 상기 통신 서버에 의해, 상기 검색 요청에 응답하여, 디스플레이 웹 페이지 상에 복수의 선택가능한 컨텐츠 아이템들의 형태로 검색 결과를 획득하는 단계를 포함하며, 각 선택가능한 컨텐츠 아이템은 상기 검색 요청과 연관된 각각의 웹 리소스에 대한 링크를 포함한다. 이 방법은 상기 통신 서버에 의해, 복수의 웹 리소스의 특징들과 관련된 데이터베이스로부터 획득된 정보에 기초하여, 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 단계; 및 상기 특정한 웹 리소스에 대해, 상기 디스플레이 웹페이지에 채팅 인터페이스를 자동으로 제공하는 단계를 포함하며, 상기 채팅 인터페이스는 상기 디스플레이 웹페이지 상의 상기 각각의 선택가능한 컨텐츠 아이템에 인접하여 디스플레이하기 위해 상기 통신 서버에 의해 렌더링되고 및/또는 제어된다. 상기 디스플레이 웹페이지로부터의 상기 채팅 인터페이스와의 사용자 인터렉션에 응답하여, 통신 서버에는 상기 사용자와 상기 특정한 웹 리소스와 연관된 상기 특정한 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시한다.
이들 또는 다른 실시예들은 다음 구성들 중 하나 이상을 각각 선택적으로 포함할 수 있다. 일부 구현예에서, 상기 방법은 복수의 웹 리소스들과 관련된 데이터베이스 엔트리들로 데이터베이스를 채우는 단계를 포함한다. 데이터베이스를 채우는 단계는 상기 복수의 웹페이지들 각각에 대해: 상기 통신 서버에서, 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 단계, 상기 통신 서버에 의해, 수신된 데이터에 기초하여, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 단계, 및 상기 통신 서버에 의해, 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 단계를 포함한다. 상기 데이터베이스를 채우는 단계는 상기 데이터베이스에 아직 포함되지 않은 웹페이지들에 대한 데이터를 캡처하기 위해 주기적으로 수행된다.
일부 구현예들에서, 상기 채팅 세션은 i) 상기 통신 서버와 상기 사용자 사이의 제1 세션, 및 ii) 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제2 세션을 포함한다. 일부 구현예들에서, 상기 방법은 상기 통신 시스템에 의해, 미리 결정된 기간 동안 상기 채팅 세션에서의 무활동을 검출하는 단계, 상기 통신 시스템에 의해, 상기 제1 세션 또는 상기 제2 세션 중 적어도 하나가 종료됨을 검출하는 단계, 상기 통신 시스템에 의해, 상기 채팅 세션의 컨텍스트 데이터에 기초하여, 상기 사용자가 상기 채팅 세션을 완료하지 않았음을 결정하는 단계, 상기 제1 세션의 전체를 표시하는 데이터를 상기 데이터베이스에 저장하는 단계, 상기 통신 시스템에 의해, 상기 제2 세션이 종료됨을 검출하는 것에 응답하여, 상기 채팅 세션의 일부로서 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제3 세션을 개시하는 단계, 및 상기 통신 시스템에 의해, 상기 사용자가 상기 서드 파티 컨텐츠 제공자와 상기 채팅 세션을 재개할 수 있도록 상기 제1 세션의 적어도 일부를 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 방법은 상기 통신 서버에서, 상기 채팅 사용자 인터페이스를 통해 상기 제1 세션에 대한 입력을 상기 사용자로부터 수신하는 단계, 및 상기 통신 서버에 의해, 상기 제2 세션에 대한 상기 사용자 입력을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다. 일부 구현예들에서, 상기 특정한 웹 리소스에 액세스하기 위한 요청은 음성 입력을 포함한다. 일부 구현예에서, 상기 방법은 상기 통신 시스템에 의해, 상기 제1 세션에서 제2 음성 입력을 상기 사용자로부터 수신하는 단계, 상기 제2 세션에서 상기 제2 음성 입력의 텍스트 표현을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계, 상기 통신 시스템에 의해, 상기 통신 시스템과 상기 서드 파티 컨텐츠 제공자 상이의 상기 제2 세션에서 상기 서드 파티 컨텐츠 제공자로부터 텍스트 입력을 수신하는 단계, 및 상기 통신 시스템에 의해, 상기 제1 세션에서 상기 서드 파티 컨텐츠 제공자로부터 상기 텍스트 입력의 음성 표현을 표시하는 데이터를 상기 사용자에게 제공하는 단계를 포함한다.
일부 구현예에서, 채팅 사용자 인터페이스는 채팅 위젯이다. 일부 구현예에서, 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 단계는 상기 통신 시스템에 의해, 상기 웹 리소스에 액세스하는 단계, 상기 통신 시스템에 의해, 상기 웹 리소스 상의 위젯을 식별하는 단계, 및 상기 통신 시스템에 의해, 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 태그를 상기 웹 리소스 상의 상기 위젯에 대한 코드에서 식별하는 단계를 포함한다.
일부 구현예들에서, 상기 라이브 어시스턴트는 상기 특정한 서드 파티 컨텐츠 제공자의 사람 담당자(human representative)에 의해 제공된다.
일부 구현예들에서, 상기 방법은 상기 특정한 웹 리소스에 대해 개시된 복수의 채팅 세션들 각각에 대해, 상기 통신 시스템에 의해, 상기 사용자를 상기 특정 웹 리소스로 안내하는 상기 컨텐츠 아이템의 고유 식별자에 기초하여, 상기 채팅 세션에 대한 컨텐츠 아이템 메트릭 값을 결정하는 단계를 포함한다. 상기 방법은 상기 통신 시스템에 의해, 상기 컨텐츠 아이템 메트릭 값들을 사용하여, 상기 컨텐츠 아이템 메트릭 값들의 프레젠테이션을 생성하는 단계, 및 통신 시스템에 의해, 디스플레이를 위해 상기 프레젠테이션을 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계를 포함한다.
일부 구현예에서, 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 단계는 상기 통신 시스템에 의해, 상기 웹 리소스에 액세스하는 단계, 상기 통신 시스템에 의해, 상기 웹 리소스가 액세스되고 있는 윈도우와 별개인 새로운 윈도우가 오픈되었음을 결정하는 단계, 및 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 텍스트 문구를 상기 새로운 윈도우에서 결정하는 단계를 포함한다.
일부 구현예들에서, 상기 사용자는 네트워크 연결 디바이스를 통해 상기 채팅 세션에 액세스한다. 네트워크 연결 디바이스는 모바일 디바이스일 수 있다. 네트워크 연결 디바이스는 데스크톱 디바이스일 수 있다. 일부 구현예에서, 네트워크 연결 디바이스는 스크린이 없다.
일부 구현예에서, 상기 사용자와 상기 특정한 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 단계는 상기 통신 서버에 의해, 상기 서드 파티 컨텐츠 제공자로부터, 상기 채팅 세션의 상기 제1 세션에 대한 제1 고유 세션 식별자를 수신하는 단계, 및 상기 통신 서버에 의해, 상기 제2 세션을 지원하기 위해 상기 제1 고유 세션 식별자를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다.
본 명세서에 개시된 주제의 다른 혁신적인 양태는 네트워크에 통신가능하게 연결된 디바이스, 네트워크에 통신가능하게 연결된 서드 파티 컨텐츠 제공자 서버, 및 상기 기술된 방법을 구현하기 위한 동작들을 수행하는 통신 서버를 포함하는 시스템에서 구현될 수 있다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 실행가능한 명령어들이 인코딩된 적어도 하나의 컴퓨터 판독가능 저장 매체로 이용될 수 있고, 상기 명령어들은 적어도 하나의 프로세서들에 의해 실행될 때, 상기 적어도 하나의 프로세서들로 하여금 상기 기술된 방법들을 구현하기 위한 동작들을 수행하게 한다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 방법들에 수록될 수 있고, 상기 방법은: 복수의 웹 리소스들 각각에 대해, 통신 서버에서, 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 단계, 상기 통신 서버에 의해, 수신된 데이터에 기초하여, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 단계, 및 상기 통신 서버에 의해, 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 단계를 포함한다. 상기 방법은 상기 통신 서버에 의해, 특정한 서드 파티 컨텐츠 제공자에 의해 호스팅되는 특정한 웹 리소스에 액세스하기 위한 요청을 사용자로부터 수신하는 단계, 상기 통신 서버에 의해, 상기 특정한 웹 리소스를 표현하는 데이터베이스에 저장된 엔트리에 기초하여, 상기 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 단계, 및 상기 통신 서버에 의해, 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 단계를 포함한다.
일부 구현예들에서, 상기 채팅 세션은 i) 상기 통신 서버와 상기 사용자 사이의 제1 세션, 및 ii) 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제2 세션을 포함한다. 상기 방법은 상기 통신 서버에서, 상기 채팅 사용자 인터페이스를 통해 상기 제1 세션에 대한 입력을 상기 사용자로부터 수신하는 단계, 상기 통신 서버에 의해, 상기 제2 세션에 대한 상기 사용자 입력을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계, 및 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션의 상태 정보를 유지하는 단계를 포함한다. 상기 방법은 상기 통신 시스템에 의해, 미리 결정된 기간 동안 무활동을 검출하는 단계, 상기 통신 시스템에 의해, 상기 제1 세션 또는 상기 제2 세션 중 적어도 하나가 종료됨을 검출하는 단계, 상기 통신 시스템에 의해, 상기 채팅 세션의 컨텍스트 데이터에 기초하여, 상기 사용자가 상기 채팅 세션을 완료하지 않았음을 결정하는 단계, 상기 제1 세션의 전체를 표시하는 데이터를 상기 데이터베이스에 저장하는 단계, 상기 통신 시스템에 의해, 상기 제2 세션이 종료됨을 검출하는 것에 응답하여, 상기 채팅 세션의 일부로서 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제3 세션을 개시하는 단계, 및 상기 통신 시스템에 의해, 상기 사용자가 상기 서드 파티 컨텐츠 제공자와 상기 채팅 세션을 재개할 수 있도록 상기 제1 세션의 적어도 일부를 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 특정한 웹 리소스에 액세스하기 위한 요청은 음성 입력을 포함한다. 상기 방법은 상기 통신 시스템에 의해, 상기 제1 세션에서 제2 음성 입력을 상기 사용자로부터 수신하는 단계, 상기 제2 세션에서 상기 제2 음성 입력의 텍스트 표현을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계, 상기 통신 시스템에 의해, 상기 통신 시스템과 상기 서드 파티 컨텐츠 제공자 상이의 상기 제2 세션에서 상기 서드 파티 컨텐츠 제공자로부터 텍스트 입력을 수신하는 단계, 및 상기 통신 시스템에 의해, 상기 제1 세션에서 상기 서드 파티 컨텐츠 제공자로부터 상기 텍스트 입력의 음성 표현을 표시하는 데이터를 상기 사용자에게 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 통신 서버에 의해, 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 단계는 상기 통신 서버에 의해, 상기 서드 파티 컨텐츠 제공자로부터, 상기 채팅 세션의 상기 제1 세션에 대한 제1 고유 세션 식별자를 수신하는 단계, 및 상기 통신 서버에 의해, 상기 제2 세션을 지원하기 위해 상기 제1 고유 세션 식별자를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 요청은 검색 요청에 응답하여 제시된 및 상기 특정한 웹 리소스에 대한 링크된 컨텐츠 아이템의 선택에 응답하여 제공된다. 상기 채팅 사용자 인터페이스는 상기 검색 요청에 대한 응답인 결과들 및 상기 컨텐츠 아이템을 디스플레이하는 웹 페이지 상에 제시된다.
일부 구현예에서, 채팅 사용자 인터페이스는 채팅 위젯이다. 일부 구현예에서, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 단계는 상기 통신 시스템에 의해, 상기 웹 리소스에 액세스하는 단계, 상기 통신 시스템에 의해, 상기 웹 리소스 상의 위젯을 식별하는 단계, 및 상기 통신 시스템에 의해, 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 태그를 상기 웹 리소스 상의 상기 위젯에 대한 코드에서 식별하는 단계를 포함한다.
일부 구현예들에서, 상기 라이브 어시스턴트는 상기 특정한 서드 파티 컨텐츠 제공자의 사람 담당자(human representative)에 의해 제공된다. 일부 구현예에서, 상기 방법은 상기 특정한 웹 리소스에 대해 개시된 복수의 채팅 세션들 각각에 대해, 상기 통신 시스템에 의해, 상기 사용자를 상기 특정 웹 리소스로 안내하는 상기 컨텐츠 아이템의 고유 식별자에 기초하여, 상기 채팅 세션에 대한 컨텐츠 아이템 메트릭 값을 결정하는 단계, 상기 통신 시스템에 의해, 상기 컨텐츠 아이템 메트릭 값들을 사용하여, 상기 컨텐츠 아이템 메트릭 값들의 프레젠테이션을 생성하는 단계, 및 통신 시스템에 의해, 디스플레이를 위해 상기 프레젠테이션을 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계를 포함한다.
일부 구현예에서, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 단계는 상기 통신 시스템에 의해, 상기 웹 리소스에 액세스하는 단계, 상기 통신 시스템에 의해, 상기 웹 리소스가 액세스되고 있는 윈도우와 별개인 새로운 윈도우가 오픈되었음을 결정하는 단계, 및 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 텍스트 문구를 상기 새로운 윈도우에서 결정하는 단계를 포함한다.
일부 구현예들에서, 상기 사용자는 네트워크 연결 디바이스를 통해 상기 채팅 세션에 액세스한다. 네트워크 연결 디바이스는 모바일 디바이스일 수 있다. 네트워크 연결 디바이스는 데스크톱 디바이스일 수 있다. 일부 구현예에서, 네트워크 연결 디바이스는 스크린이 없다.
본 명세서에 기술된 주제의 다른 혁신적인 양태는 네트워크에 통신가능하게 연결된 디바이스, 네트워크에 통신가능하게 연결된 서드 파티 컨텐츠 제공자 서버, 및 동작들을 수행하는 통신 서버를 포함하는 시스템에서 구현될 수 있다. 동작들은 복수의 웹 리소스들 각각에 대해, 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 동작, 수신된 데이터에 기초하여, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 동작, 및 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 동작을 포함한다. 상기 동작들은 특정한 서드 파티 컨텐츠 제공자에 의해 호스팅되는 특정한 웹 리소스에 액세스하기 위한 요청을 사용자로부터 수신하는 동작, 상기 특정한 웹 리소스를 표현하는 데이터베이스에 저장된 엔트리에 기초하여, 상기 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 동작; 및 상기 통신 서버에 의해, 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 동작을 포함한다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 실행가능한 명령어들이 인코딩된 적어도 하나의 컴퓨터 판독가능 저장 매체로 이용될 수 있고, 상기 명령어들은 적어도 하나의 프로세서들에 의해 실행될 때, 상기 적어도 하나의 프로세서들로 하여금 동작들을 수행하게 한다. 상기 동작들은 복수의 웹 리소스들 각각에 대해, 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 동작, 수신된 데이터에 기초하여, 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 동작, 및 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 동작을 포함한다. 상기 동작들은 특정한 서드 파티 컨텐츠 제공자에 의해 호스팅되는 특정한 웹 리소스에 액세스하기 위한 요청을 사용자로부터 수신하는 동작, 상기 특정한 웹 리소스를 표현하는 데이터베이스에 저장된 엔트리에 기초하여, 상기 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 동작, 및 상기 통신 서버에 의해, 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 동작을 포함한다.
본 명세서에 기술된 본 발명은 다음의 이점들을 실현하도록 특정한 실시예들에서 구현될 수 있다. 메시징 세션을 개시하고 유지하기 위한 제안된 시스템은 채팅 인터페이스의 기능을 제공하는 리소스를 식별하고 인터렉션하기 위한 효율적이고 최적화된 기법을 제공한다. 일 양태에서, 제안된 기법은 사용자에 의해 사용되는 브라우저 능력, 서비스 제공자 또는 운영 체제와 관계없이, 사용자 인터페이스 터미널에서 또는 리소스 또는 컨텐츠 제공자에 의해 제공된 채팅 인터페이스 기능에서 매끄럽고, 안정감 있고 확장가능한 채팅 인터페이스를 가능하게 하는 제어 또는 통신 서버/게이트웨이에 의해 렌더링되고 관리되는 채팅 세션들을 포함하는 채팅 인터페이스를 구현한다. 시스템은 사용자와 컨텐츠 제공자 간의 채팅 세션을 개시하고 유지하는데 사용되는 컴퓨팅 리소스들의 수를 감소시킨다. 시스템은 연결이 끊긴 채팅 세션들을 재설정하기 위해 사용자와 게이트웨이, 및 컨텐츠 제공자와 게이트웨이 간의 별개의 세션들을 유지하고 세션 데이터를 저장함으로써 더 강건한 채팅 인터페이스를 만든다. 추가적으로, 게이트웨이는 연결의 일시적 중단의 경우 세션을 열어둘 수 있으므로, 채팅 연결의 안정성을 향상시킨다. 채팅 세션을 계속 열어둘 수 없고, 반드시 재설정해야 하는 경우, 사용자는 중단 없이 그리고 이전에 설정된 채팅 세션을 통해 이미 제공되었던 중복 데이터를 입력할 필요없이 재설정된 채팅 세션을 계속할 수 있다. 추가적으로, 사용자는 컨텐츠 제공자의 페이지로 사용자를 재안내하지 않고 채팅 인터페이스를 제공함으로써, 시스템은 채팅 기능을 검색하는 사용자와 연관된 네트워크 트래픽을 감소시킨다. 시스템은 사용자는 각 컨텐츠 제공자의 페이지 내에서 메시징 기능을 검색하는 경우 또는 컨텐츠 제공자로부터 연결이 끊어진 경우 좌절을 경험하지 않고 컨텐츠 제공자와 연결하고 통신할 수 있으므로, 컴퓨터 관련 기술, 채팅 인터페이스의 기능을 향상시킨다.
또한, 게이트웨이 시스템은 엄격한 통합을 요구하지 않고 채팅 기능을 여러 컨텐츠 제공자들에게 확장할 수 있는 기능을 제공함으로써 컴퓨터 관련 기술의 기능을 향상시킨다. 시스템은 컨텐츠 제공자들로 하여금 각각의 채팅 인터페이스들에 대한 개별성 및 제어를 유지하게 할 수 있다. 스크린을 사용하지 않고 채팅 대화를 수행하는 시스템의 기능은 핸즈프리 통신을 가능하게 하며, 사용자의 부담을 감소시킨다. 추가적으로, 시스템은 채팅을 사후 프로세싱하여, 통합된 어플리케이션들로 추가 액션들을 수행할 수 있다. 예를 들어, 채팅 대화 내의 응답이 "오후 5시에 약속을 잡았습니다"면, 시스템은 자동으로 일정 이벤트가 있음을 검출하고, 일정 항목을 추가하고, 존재하는 충돌에 대해 사용자에게 묻고, 다른 다양한 관련 작업들을 수행할 수 있다. 채팅 대화로부터 발생하는 액션들은 분석을 위해 기록 및/또는 제공될 수 있으며, 그 결과는 향후 채팅 인터페이스 프레젠테이션에 영향을 주도록 사용될 수 있다. 게이트웨이 시스템은 느린 네트워크 연결을 가진 사용자들이 더 이상 컨텐츠 제공자의 웹 페이지를 방문하고 페이지 렌더링을 요청하지 않아도 되므로 사용자 대기 시간을 감소시킨다. 대신에, 통신만 전송되므로 네트워크 트래픽과 지연을 감소시킨다.
도 1은 사용자가 다양한 디바이스들을 통해 컨텐츠 제공자들과 접촉할 수 있는 예시적 환경의 블록도이다.
도 2는 사용자들에게 채팅 인터페이스를 제공하기 위해 도시된 예시적 사용자 인터페이스이다.
도 3은 사용자와 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하고 유지하기 위한 예시적 프로세스의 흐름도이다.
도 4는 예시적 컴퓨터 시스템의 블록도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다.
본 문서는 사용자와 사용자와 통신하는 컨텐츠 제공자 간에 게이트웨이를 제공함으로써, 통신 세션들의 연결 강도와 품질을 향상시키는 방법, 시스템 및 디바이스에 대해 기술한다. 게이트웨이는 사용자의 한 통신 인터페이스에서 수신된 컨텐츠(예: 메시지)를 컨텐츠 제공자의 다른 통신 인터페이스로 중계하고, 사용자 또는 컨텐츠 제공자 측의 연결 끊김이 채팅 세션을 재설정할 능력 없이 세션을 종료시키도록 세션 데이터를 유지하지 않고 사용자와 컨텐츠 제공자 사이에 직접 하나의 세션을 제공하기 보다는, 사용자와 컨텐츠 제공자 간의 대화에 관한 관련 데이터를 보존함으로써 세션 정보를 유지한다.
일부 경우에, 클라이언트 디바이스들 간의 대화가 중단되거나 연결이 끊길 수 있고, 도움을 요청하려는 사용자와 도움을 제공하려는 컨텐츠 제공자에게 불만이 생기게 한다. 예를 들어, 인터넷 연결 문제를 해결하기 위해 인터넷 공급자에게 도움을 요청한 고객은 자신이 말하는 상대방과의 연결이 끊어질 수 있다. 고객은 콜백을 시도할 수 있지만, 고객이 상황을 다시 설명해야 하는 다른 담당자와 연결될 수 있고, 고객에게 전반적으로 비효율적이며 성가신 경험을 하게 한다. 여기서, 게이트웨이는 사용자와 컨텐츠 제공자가 연결 끊김 이전에 제공된 정보 및 진행된 것들을 복구하기 위해 쓰는 시간의 양을 감소시키기 위해 사용자와 컨텐츠 제공자 간의 대화에 관한 특정한 데이터를 검출하고 저장할 수 있다. 이는 또한 채팅 인터페이스에서 고장이 난(예를 들어, 연결 끊김 또는 통신 링크의 기타 중단) 이벤트에서 채팅 인터페이스를 사용하여 이전에 통신된 데이터의 손실을 예방함으로써 컴퓨터 관련 기술인 전자 채팅 어플리케이션/기능을 개선한다.
전자 문서는 클라이언트 디바이스에서 컨텐츠의 세트를 제시하는 데이터이다. 전자 문서들의 예시들은 웹페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스를 포함한다. 모바일, 태블릿 또는 데스크톱 컴퓨팅 디바이스들에 설치된 어플리케이션과 같은 네이티브 어플리케이션들(예: "앱들")도 전자 문서들의 예시들이다. 전자 문서는 사용자가 소비하기 위해 제시되는 디지털 컴포넌트들을 포함한다.
이 문서 전체에서 사용된 용어 "디지털 컴포넌트"는 디지털 컨텐츠 또는 디지털 정보(예: 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 다른 컨텐츠 유닛)의 개별 유닛을 지칭한다. 디지털 컴포넌트는 물리적 메모리 디바이스에 단일 파일 또는 파일들의 집합으로 전자적으로 저장될 수 있으며, 디지털 컴포넌트는 비디오 파일, 오디오 파일, 멀티미디어 파일, 이미지 파일 또는 텍스트 파일의 형태를 취할 수 있으며, 광고 정보를 포함할 수 있어 광고가 디지털 컴포넌트의 한 유형이도록 한다. 일반적으로, 디지털 컴포넌트는 단일 제공자 또는 소스(예: 광고주, 게시자 또는 기타 컨텐츠 제공자)에 의해 정의(또는 제공)되지만, 다수의 소스들로부터의 컨텐츠 조합일 수 있다. 다수의 상이한 소스들로부터의 디지털 컴포넌트들은 하나의 전자 문서(예: 다양한 상이한 디지털 컴포넌트들의 집합)로 조합될 수 있으며, 상이한 소스들로부터의 다양한 디지털 컴포넌트들의 부분들은 검색 결과(또는 컨텐츠의 다른 부분)로부터 추출된 정보를 가지는 단일 디지털 컴포넌트로 조합될 수 있다.
검색 엔진은 사용자를 다양한 컨텐츠 제공자 웹페이지로 링크하는 결과들로 안내할 수 있다. 사용자는 예를 들어, 특정한 컨텐츠 제공자에 대한 대응 웹페이지에서 제공된 전화번호로 전화하여 컨텐츠 제공자에게 연락할 수 있다. 다른 예에서, 사용자는 특정한 컨텐츠 제공자에 대한 대응 웹페이지 상에 리스팅된 특정한 주소에서 컨텐츠 제공자들에게 이메일 또는 메일링함으로써 컨텐츠 제공자에게 연락할 수 있다.
일부 예에서, 사용자는 특정한 컨텐츠 제공자의 웹페이지에 제공된 사용자 인터페이스를 통해 컨텐츠 제공자들에게 연락할 수 있다. 사용자 인터페이스는 예를 들어, 사용자가 특정한 컨텐츠 제공자의 담당자와 통신할 수 있는 채팅 인터페이스일 수 있다. 많은 웹페이지는 사용자를 채팅 인터페이스로 안내하는 다양한 인터페이스 엘리먼트들을 포함하는 다양한 형식들을 가지고 있다. 예를 들어, 웹페이지는 사용자를 채팅 인터페이스로 안내하는 버튼을 포함할 수 있다.
채팅 인터페이스는 일반적으로 사용자가 통신하는 다른 상대방에게 전송될 입력을 제공할 수 있는 텍스트 상자를 포함한다. 추가적으로, 사용자 입력을 제출하고 편집하기 위한 다른 사용자 인터페이스 엘리먼트는 일반적으로 채팅 인터페이스에 포함될 수 있어서; 이러한 사용자 인터페이스 엘리먼트는 사용자 인터페이스 메뉴를 탐색하여 액세스되어야 하는 작은 엘리먼트들일 수 있다. 예를 들어, 일반적으로 사용되는 인터페이스 엘리먼트들은 메시지를 보내거나 키보드를 전환하기 위한 작은 버튼 또는 사진 또는 비디오 데이터와 같이 송신할 컨텐츠를 선택하기 위한 메뉴를 포함한다.
일부 웹페이지들은 사용자가 채팅 인터페이스에 도달하기 위해 웹사이트 트리를 탐색하도록 요구할 수 있다. 예를 들어, 사용자를 사용자가 컨텐츠 제공자에게 연락할 수 있는 채팅 인터페이스로 안내하는 사용자 인터페이스 엘리먼트는 컨텐츠 제공자의 웹사이트의 메인 페이지가 아닌 다른 페이지에 디스플레이될 수 있다. 사용자 인터페이스 엘리먼트는 가려진 위치에 위치되거나 사이징되어 사용자가 채팅 인터페이스에 액세스하기 위해 사용자 인터페이스 엘리먼트를 선택하는데 어려움을 겪게 한다.
모바일 디바이스의 스크린 영역은 일반적으로 데스크톱 클라이언트 디바이스의 스크린 영역보다 작기 때문에, 채팅 인터페이스들은 모바일 디바이스에서 사용하기 어려울 수 있다. 예를 들어, 스마트폰의 스크린 영역은 일반적으로 모니터가 있는 데스크톱 컴퓨터의 스크린 영역보다 작다. 데스크톱 클라이언트 디바이스에서 작은 사용자 인터페이스 엘리먼트들은 모바일 디바이스에서 보다 많이 작고 선택하기 더 어려울 수 있다.
일부 예에서, 웹페이지는 새로운 윈도우를 여는 채팅 인터페이스에 대한 링크를 제공할 수 있다. 작은 스크린을 가진 모바일 디바이스에서 보여지는 경우, 채팅 인터페이스와 인터렉션하기 어려울 수 있다. 사용자가 채팅 인터페이스와 인터렉션하기 위해 채팅 인터페이스를 조작할 수 없어서, 사용자가 불만을 가지게 하고, 많은 컨텐츠 제공자에게 채팅 인터페이스를 제공하는 가치를 감소시킨다.
채팅 세션이 사용자와 컨텐츠 제공자 담당자 사이에서 시작된 경우, 채팅 세션의 연결 끊김은 일반적으로, 연결 끊김이 발생한 경우 사용자와 컨텐츠 제공자 담당자 간의 대화의 동일한 지점에 이르기 위해서 사용자는 컨텐츠 제공자에게 이전에 제공했던 임의의 정보를 제공해야만 함을 의미한다. 예를 들어, 채팅 세션을 위한 채팅 인터페이스를 통해, 특정한 유형의 햄 라디오에 대한 지원을 찾고 있는 사용자는 자신의 등록 번호, 원하는 방송 빈도 및 자신이 갖고 있는 문제에 대한 설명을 그가 사용하고 있는 햄 라디오 제조업체 담당자에게 제공할 수 있다. 제조업체 담당자와의 사용자 채팅 세션이 끊어지면, 사용자는 일반적으로 제조업체의 웹페이지로 이동하여 제조업체의 채팅 인터페이스로 그를 안내하는 사용자 인터페이스 엘리먼트를 찾고, 새로운 채팅 세션이 설명되면 이전에 제시했었던 모든 정보(즉, 등록 번호, 원하는 방송 주파수 및 그가 가지고 있는 문제에 대한 설명)를 다시 제조업체의 다른 담당자에게 제공해야 한다.
본 문서에서는 사용자와 컨텐츠 제공자 간의 채팅 세션을 수행하고 복원하는데 사용되는 컴퓨터 리소스의 양을 감소시키는 방법, 시스템 및 디바이스에 대해 설명한다. 일부 상황에서, 컨텐츠 제공자의 웹사이트는 사용자를 채팅 인터페이스로 안내하고 사용자와 컨텐츠 제공자의 담당자 간의 채팅 세션을 시작하는 사용자 인터페이스 엘리먼트를 포함한다. 예를 들어, 트랙터 회사의 웹사이트에는 사용자를 트랙터 회사의 실시간 담당자에게 연결하기 위한 버튼을 포함할 수 있다. 버튼은 탐색 메뉴 아이템으로, 주로 트랙터 회사 웹사이트의 지원 또는 문의 페이지에서 주요 구성으로, 또는 트랙터 회사 웹사이트를 방문하는 동안 사용자의 행동을 기초로 나타나는 액션 제안을 포함하여 다양한 방법으로 디스플레이될 수 있다.
시스템은 트랙터 회사와 같은 컨텐츠 제공자를 식별하고, 담당자와 채팅할 수 있는 옵션을 제공하고, 컨텐츠 제공자의 웹사이트가 채팅 인터페이스를 사용할 수 있는 옵션을 제공한다는 것을 표시하는 데이터를 저장한다. 웹사이트가 라이브 채팅 세션 또는 메시징 기계 학습 모델들을 사용하여 구축된 응답 라이브러리와의 자동화된 채팅 세션과 같은 채팅 세션의 기능을 제공하는 것으로 식별되면, 시스템은 웹페이지가 채팅 기능을 제공함을 표시할 수 있다. 예를 들어, 시스템은 웹사이트가 채팅 세션의 기능을 제공한다고 보여주는 검색 결과에서 표시할 수 있다.
메시징 기계 학습 모델들은 사용자 및 컨텐츠 제공자로부터 응답 데이터를 입력으로 받아들이는 모델들일 수 있다. 메시징 기계 학습 모델들은 의사 결정 트리, 선형 회귀 모델, 로지스틱 회귀 모델, 신경망, 분류기, 지원 벡터 머신, 유도 논리 프로그래밍, 모델들의 앙상블(예: 배깅, 부스팅, 랜덤 포레스트 등과 같은 기법들을 사용하는), 제네틱 알고리즘, 베이시안 네트워크 등과 같은 다양한 임의의 모델들을 사용할 수 있고, 딥러닝, 퍼셉트론, 연관 규칙, 유도 논리, 클러스터링, 최대 엔트로피 분류, 학습 분류 등과 같은 다양한 접근법들을 사용하여 트레이닝될 수 있다. 일부 예시에서, 메시징 기계 학습 모델들은 감독 학습을 사용할 수 있다. 일부 예시에서, 메시징 기계 학습 모델들은 비감독 학습을 사용할 수 있다.
웹페이지는 사용자가 컨텐츠 제공자와의 채팅 세션을 시작할 수 있는 사용자 인터페이스 엘리먼트를 제공할 수 있다. 일단 사용자가 컨텐츠 제공자와의 채팅 세션을 개시하기 위해 사용자 인터페이스 엘리먼트를 선택하면, 시스템은 채팅 세션을 개시하고 지원할 때 사용할 채팅 세션의 특성을 식별한다. 예를 들어, 시스템은 사용자가 채팅 인터페이스에 입력을 제공하는 클라이언트 디바이스에 대한 디바이스 식별자, 클라이언트 디바이스와 컨텐츠 제공자의 특정한 담당자 간의 특정한 세션에 대한 세션 식별자 및 컨텐츠 제공자의 특정한 담당자가 채팅 인터페이스에 데이터를 입력하는 디바이스에 대한 디바이스 식별자를 저장할 수 있다.
시스템은 사용자와 컨텐츠 제공자 간의 채팅 세션을 위한 게이트웨이로서 동작할 수 있다. 시스템은 사용자와의 제1 채팅 세션 및 컨텐츠 제공자와의 제2 별개의 채팅 세션을 수행하고, 제1 채팅 세션 및 제2 채팅 세션에서 제공된 입력을 표시하는 데이터를 사용하여 사용자와 컨텐츠 제공자 사이에서 메시지를 중계한다.
텍스트 채팅 인터페이스는 본 문서 전반에 걸쳐 논의될 것이지만, 본 명세서에서 논의된 기법들은 PDA(personal digital assistant)와 같은 컴퓨팅 디바이스를 사용하여 개시되는 음성 채팅 세션에 적용될 수 있다. 예를 들어, PDA는 PDA의 마이크로폰을 통해 사용자로부터 오디오 입력(예를 들어, 음성 쿼리 또는 명령)을 수신하고, 사용자에게 PDA의 스피커에 의한 출력인 오디오를 사용하여 검색 결과 및/또는 다른 정보를 제공할 수 있다. PDA가 디스플레이를 포함하는 컴퓨팅 디바이스에서 구현되거나 디스플레이에 연결되거나 또는 디스플레이에 정보를 제시하는 다른 디바이스에 (예: 무선으로 또는 유선으로) 연결된 경우, PDA는 하나 이상의 검색 결과 및/또는 오디오 입력과 관련된 다른 정보와 같은 시각적 정보도 제시할 수 있다. PDA는 다수의 상이한 물리적 디바이스들(예: 모바일폰, 태블릿, 오디오/비디오 스트리밍 디바이스, 탁상용 PDA 유닛 및/또는 기타 디바이스들)에 걸쳐서 구현될 수 있으며, 입력은 상기 디바이스들(예: 탁상용 PDA 유닛) 중 하나에 의해 수신될 수 있고, 오디오 및/또는 시각적 출력은 디바이스들 중 서로 다른 디바이스(예: 휴대폰)에서 제시될 수 있다. 유사하게, 쿼리 또는 명령에 응답하여 제공되는 정보의 일부는 디바이스들 중 하나에 의해 출력될 수 있고(예: 탁상용 PDA 유닛에 의해 출력된 오디오 정보), 정보의 다른 부분은(예: 시각적 정보) 디바이스들 중 서로 다른 디바이스에 의해 제시될 수 있다(예: 오디오/비디오 스트리밍 디바이스를 포함하는 모바일폰 또는 디스플레이).
오디오 출력 및/또는 시각적 정보의 일부로서, PDA는 사용자가 채팅 세션을 개시하게 할 수 있는 옵션을 제시할 수 있다. 예를 들어, PDA는 청각적으로 사용자에게 더 많은 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하고 싶은지 묻고, 사용자는 음성으로 에이전트에 연결하기 원한다고 확인하는(예: "예" 또는 "에이전트와 연결해"라는 단어) 응답을 할 수 있다. 에이전트에 연결하기 원한다고 확인하는 사용자에 응답하여, PDA는 (예를 들어, 모바일 디바이스를 사용하여) 텍스트 채팅 세션을 개시하고 및/또는 에이전트에 대한 전화 호출을 개시할 수 있다(예를 들어, 모바일 디바이스 및/또는 예를 들어, IP 전화(Internet Protocol telephony)에 의해 음성 전화 호출을 하도록 구성된 탁상용 PDA 유닛을 사용하여). 사용자가 에이전트에 연결되면, 본 문서 전체에서 설명하는 기법들을 사용하여 채팅 세션(예: 텍스트 또는 음성)의 상태를 유지할 수 있으므로, 채팅 세션이 중단되더라도, 채팅 세션을 원활하게 계속하게 할 수 있다. 음성 채팅 세션의 경우, 음성 인식 기술을 사용하여 음성 인터렉션을 텍스트로 변환할 수 있으므로, 본 명세서에서 논의된 기법들을 이러한 상황에서도 사용할 수 있다.
도 1은 사용자가 컨텐츠 제공자와 통신할 수 있는 예시적 환경(100)의 블록도이다. 예시적 환경(100)은 모바일 디바이스(102), 클라이언트 디바이스(104), 스크린이 없는 어시스턴트 디바이스(106)(예를 들어, 탁상용 PDA 유닛), 게이트웨이(110), 예시적 웹페이지(120) 및 컨텐츠 제공자 시스템(130)을 포함한다. 디바이스들(102, 104 및 106)은 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷, 또는 이들의 조합과 같은 네트워크를 통해 게이트웨이(110) 및 컨텐츠 제공자 시스템(130)에 연결된다.
모바일 디바이스(102), 클라이언트 디바이스(104) 및 스크린이 없는 어시스턴트 디바이스(106)는 각각 네트워크를 통해 리소스를 요청하고 수신할 수 있는 전자 디바이스들이다. 예시적 모바일 디바이스(102)는 사용자가 네트워크를 통해 컨텐츠 제공자에 연결할 수 있는 핸드폰, 스마트폰, 태블릿 및 다른 휴대용 모바일 디바이스들을 포함한다. 예시적 클라이언트 디바이스(104)는 퍼스널 컴퓨터, 모바일 워크스테이션 및 랩톱 컴퓨터를 포함한다. 디바이스들(102, 104 및 106)은 일반적으로 네트워크를 통해 데이터의 송수신을 지원하기 위한 웹 브라우저와 같은 사용자 어플리케이션을 포함하지만, 클라이언트 디바이스(106)에 의해 실행되는 네이티브 어플리케이션(native application)들도 네트워크를 통해 데이터의 송수신을 지원할 수 있다.
디바이스들(102, 104 또는 106)은 네트워크를 통해 검색 엔진과 같은 검색 시스템에 검색 쿼리를 제출할 수 있다. 이에 응답하여, 검색 시스템은 검색 인덱스에 액세스하여 검색 쿼리와 관련된 전자 문서를 식별한다. 검색 시스템은 검색 결과의 형태로 전자 문서를 식별하고, 검색 결과를 검색 결과 페이지에서 디바이스(102, 104 또는 106)에 반환한다.
검색 결과는 특정한 검색 쿼리에 대한 응답인(예를 들어, 관련성이 있는) 전자 문서를 식별하는 검색 시스템에 의해 생성된 데이터이며, 클라이언트 디바이스가 검색 결과와의 사용자 인터렉션에 응답으로 특정된 네트워크 위치(예: URL)로부터 데이터를 요청하게 하는 활성 링크(예: 하이퍼텍스트 링크)를 포함한다. 예시적 검색 결과는 웹 페이지 제목, 웹 페이지로부터 추출된 텍스트의 스니펫 또는 사진의 일부 및 웹 페이지의 URL을 포함할 수 있다. 다른 예시적 검색 결과는 다운로드가능한 어플리케이션의 제목, 다운로드가능한 어플리케이션을 설명하는 텍스트의 스니펫, 다운로드가능한 어플리케이션의 사용자 인터페이스를 나타내는 이미지 및/또는 어플리케이션이 디바이스(102, 104, 또는 106)에 다운로드될 수 있는 위치에 대한 URL을 포함할 수 있다.
일부 상황에서, 검색 시스템은 제출된 검색 쿼리와 관련된 다운로드가능한 어플리케이션들에 관한 정보를 제시하기 위해 어플리케이션들이 클라이언트 디바이스에 설치하기 위해 다운로드될 수 있는 어플리케이션 스토어(또는 온라인 포털)의 일부이거나 그와 인터렉션할 수 있다. 다른 전자 문서와 마찬가지로, 검색 결과 페이지는 디지털 컴포넌트(예: 비디오 클립, 오디오 클립, 이미지 또는 광고로 포맷팅될 수 있는 기타 디지털 컴포넌트)를 제시할 수 있는 하나 이상의 디지털 컴포넌트 슬롯들을 포함할 수 있다.
게이트웨이(110)는 채팅 세션을 지원하며, 백 엔드 및 프론트 엔드를 포함한다. 게이트웨이(110)의 백 엔드는 채팅 세션을 위한 기반(infrastructure)을 제공하고, 컨텐츠 제공자 및 사용자와 개별적으로 통신한다. 예를 들어, 백 엔드는 클라이언트 디바이스를 통해 사용자에 의해 입력된 데이터를 사용하는 컨텐츠 제공자와의 채팅 세션 뿐만 아니라 컨텐츠 제공자의 담당자에 의해 입력된 데이터를 사용하는 사용자와의 채팅 세션을 수행할 수 있다. 백 엔드 인터페이스는 특정한 스크립트 API(Application Programming Interface), 특정한 안드로이드 패키지(.apk) 또는 기타 다양한 적절한 패키지들과 같이 사용자 또는 컨텐츠 제공자가 동의하는 공통 형식 또는 패키지일 수 있다.
게이트웨이(110)의 프론트 엔드는 사용자 및 컨텐츠 제공자 중 하나가 타방에 전송되고 제시될 입력을 제공할 수 있는 인터페이스일 수 있다. 예를 들어, 프론트 엔드는 사용자 및 컨텐츠 제공자에게 개별적으로 제시되는 채팅 인터페이스일 수 있다. 프론트 엔드는 사용자 및 컨텐츠 제공자에게 커스터마이징될 수 있고, 기본 프로필 설정을 갖거나 사용자 또는 컨텐츠 제공자에 의해 조정될 수 있다. 예를 들어, 사용자의 프론트 엔드는 보다 큰 텍스트 상자와 굵은 글꼴을 포함할 수 있지만, 컨텐츠 제공자의 프론트 엔드는 원격 액세스 및 사용자 디바이스 제어와 같은 추가 기능을 포함할 수 있다.
게이트웨이(110)는 메시징 기능을 제공하는 각각의 웹 페이지를 식별하고, 웹 페이지가 기능을 제공함을 표시하는 데이터를 저장한다. 메시징 기능을 제공하는 웹 페이지의 식별은 일반적으로 웹 페이지가 검색 요청의 런타임이 아닌 검색 결과로서 제시되기 전에 수행된다.
메시징 기능을 제공하는 웹 페이지는 일반적으로 채팅 세션을 시작하는 버튼과 같은 사용자가 메시징 세션을 개시할 수 있는 사용자 인터페이스 엘리먼트를 포함한다. 예를 들어, 웹 페이지(120)는 사용자가 컨텐츠 제공자와의 채팅 세션을 시작하도록 선택할 수 있는 버튼(122)을 포함하는 것으로 도시되어 있다. 웹 페이지(120)는 또한 키 텍스트 문구와 같은 메시징 기능이 제공되거나 지원되는 다양한 다른 표시들을 포함할 수 있다. 예를 들어, 웹 페이지(120)는 "지금 누군가와 채팅"이라는 텍스트를 포함한다.
게이트웨이(110)는 또한 사용자가 특정한 사용자 인터페이스 엘리먼트를 선택할 때 새로운 윈도우가 열리게 하는 코드 스니펫과 같은 웹 페이지(120)의 특정 스크립트 구성을 검출함으로써 웹 페이지(120)가 메시징 또는 채팅 기능을 제공함을 식별할 수 있다. 웹 페이지(120)가 채팅 기능을 제공하는지 여부를 결정하는데 사용될 수 있는 웹 페이지(120)의 다른 구성은 웹 페이지(120)가 다른 웹 사이트 또는 제공자에 링크하는 웹 페이지(120) 상에 디스플레이되는 위젯을 포함하는지 여부이다. 예를 들어, 공지된 채팅 서비스 제공자와 통신하는 위젯을 제공하면 웹 페이지(120)는 채팅 기능을 제공할 가능성이 크다. 위젯들은 특정한 클라이언트 디바이스의 식별자, 특정한 케이스 등과 같은 다른 통신 정보에 더하여 특정 세션에 대한 식별자들을 포함할 수 있다.
메시징 서비스를 제공하는 것으로 알려진 특정 도메인에 대한 링크와 같은 구성들 또한 웹 페이지(120)가 메시징 기능을 제공할 가능성이 큼을 표시한다. 예를 들어, 웹 페이지가 공지된 자동화된 채팅 서비스에 링크하는 경우, 게이트웨이(110)는 웹 페이지(120)를 메시징 기능을 지원하는 것으로 표시할 수 있다.
게이트웨이(110)가 초기 검색 요청을 수신하면, 게이트웨이(110)는 제시된 검색 결과가 메시징 기능을 제공하는지 여부를 결정하기 위해 저장된 데이터에 액세스한다. 특정한 웹 페이지가 메시징 기능을 제공하는 경우, 게이트웨이(110)는 제공된 메시징 기능의 유형을 표시하고 선택된 경우 사용자를 검색 결과로 안내하지 않고 메시징 세션을 개시하는 검색 결과가 제시될 사용자 인터페이스 엘리먼트를 생성한다.
컨텐츠 제공자 시스템(130)은 특정한 컨텐츠 제공자와 연관되며, 검색 쿼리에 응답하여 리소스를 제공하는 네트워크 목적지일 수 있다. 예를 들어, 컨텐츠 제공자 시스템(130)은 특정한 쿼리를 검색하는 경우 사용자가 다운로드할 수 있는 파일과 같은 리소스를 호스팅할 수 있다. 컨텐츠 제공자 시스템(130)은 컨텐츠 제공자의 담당자가 사용자와 인터렉션할 수 있는 사용자 인터페이스를 포함한다. 일부 예에서, 사용자 인터페이스는 담당자가 사용자와 실시간으로 통신할 수 있는 채팅 인터페이스이다.
게이트웨이(110)는 사용자와 컨텐츠 제공자 간의 채팅 세션을 개시하고 유지하는데 사용되는 컴퓨팅 리소스들의 수를 감소시킨다. 추가적으로, 사용자가 컨텐츠 제공자의 웹 페이지로 탐색할 필요성을 감소시킴으로써, 게이트웨이(110)는 채팅 기능을 검색하는 사용자와 연관된 그리고 컨텐츠 제공자의 웹 페이지에 관한 데이터를 전송하는 것과 연관된 네트워크 트래픽을 감소시킨다.
도 2는 사용자와 컨텐츠 제공자 간의 채팅 세션을 위한 예시적 사용자 인터페이스(200)이다. 채팅 세션은 시스템(100)과 같이 네트워크에 의해 통신가능하게 연결된 적어도 2개의 디바이스들을 포함하는 시스템에 의해 수행될 수 있다. 채팅 세션은 게이트웨이(110)와 같은 통신 게이트웨이에 의해 개시, 지원 및 유지될 수 있다.
검색 쿼리(202)는 사용자가 관련 결과를 보려는 쿼리를 표시하는 검색 엔진과 같은 검색 시스템에 대한 사용자에 의해 입력된 데이터이다. 검색 엔진은 검색 결과 페이지에 결과들(210, 220, 230 및 240)을 제공할 수 있다. 결과들(210, 220, 230 및 240) 각각은 검색 쿼리(202)와 관련되고, 일부 구현예에서, 검색 쿼리(202)에 대한 관련성에 기초하여 랭킹될 수 있다.
결과들(210, 220, 230 및 240)은 사용자를 연관된 컨텐츠 제공자와의 채팅 인터페이스로 안내하는 각각의 사용자 인터페이스 엘리먼트(212, 222, 232 및 242)를 각각 포함한다. 사용자 인터페이스 엘리먼트(212, 222, 232, 및 242)는 각 엘리먼트가 제시되는 연관된 컨텐츠 제공자의 웹 페이지로 커스터마이징될 수 있다. 커스터마이징은 글꼴, 텍스트 크기 또는 색상과 같은 특정한 연관 웹 페이지의 다양한 속성에 기초할 수 있다. 예를 들어, 사용자 인터페이스 엘리먼트들(212, 222, 232 및 242)은 각각의 검색 결과 웹페이지(210, 220, 230 및 240)와 연관된 테마를 각각 갖는다.
사용자가 사용자 인터페이스 엘리먼트들(212, 222, 232 또는 242) 중 하나를 선택하면, 게이트웨이(110)는 사용자와 대응하는 검색 결과 웹 페이지(210, 220, 230 또는 240)를 제공하는 컨텐츠 제공자 간의 채팅 세션을 개시한다. 도 2에 도시된 예에서, 사용자는 검색 결과 웹 페이지(210)와 연관된 사용자 인터페이스 엘리먼트(212)를 선택한다. 따라서 채팅 세션이 렌더링되어 게이트웨이에 의해 관리된다. 이는 게이트웨이 또는 게이트웨이와 연관된 서버가 브라우저, 운영 체제 및 사용자 및/또는 컨텐츠 제공자에 의해 현재 사용 중인 임의의 기타 사용자 디바이스 또는 시스템 특정사항과 관계없이, 원활한 방식으로 채팅 세션과 연관된 확장성, 보안성, 안정성 및 저장을 보장하기 위한 제어들 및 임의의 요구되는 프로토콜들 및 데이터 구조들을 구현하게 한다.
일단 사용자가 사용자 인터페이스 엘리먼트(212)를 선택하면, 게이트웨이(110)는 검색 결과 웹 페이지(210)를 제공하는 컨텐츠 제공자와의 채팅 세션을 개시한다. 게이트웨이(110)는 웹 페이지(120)및 엘리먼트(212)를 선택한 사용자를 식별하고, 웹 페이지(120) 및 사용자의 식별자들을 표시하는 데이터를 저장한다. 게이트웨이(110)는 또한 세션의 길이, 사용자와의 채팅 세션에 대한 제1 세션 식별자, 컨텐츠 제공자와의 채팅 세션에 대한 제2 별개의 세션 식별자와 같은 채팅 세션의 다양한 다른 속성들을 저장할 수 있다.
게이트웨이(110)가 다수의 상이한 사용자들 및 컨텐츠 제공자들 간의 많은 상이한 대화들을 관리하는 경우 사용자와 컨텐츠 제공자 간의 세션을 유지하기 위해, 게이트웨이(110)는 사용자와의 하나의 세션으로부터의 응답들을 컨텐츠 제공자와의 다른 세션으로 향하게 한다. 게이트웨이(110)는 세션 식별자들을 표시하는 저장된 데이터를 사용하여 사용자와 컨텐츠 제공자 사이의 메시지들을 적절하게 포워딩한다.
게이트웨이(110)는 다양한 포맷으로 입력을 수신하고, 입력을 포맷팅하고, 사용자와 컨텐츠 제공자 간의 채팅 세션에 입력을 제공할 수 있다. 예를 들어, 사용자는 특정한 전화 번호로 텍스트 메시지를 송신하여 컨텐츠 제공자와의 대화를 개시할 수 있다. 특정한 전화 번호는 컨텐츠 제공자와 연관될 수 있고, 특정한 전화 번호에서 텍스트 메시지의 수신은 컨텐츠 제공자와의 채팅 세션의 개시를 트리거링할 수 있다. 예를 들어, 특정한 전화 번호에서의 텍스트 메시지의 수신은 시스템을 트리거링하여 게이트웨이(110)에 접속하고 채팅 세션에 대한 입력으로서 사용자 입력을 제공한다. 사용자가 컨텐츠 제공자로부터 응답을 수신하면, 게이트웨이(110)는 사용자에게 텍스트 메시지로서 응답을 제공할 수 있다. 또한 사용자는 텍스트 메시지 또는 이메일 또는 다양한 다른 적절한 통신 방법을 통해 컨텐츠 제공자에게 응답을 제공할 수 있다.
게이트웨이(110)는 다양한 포맷으로 사용자 또는 컨텐츠 제공자로부터의 입력을 프로세싱할 수 있다. 예를 들어, 사용자가 모바일 디바이스(102)를 사용하여 게이트웨이(110)와 인터렉션하고 컨텐츠 제공자와 이메일 대화를 개시하기 위해 사용자 인터페이스 엘리먼트(212)를 선택하면, 컨텐츠 제공자와의 채팅 세션이 개시될 수 있고, 사용자 입력 및 응답은 이메일 클라이언트 인터페이스 내에 제시된다.
일부 구현예에서, 기존 대화가 있는 경우, 게이트웨이(110)는 사용자가 입력을 제공할 수 있는 전화 번호와 같은 특정한 식별자를 제공할 수 있다. 예를 들어, 사용자가 이미 컨텐츠 제공자에 연결된 경우, 게이트웨이(110)는 텍스트 메시지 어플리케이션 또는 이메일 클라이언트와 같은 다른 어플리케이션에 사용자 입력이 제공되면 컨텐츠 제공자에 대한 응답으로 사용자 입력을 검출할 수 있다. 그 다음 사용자의 입력은 대화로 제공되도록 입력으로 변환될 수 있다.
세션이 설정되면, 채팅 인터페이스는 사용자를 웹 페이지(210)로 안내하지 않고 제시될 수 있고, 그에 따라 채팅 세션을 설정하기 위해 전송되는 네트워크 호출 및/또는 데이터의 수를 감소시킨다. 예를 들어, 채팅 인터페이스는 검색 결과 페이지(204)에 제시될 수 있다. 상기 기술된 바와 같이, 채팅 인터페이스는 사용자가 데이터를 입력할 수 있는 사용자 인터페이스 엘리먼트를 포함할 수 있다. 예를 들어, 채팅 인터페이스는 사용자가 컨텐츠 제공자에게 제공될 응답 또는 질문을 입력할 수 있는 텍스트 박스들 및 사용자가 입력을 제출할 수 있는 버튼들을 포함할 수 있다. 파일 첨부, 화면 공유 등과 같은 추가적 인터페이스 엘리먼트들이 채팅 인터페이스 내에서 제공될 수 있다.
채팅 인터페이스는 헤드리스 렌더링과 같은 다양한 렌더링 방법을 사용하여 검색 결과 페이지(204) 내에서 렌더링될 수 있다. 채팅 인터페이스는 사용자 또는 컨텐츠 제공자로부터 입력을 수신하고 전송을 위해 게이트웨이(110)에 입력을 제공한다.
세션이 설정되면, 클릭률, 전환율, 평균 트래픽, 액세스 시간 등과 같은 컨텐츠 제공자와 연락하는 채팅 인터페이스 방법에 대한 특정한 메트릭들이 계산될 수 있다. 예를 들어, 채팅 기능 사용자 인터페이스 엘리먼트와 연관된 클릭-쓰루 레이트가 계산될 수 있다. 일부 구현예에서, 컨텐츠 제공자는 계산된 메트릭들을 사용하여 생성된 리포트에 액세스할 수 있다. 예를 들어, 컨텐츠 제공자는 채팅 인터페이스 방법의 성능에 관한 리포트들을 검토하고, 상기 보고된 메트릭들에 기초하여 채팅 인터페이스에 대한 캠페인 예산을 조정할 수 있다.
게이트웨이(110)가 스크린이 없는 어시스턴트 디바이스(106)와 함께 사용되는 경우, 스크린이 없는 어시스턴트 디바이스(106)는 모바일 디바이스(102) 및 고정된 클라이언트 디바이스(104)와 동일한 채팅 세션을 위반 기반를 사용하여 사용자와 컨텐츠 제공자 간의 대화를 지원할 수 있다. 그러나, 스크린이 없는 어시스턴트 디바이스(106)는 스크린을 포함하지 않기 때문에, 데이터를 수신하고 출력하는 방법은 추가적 단계들을 포함한다. 스크린이 없는 어시스턴트 디바이스(106)는 음성 입력 또는 터치 입력과 같은 다양한 유형의 적절한 입력을 수신할 수 있다. 예를 들어, 스크린이 없는 어시스턴트 디바이스(106)는 스크린이 없는 어시스턴트 디바이스(106)의 마이크로폰을 통해 음성 명령을 수신할 수 있다. 발화된 명령이 프로세싱될 수 있으며, 음성 입력을 표현하는 텍스트 데이터가 추출될 수 있다. 일부 구현예에서, 스크린이 없는 어시스턴트 디바이스(106)가 음성 입력을 프로세싱하지만, 다른 구현예에서, 게이트웨이(110) 또는 원격 시스템이 음성 입력을 프로세싱한다.
그 다음, 게이트웨이(110)는 텍스트 데이터를 컨텐츠 제공자와의 세션에 대한 입력으로서 사용할 수 있다. 게이트웨이(110)가 컨텐츠 제공자로부터 응답을 수신하는 경우, 응답은 스크린이 없는 어시스턴트 디바이스(110)에 대한 입력이 제공되었던 것과 동일한 포맷으로 출력되도록 프로세싱될 수 있다. 예를 들어, 스크린이 없는 어시스턴트 디바이스(110)가 음성 입력을 수신하면, 스크린이 없는 어시스턴트 디바이스(110)는 음성 데이터를 포함하는 출력용 데이터를 수신할 수 있다.
시스템(100)의 예시적인 사용에서, 사용자는 "나는 ABC 회사에 대한 고객 서비스와 이야기하고 싶다"라고 말함으로써 모바일 디바이스(102)에 음성 입력을 제공할 수 있다. 그 후, 모바일 디바이스(102)는 사용자가 메시징 세션을 개시하게 하는 사용자 인터페이스 엘리먼트들과 함께 메시징 기능을 제공하는 것으로 식별된 웹 페이지를 포함할 수 있는 검색 결과를 디스플레이할 수 있다.
사용자는 다른 디바이스들에서 컨텐츠 제공자와 대화를 계속할 수 있다. 예를 들어, 사용자가 모바일 디바이스(102) 상의 컨텐츠 제공자와 메시징 세션을 개시하면, 사용자는 스크린이 없는 어시스턴트 디바이스(106)에서 컨텐츠 제공자와 대화를 계속할 수 있다. 게이트웨이(110)는 사용자가 메시징 세션에 입력을 제공하거나 또는 액세스하는 디바이스를 검출하고, 텍스트, 음성, 사진 등과 같은 적절한 출력 방법을 선택할 수 있다.
게이트웨이(110)는 사용자 및 컨텐츠 제공자와 별도의 세션을 사용하여 채팅 세션을 유지함으로써, 사용자 또는 컨텐츠 제공자에 의해 이전에 제공된 정보를 재입력하고 제공하기 위해 요구되는 컴퓨팅 리소스들의 양을 감소시킨다. 예를 들어, 사용자는 중단 없이 채팅 세션을 계속 진행할 수 있으며, 이미 설정된 채팅 세션을 통해 이전에 입력되었던 중복 데이터를 입력하지 않아도 된다. 추가적으로, 게이트웨이(110)는 사용자와 컨텐츠 제공자 간의 세션을 개별적으로 유지함으로써, 채팅 세션의 견고성을 향상시키므로, 어느 쪽 세션에서의 일시적인 연결 끊김이 채팅 세션을 종료시키지 않도록 한다.
일부 예에서, 게이트웨이(110)는 대화가 수행될 때 대화로부터의 데이터를 저장함으로써 사용자와 컨텐츠 제공자 간의 대화를 저장한다. 사용자 및 컨텐츠 제공자가 연결이 끊어지면, 게이트웨이(110)는 사용자와 컨텐츠 제공자 사이의 대화를 재설정하기 위해 사용자와 컨텐츠 제공자가 연결이 끊긴 시점까지의 대화에 대한 저장된 데이터 중 적어도 일부를 사용한다.
채팅 세션이 재설정되면, 게이트웨이(110)는 사용자로부터의 추가 입력없이 사용자와 이전에 수행된 대화의 시점까지 컨텐츠 제공자가 따라잡도록 컨텐츠 제공자와의 대화를 수행한다(또는 컨텐츠 제공자에게 이전의 채팅 세션을 제공한다). 예를 들어, 게이트웨이(110)는 사용자의 디바이스 정보 및 문제 설명을 표시하는 저장된 데이터를 자동으로 제공하여, 사용자가 연결된 컨텐츠 제공자의 다음 담당자에게 사용자의 상황을 통지할 수 있고, 사용자는 이전에 제공했던 정보를 반복하지 않고 담당자와의 대화를 계속할 수 있다. 게이트웨이(110)는 사용자가 이전에 제공했던 응답을 사용하여 트레이닝된 기계 학습 모델을 사용하여 컨텐츠 제공자의 응답들에 대한 응답을 자율적으로 결정할 수 있다. 기계 학습 모델들은 입력으로서 컨텐츠 제공자의 응답을 수신하고 다양한 적절한 응답들을 출력할 수 있다.
일부 예에서, 게이트웨이(110)는 기존의 메시징 서비스 제공자와 통합되고 사용자가 대화를 떠난 때와 같이, 특정한 지점으로 대화를 가져오게 하는 특정한 세션 데이터를 저장함으로써 서버-사이드 통합을 수행한다. 예를 들어, 일단 게이트웨이(110)가 새로운 메시징 세션을 설정하면 게이트웨이(110)는 저장된 데이터를 상이한 컨텐츠 제공자 담당자에게 제공할 수 있다.
일부 구현예에서, 게이트웨이(110)는 새로운 담당자에게 이전 대화의 지점까지 업데이트해줄 수 없다. 예를 들어, 특정한 정보에 대한 새로운 담당자의 응답은 이전 담당자의 응답과 다를 수 있으며, 게이트웨이(110)는 게이트웨이(110)가 사용자가 이전에 담당자에게 제공할 수 있었던 모든 정보를 제공할 수 있는 방향으로 대화를 이끌 수 없을 수 있다. 게이트웨이(110)가 사용자가 이전에 제공했던 모든 정보를 제공할 수 없는 경우, 게이트웨이(110)는 사용자 없이 수행된 대화에 대한 컨텍스트를 사용자에게 제공할 수 있다.
게이트웨이(110)는 또한 세션 데이터 또는 사용자 입력을 저장함으로써 클라이언트-사이드 통합을 수행할 수 있다. 게이트웨이(110)는 대화가 캐치업되거나 업데이트된 경우 게이트웨이(110)가 할 수 있는 한 사용자에게 저장된 데이터를 제공할 수 있고, 사용자는 컨텐츠 제공자 담당자의 상황 이해를 위한 컨텍스트를 갖게 한다.
게이트웨이(110)는 사용자가 비활성이거나 사용불가능한 때를 검출할 수 있다. 예를 들어, 사용자가 컨텐츠 제공자 담당자에게 알리지 않고 미팅을 떠나거나 그의 디바이스로부터 멀어진 경우, 게이트웨이(110)는 해당 케이스를 비활성으로 표시할 수 있다. 게이트웨이(110)는 현재 대화의 다양한 특성에 기초하여, 사용자가 비활성인지 여부를 결정할 수 있다. 이러한 특성은 컨텐츠 제공자의 최신 응답 및 사용자의 최종 응답 사이에 지나간 임계 시간, 사용자에 의해 입력된 특정 문구, 컨텐츠 제공자에 의해 입력된 특정 문구 또는 게이트웨이(110)가 액세스를 가지는 사용자와 연관된 다양한 이벤트 데이터를 포함한다. 예를 들어, 사용자가 대화 중에 스케줄된 미팅을 갖는 경우, 게이트웨이(110)는 사용자가 임계 시간 내에 응답하지 않을 때 사용자가 미팅 중임을 결정할 수 있다.
대화가 비활성으로 표시되면, 게이트웨이(110)는 사용자가 떨어져 있다는 것을 컨텐츠 제공자에게 통지할 수 있다. 예를 들어, 사용자가 비활성인 것으로 검출되면, 게이트웨이(110)는 컨텐츠 제공자 담당자에게 몇 분 동안 연결을 유지하고 접속을 유지할 것을 요구하는 사용자를 대신하여 컨텐츠 제공자 담당자에게 응답을 제공할 수 있다.
일부 예에서, 게이트웨이(110)는 케이스를 비활성이 아닌 해결된 것으로 표시할 수 있다. 예를 들어, 사용자가 임계 시간 동안 응답하지 않지만, 컨텐츠 제공자가 사용자의 문제를 해결했다는 표시(사용자가 "좋아요, 됐습니다. 감사합니다"를 응답함)가 사용자에 의해 제공된 응답에 있었던 경우, 게이트웨이(110)은 대화를 해결된 것으로 표시할 수 있다. 사용자가 컨텐츠 제공자와 통신하고 있는 게이트웨이(110) 또는 디바이스(102, 104 또는 106)는 또한 문제가 해결되었는지 여부를 명확히 하기 위해 사용자 또는 컨텐츠 제공자로부터 입력을 요청할 수 있다. 예를 들어, 스크린이 없는 어시스턴트 디바이스(106)는 사용자와 컨텐츠 제공자 사이의 대화와는 별도로 사용자에게 문제가 해결되었는지 여부를 묻는 음성 출력을 제공할 수 있다. 사용자가 긍정적 응답을 제공하면, 스크린이 없는 어시스턴트 디바이스(106)는 게이트웨이(110)에 응답을 제공할 수 있고, 게이트웨이(110)는 대화를 해결된 것으로 표시할 수 있고, 사용자로부터의 추가 응답을 프롬프트하거나 이와 달리 유도하지 않는다.
일부 예에서, 게이트웨이(110)는 사용자가 일시적으로 사용가능하지 않은 경우에 컨텐츠 제공자 담당자와 대화를 유지하려고 시도할 수 있다. 예를 들어, 사용자가 모바일 디바이스(102)에서 전화를 수신하면, 게이트웨이(110)는 "잠시만요, 기다려주세요"와 같은 응답을 사용자 대신 컨텐츠 제공자에게 제공할 수 있다. 그 다음 게이트웨이(110)는 사용자의 다음 응답 때까지 채팅 세션을 유지하려고 시도할 수 있다.
도 3은 사용자와 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하고 유지하기 위한 예시적 프로세스(300)의 흐름도이다. 일부 구현예에서, 프로세스(300)는 시스템(100)과 같은 메시징 시스템에 의해 구현될 수 있다. 예를 들어, 프로세스(300)는 도 1의 게이트웨이(110)에 의해 구현될 수 있다. 일부 구현예에서, 프로세스(300)는 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들로서 구현될 수 있고, 명령어들이 하나 이상의 서버들에 의해 실행될 때, 명령어들은 하나 이상의 서버로 하여금 프로세스(300)의 동작들을 수행하게 할 수 있다.
프로세스(300)은 복수의 웹 리소스들 각각에 대해, 통신 서버가 각각의 웹 리소스의 특성들을 표시하는 데이터를 수신하는 경우 시작한다(302), 예를 들어, 게이트웨이(110)는 특정한 웹 페이지의 특성을 표시하는 데이터를 수신할 수 있으며, 웹 페이지가 특정 문구, 위젯, 코드 스니펫 등을 포함하는지 여부를 포함한다.
프로세스(300)는 복수의 웹 리소스들 각각에 대해, 수신된 데이터에 기초하여, 통신 서버가 상기 각각의 웹 리소스가 상기 각각의 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 검출하는 경우 계속된다. 일부 구현예에서, 채팅 사용자 인터페이스는 채팅 위젯이다. 상기 라이브 어시스턴트는 상기 특정한 서드 파티 컨텐츠 제공자의 사람 담당자(human representative)에 의해 제공될 수 있다. 상기 채팅 사용자 인터페이스는 상기 검색 요청에 대한 응답인 결과들 및 상기 컨텐츠 아이템을 디스플레이하는 웹 페이지 상에 제시될 수 있다. 일부 예에서, 상기 사용자는 네트워크 연결 디바이스를 통해 상기 채팅 세션에 액세스한다. 네트워크 연결 디바이스는 모바일 디바이스, 데스크톱 디바이스 또는 기타 다양한 네트워크 연결 디바이스일 수 있다. 일부 예에서, 네트워크 연결 디바이스는 스크린이 없다.
일부 예에서, 상기 검출하는 단계는 상기 웹 리소스에 액세스하는 단계, 상기 웹 리소스가 액세스되고 있는 윈도우와 별개인 새로운 윈도우가 오픈되었음을 결정하는 단계, 및 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 텍스트 문구를 상기 새로운 윈도우에서 결정하는 단계를 포함한다.
일부 예에서, 상기 검출하는 단계는 상기 웹 리소스에 액세스하는 단계, 상기 웹 리소스 상의 위젯을 식별하는 단계, 및 상기 웹 리소스가 상기 웹 리소스 상의 채팅 사용자 인터페이스를 통해 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공함을 표시하는 태그를 상기 웹 리소스 상의 상기 위젯에 대한 코드에서 식별하는 단계를 포함한다.
프로세스(300)는 상기 복수의 웹 리소스들 각각에 대해, 상기 통신 서버가 상기 각각의 웹 리소스가 상기 기능을 가지고 있음을 표시하는 엔트리를 데이터베이스에 저장하는 경우 계속된다(306). 예를 들어, 게이트웨이(110)는 특정한 웹 페이지가 메시징 기능을 갖는다는 것을 표시하는 엔트리를 데이터베이스에 저장할 수 있다.
프로세스(300)는 상기 통신 서버가 특정한 서드 파티 컨텐츠 제공자에 의해 호스팅되는 특정한 웹 리소스에 액세스하기 위한 요청을 사용자로부터 수신하는 경우 계속된다(308). 예를 들어, 사용자는 특정한 컨텐츠 제공자와 연관된 웹 리소스로 사용자를 안내하는 검색 결과 링크를 선택할 수 있다. 일부 예에서, 상기 요청은 검색 요청에 응답하여 제시된 및 상기 특정한 웹 리소스에 대한 링크된 컨텐츠 아이템의 선택에 응답하여 제공된다. 일부 예에서, 상기 특정한 웹 리소스에 액세스하기 위한 요청은 음성 입력을 포함한다.
프로세스(300)는 상기 통신 서버가 상기 특정한 웹 리소스를 표현하는 데이터베이스에 저장된 엔트리에 기초하여, 상기 특정한 웹 리소스가 상기 특정한 웹 리소스 상의 특정한 채팅 사용자 인터페이스를 통해 상기 특정한 서드 파티 컨텐츠 제공자에 의한 라이브 어시스턴트에 대한 기능을 제공하는 것을 결정하는 경우 계속된다(310).
프로세스(300)는 상기 통신 서버가 상기 사용자와 상기 서드 파티 컨텐츠 제공자 간의 채팅 세션을 개시하는 경우 계속된다(312). 예를 들어, 게이트웨이(110)는 사용자 및 컨텐츠 제공자에게 간의 채팅 세션을 개시할 수 있다. 일부 예에서, 상기 채팅 세션은 i) 상기 통신 서버와 상기 사용자 사이의 제1 세션, 및 ii) 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제2 세션을 포함한다. 일부 예에서, 상기 개시하는 단계는 상기 서드 파티 컨텐츠 제공자로부터, 상기 채팅 세션의 상기 제1 세션에 대한 제1 고유 세션 식별자를 수신하는 단계, 및 상기 통신 서버에 의해, 상기 제2 세션을 지원하기 위해 상기 제1 고유 세션 식별자를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다.
일부 예에서, 프로세스(300)는 상기 채팅 사용자 인터페이스를 통해 제1 세션에 대한 입력을 수신하는 단계, 및 제2 세션에 대한 상기 사용자 입력을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계를 포함한다. 프로세스(300)는 상기 특정한 웹 리소스에 대해 개시된 복수의 채팅 세션들 각각에 대해, 상기 사용자를 상기 특정 웹 리소스로 안내하는 상기 컨텐츠 아이템의 고유 식별자에 기초하여, 상기 채팅 세션에 대한 컨텐츠 아이템 메트릭 값을 결정하는 단계, 상기 컨텐츠 아이템 메트릭 값들을 사용하여, 상기 컨텐츠 아이템 메트릭 값들의 프레젠테이션을 생성하는 단계, 및 디스플레이를 위해 상기 프레젠테이션을 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계를 포함한다. 예를 들어, 컨텐츠 아이템 메트릭 값은 채팅 기능과 연관된 클릭-쓰루 레이트를 포함할 수 있다.
일부 예에서, 프로세스(300)는 미리 결정된 기간 동안의 무활동 및 상기 제1 세션 또는 상기 제2 세션 중 적어도 하나가 종료됨을 검출하는 단계를 포함한다. 프로세스(300)는 상기 채팅 세션의 컨텍스트 데이터에 기초하여, 상기 사용자가 상기 채팅 세션을 완료하지 않았음을 결정하는 단계, 및 상기 제1 세션의 전체를 표시하는 데이터를 상기 데이터베이스에 저장하는 단계를 포함한다. 프로세스(300)는 상기 제2 세션이 종료됨을 검출하는 것에 응답하여, 상기 채팅 세션의 일부로서 상기 통신 서버와 상기 서드 파티 컨텐츠 제공자 사이의 제3 세션을 개시하는 단계, 및 상기 통신 시스템에 의해, 상기 사용자가 상기 서드 파티 컨텐츠 제공자와 상기 채팅 세션을 재개할 수 있도록 상기 제1 세션의 적어도 일부를 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에 제공하는 단계에 의해 계속될 수 있다.
일부 예에서, 프로세스(300)는 사용자로부터 제1 세션에서 제2 음성 입력을 수신하는 단계를 더 포함한다. 프로세스(300)는 상기 제2 세션에서 상기 제2 음성 입력의 텍스트 표현을 표시하는 데이터를 상기 서드 파티 컨텐츠 제공자에게 제공하는 단계로 계속된다. 프로세스(300)는 상기 통신 시스템에 의해, 상기 통신 시스템과 상기 서드 파티 컨텐츠 제공자 상이의 상기 제2 세션에서 상기 서드 파티 컨텐츠 제공자로부터 텍스트 입력을 수신하는 단계로 계속된다. 프로세스(300)는 상기 제1 세션에서 상기 서드 파티 컨텐츠 제공자로부터 상기 텍스트 입력의 음성 표현을 표시하는 데이터를 상기 사용자에게 제공하는 단계로 계속된다.
도 4는 상기 기술된 동작들을 수행하는데 사용될 수 있는 예시적 컴퓨터 시스템(400)의 블록 다이어그램이다. 시스템(400)은 프로세서(410), 메모리(420), 저장 디바이스(430) 및 입력/출력 디바이스(440)를 포함한다. 컴포넌트들(410, 420, 430 및 440) 각각은 예를 들면, 시스템 버스(450)를 사용하여 상호 연결될 수 있다. 프로세서(410)는 시스템(400) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 일 구현예에서, 프로세서(410)는 단일-스레드 프로세서이다. 다른 구현예에서, 프로세서(410)는 멀티-스레드 프로세서이다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령어들을 프로세싱할 수 있다.
메모리(420)는 시스템(400) 내에 정보를 저장한다. 일 구현예에서, 메모리(420)는 컴퓨터 판독가능 매체이다. 일 구현예에서, 메모리(420)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(420)는 비휘발성 메모리 유닛이다.
저장 디바이스(430)는 시스템(400)에 대한 대형 저장소를 제공할 수 있다. 일 구현예에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(430)는 예를 들면, 하드 디스크 디바이스, 광학 디스크 디바이스, 다수의 컴퓨팅 디바이스들(에를 들면, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스 또는 일부 기타 대용량 저장 디바이스를 포함할 수 있다.
입력/출력 디바이스(440)는 시스템(400)에 대한 입력/출력 동작들을 제공한다. 일 구현예에서, 입력/출력 디바이스(440)는 네트워크 인터페이스 디바이스들 예를 들어, 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현예에서, 입력/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 입력/출력 디바이스들 예를 들어, 키보드, 프린터 및 디스플레이 디바이스들(460)에 송신하도록 구성된 드라이버 디바이스들을 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들, 셋톱 박스 텔레비전 클라이언트 디바이스들 등과 같은 다른 구현예들도 사용될 수 있다.
예시적 프로세싱 시스템이 도 4에서 기술되었지만, 본 발명의 구현예들 및 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 다른 유형의 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
전자 문서(간단히 문서로 지칭됨)는 반드시 파일에 해당하는 것은 아니다. 문서는 다른 문서를 보관하는 파일의 일부, 문제의 문서 전용 단일 파일 또는 다수의 조정된 파일에 저장될 수 있다.
본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체(또는 매체들)에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또느전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 엑세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨텅 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를송수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (20)

  1. 방법으로서,
    통신 서버에 의해, 사용자로부터 퍼스널 디지털 어시스턴트의 마이크로폰을 통해 제출된 음성 입력을 수신하는 단계;
    상기 통신 서버에 의해, 상기 음성 입력을 사용하여 검색 결과를 획득하는 단계;
    상기 통신 서버에 의해, 서드파티 콘텐츠 제공자에 의해 제공된 웹 리소스의 분석에 기초하여, 상기 웹 리소스가 상기 서드파티 콘텐츠 제공자에 의해 제공된 라이브 채팅 시스템에 대한 연결을 개시하는 사용자 인터페이스 엘리먼트를 포함하는 것을 검출함으로써 상기 검색 결과 중 하나에 대응하는 서드파티 콘텐츠 제공자가 채팅 사용자 인터페이스를 통한 채팅 기능으로 라이브 인터렉티브 어시스턴트를 제공한다고 결정하는 단계;
    상기 사용자가 먼저 상기 웹 리소스를 요청할 필요 없이 상기 검색 결과가 사용자에게 전달될 때 상기 서드파티 콘텐츠 제공자에 의해 제공되는 채팅 기능을 사용하여 채팅 세션을 개시하는 옵션을 퍼스널 디지털 어시스턴트를 통해 상기 사용자에게 제공하는 단계;
    퍼스널 디지털 어시스턴트를 통해, 상기 사용자가 상기 채팅 세션의 개시를 요청했다는 확인을 수신하는 단계; 및
    상기 통신 서버에 의해, 상기 사용자를 상기 서드파티 콘텐츠 제공자에 의해 제공되는 웹 리소스로 리디렉션하지 않고, 상기 사용자와 상기 콘텐츠 제공자의 에이전트 간의 채팅 세션을 개시하는 단계를 포함하며,
    상기 채팅 세션을 개시하기 위한 옵션을 제공하는 단계는 상기 퍼스널 디지털 어시스턴트를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 단계를 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 단계는 상기 청각적 질문에 대한 음성 응답을 상기 퍼스널 디지털 어시스턴트를 통해 수신하는 단계를 포함하는, 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 단계는 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 단계를 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 단계는 상기 청각적 질문에 대한 음성 응답을 상기 제2 디바이스를 통해 수신하는 단계를 포함하는, 방법.
  4. 청구항 1에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 단계는 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 단계; 및
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 단계는 상기 제2 디바이스를 통해 상기 제2 디바이스의 디스플레이에 제시된 채팅 위젯과의 인터렉션을 수신하는 단계를 포함하는, 방법.
  5. 청구항 1에 있어서, 상기 채팅 세션을 개시하는 단계는 상기 에이전트와 인터넷 프로토콜 음성 전화 통화를 개시하는 단계를 포함하는, 방법.
  6. 청구항 1에 있어서,
    상기 채팅 세션 동안 상기 사용자와 상기 에이전트 간의 통신을 로깅하는 것을 포함하여 상기 채팅 세션의 상태를 유지하는 단계;
    상기 에이전트와 상기 사용자 간의 인터렉션의 완료 전에 상기 채팅 세션이 종료되었다고 결정하는 단계;
    상기 콘텐츠 제공자의 후속 에이전트와 후속 채팅 세션을 개시하는 단계; 및
    상기 사용자와 상기 에이전트 사이에 로깅된 통신의 적어도 일부를 포함하는 상기 채팅 세션의 상태를 상기 후속 에이전트에게 제공하는 단계를 포함하는, 방법.
  7. 청구항 6에 있어서, 상기 에이전트와 사용자 간의 인터렉션의 완료 전에 상기 채팅 세션이 종료되었다고 결정하는 단계는 적어도 미리 결정된 시간의 기간 동안 상기 채팅 기능을 통한 활동이 없음을 결정하는 단계를 포함하는, 방법.
  8. 시스템으로서,
    채팅 세션에 대한 클라이언트-사이드 입력에 대응하는 인터렉션 데이터를 저장하는 게이트웨이;
    클라이언트 디바이스와 통신하는 통신 서버를 포함하며, 상기 통신 서버는 상기 클라이언트 디바이스와 콘텐츠 제공자 간의 채팅 세션을 지원하고, 동작들을 수행하며, 상기 동작들은:
    상기 클라이언트 디바이스의 사용자로부터, 퍼스널 디지털 어시스턴트의 마이크로폰을 통해 제출된 음성 입력을 수신하는 동작;
    상기 음성 입력을 사용하여 검색 결과를 획득하는 동작;
    서드파티 콘텐츠 제공자에 의해 제공된 웹 리소스의 분석에 기초하여, 상기 웹 리소스가 상기 서드파티 콘텐츠 제공자에 의해 제공된 라이브 채팅 시스템에 대한 연결을 개시하는 사용자 인터페이스 엘리먼트를 포함하는 것을 검출함으로써 상기 검색 결과 중 하나에 대응하는 서드파티 콘텐츠 제공자가 채팅 사용자 인터페이스를 통한 채팅 기능으로 라이브 인터렉티브 어시스턴트를 제공한다고 결정하는 동작;
    상기 사용자가 먼저 상기 웹 리소스를 요청할 필요 없이 상기 검색 결과가 사용자에게 전달될 때 상기 서드파티 콘텐츠 제공자에 의해 제공되는 채팅 기능을 사용하여 채팅 세션을 개시하는 옵션을 퍼스널 디지털 어시스턴트를 통해 상기 사용자에게 제공하는 동작;
    퍼스널 디지털 어시스턴트를 통해, 상기 사용자가 상기 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작; 및
    상기 통신 서버에 의해, 상기 사용자를 상기 서드파티 콘텐츠 제공자에 의해 제공되는 웹 리소스로 리디렉션하지 않고, 상기 사용자와 상기 콘텐츠 제공자의 에이전트 간의 채팅 세션을 개시하는 동작을 포함하며,
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 퍼스널 디지털 어시스턴트를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 청각적 질문에 대한 음성 응답을 상기 퍼스널 디지털 어시스턴트를 통해 수신하는 동작을 포함하는, 시스템
  9. 삭제
  10. 청구항 8에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 청각적 질문에 대한 음성 응답을 상기 제2 디바이스를 통해 수신하는 동작을 포함하는, 시스템.
  11. 청구항 8에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 제2 디바이스를 통해 상기 제2 디바이스의 디스플레이에 제시된 채팅 위젯과의 인터렉션을 수신하는 동작을 포함하는, 시스템.
  12. 청구항 8에 있어서, 상기 채팅 세션을 개시하는 동작은 상기 에이전트와 인터넷 프로토콜 음성 전화 통화를 개시하는 동작을 포함하는, 시스템.
  13. 청구항 8에 있어서, 상기 동작들은:
    상기 채팅 세션 동안 상기 사용자와 상기 에이전트 간의 통신을 로깅하는 것을 포함하여 상기 채팅 세션의 상태를 유지하는 동작;
    상기 에이전트와 상기 사용자 간의 인터렉션의 완료 전에 상기 채팅 세션이 종료되었다고 결정하는 동작;
    상기 콘텐츠 제공자의 후속 에이전트와 후속 채팅 세션을 개시하는 동작; 및
    상기 사용자와 상기 에이전트 사이에 로깅된 통신의 적어도 일부를 포함하는 상기 채팅 세션의 상태를 상기 후속 에이전트에게 제공하는 동작을 포함하는, 시스템.
  14. 청구항 13에 있어서, 상기 에이전트와 사용자 간의 인터렉션의 완료 전에 상기 채팅 세션이 종료되었다고 결정하는 동작은 적어도 미리 결정된 시간의 기간 동안 상기 채팅 기능을 통한 활동이 없음을 결정하는 동작을 포함하는, 시스템.
  15. 명령어를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어는 하나 이상의 컴퓨팅 디바이스에 의해 실행될 때, 상기 하나 이상의 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    사용자로부터, 퍼스널 디지털 어시스턴트의 마이크로폰을 통해 제출된 음성 입력을 수신하는 동작;
    상기 음성 입력을 사용하여 검색 결과를 획득하는 동작;
    서드파티 콘텐츠 제공자에 의해 제공된 웹 리소스의 분석에 기초하여, 상기 웹 리소스가 상기 서드파티 콘텐츠 제공자에 의해 제공된 라이브 채팅 시스템에 대한 연결을 개시하는 사용자 인터페이스 엘리먼트를 포함하는 것을 검출함으로써 상기 검색 결과 중 하나에 대응하는 서드파티 콘텐츠 제공자가 채팅 사용자 인터페이스를 통한 채팅 기능으로 라이브 인터렉티브 어시스턴트를 제공한다고 결정하는 동작;
    상기 사용자가 먼저 상기 웹 리소스를 요청할 필요 없이 상기 검색 결과가 사용자에게 전달될 때 상기 서드파티 콘텐츠 제공자에 의해 제공되는 채팅 기능을 사용하여 채팅 세션을 개시하는 옵션을 퍼스널 디지털 어시스턴트를 통해 상기 사용자에게 제공하는 동작;
    퍼스널 디지털 어시스턴트를 통해, 상기 사용자가 상기 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작; 및
    상기 사용자를 상기 서드파티 콘텐츠 제공자에 의해 제공되는 웹 리소스로 리디렉션하지 않고, 상기 사용자와 상기 콘텐츠 제공자의 에이전트 간의 채팅 세션을 개시하는 동작을 포함하며,
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 퍼스널 디지털 어시스턴트를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 청각적 질문에 대한 음성 응답을 상기 퍼스널 디지털 어시스턴트를 통해 수신하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 삭제
  17. 청구항 15에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 청각적 질문에 대한 음성 응답을 상기 제2 디바이스를 통해 수신하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 청구항 15에 있어서,
    상기 퍼스널 디지털 어시스턴트는 디스플레이를 포함하지 않는 제1 디바이스 및 디스플레이를 포함하는 제2 디바이스를 포함하는 둘 이상의 상이한 디바이스에 걸쳐 구현되며;
    채팅 세션을 개시하기 위한 옵션을 제공하는 동작은 상기 제1 디바이스를 통해, 상기 사용자에게 콘텐츠 제공자로부터 추가 정보를 제공할 수 있는 에이전트에 연결하거나 채팅하기를 원하는지 여부를 묻는 청각적 질문을 제공하는 동작을 포함하며; 그리고
    상기 사용자가 채팅 세션의 개시를 요청했다는 확인을 수신하는 동작은 상기 제2 디바이스를 통해 상기 제2 디바이스의 디스플레이에 제시된 채팅 위젯과의 인터렉션을 수신하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  19. 청구항 15에 있어서, 상기 채팅 세션을 개시하는 동작은 상기 에이전트와 인터넷 프로토콜 음성 전화 통화를 개시하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  20. 청구항 15에 있어서,
    상기 채팅 세션 동안 상기 사용자와 상기 에이전트 간의 통신을 로깅하는 것을 포함하여 상기 채팅 세션의 상태를 유지하는 동작;
    상기 에이전트와 상기 사용자 간의 인터렉션의 완료 전에 상기 채팅 세션이 종료되었다고 결정하는 동작;
    상기 콘텐츠 제공자의 후속 에이전트와 후속 채팅 세션을 개시하는 동작; 및
    상기 사용자와 상기 에이전트 사이에 로깅된 통신의 적어도 일부를 포함하는 상기 채팅 세션의 상태를 상기 후속 에이전트에게 제공하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020217025717A 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선 KR102390939B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2017/037258 WO2018231208A1 (en) 2017-06-13 2017-06-13 Improving interaction with electronic chat interfaces
KR1020197022765A KR102291621B1 (ko) 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197022765A Division KR102291621B1 (ko) 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선

Publications (2)

Publication Number Publication Date
KR20210102503A KR20210102503A (ko) 2021-08-19
KR102390939B1 true KR102390939B1 (ko) 2022-04-26

Family

ID=59091678

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217025717A KR102390939B1 (ko) 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선
KR1020197022765A KR102291621B1 (ko) 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197022765A KR102291621B1 (ko) 2017-06-13 2017-06-13 전자 채팅 인터페이스들과의 인터렉션 개선

Country Status (5)

Country Link
EP (1) EP3559825A1 (ko)
JP (3) JP6855584B2 (ko)
KR (2) KR102390939B1 (ko)
CN (2) CN117131255A (ko)
WO (1) WO2018231208A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165734B1 (en) 2020-06-10 2021-11-02 Snap Inc. Messaging system share-to-chat
CN113010074A (zh) * 2021-04-22 2021-06-22 海信电子科技(深圳)有限公司 一种网页视频Video控制栏显示方法及显示设备
CN115811622A (zh) * 2021-09-15 2023-03-17 花瓣云科技有限公司 一种直播互动方法、电子设备及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150235289A1 (en) * 2012-05-17 2015-08-20 Leo Jeremias Computer system and methods for chat enabled online search

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003092628A (ja) * 2001-07-13 2003-03-28 Ketsu Aoki 電話リレーサービス方法
JP4809010B2 (ja) * 2005-07-25 2011-11-02 ヤフー株式会社 情報検索システム
US20070162605A1 (en) * 2006-01-07 2007-07-12 Chalasani Nanchariah R Distributed instant messaging
US7761321B2 (en) * 2006-02-22 2010-07-20 24/7 Customer, Inc. System and method for customer requests and contact management
JP4902417B2 (ja) * 2007-04-27 2012-03-21 楽天株式会社 メッセージ送受信システム、サーバ装置、端末装置、サーバ処理プログラム、端末処理プログラム、及び情報提供方法
US7987275B2 (en) 2007-09-18 2011-07-26 International Business Machines Corporation Method, apparatus and computer program product implementing a chat application proxy and a chat application wrapper in a chat system
US8805844B2 (en) * 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
JP2010277207A (ja) * 2009-05-27 2010-12-09 Nec Corp 携帯端末、検索エンジンシステム及びそれらに用いる情報提供サービス方法
JP2013530447A (ja) * 2010-05-04 2013-07-25 ライヴ マトリックス インコーポレイテッド 索引要素をメタデータに関連付けるウェブの時間索引
US9641480B2 (en) * 2012-02-05 2017-05-02 Apple Inc. Automated participant account determination for a communication session
US20130275862A1 (en) * 2012-04-16 2013-10-17 Hosni I. Adra System and Method for Providing a Product-Based Chat Session
US20130311339A1 (en) * 2012-05-17 2013-11-21 Leo Jeremias Chat enabled online marketplace systems and methods
US9392421B2 (en) * 2012-05-23 2016-07-12 Qualcomm Incorporated Systems and methods for group communication using a mobile device with mode depending on user proximity or device position
CN105099858B (zh) * 2014-05-14 2019-03-26 腾讯科技(深圳)有限公司 网络即时通信会话方法和系统
CN104317796A (zh) * 2014-08-29 2015-01-28 北京奇虎科技有限公司 一种基于搜索的多用户交互方法、服务器,以及系统
KR101603443B1 (ko) * 2014-11-26 2016-03-15 라인 가부시키가이샤 서비스 연계를 통한 커뮤니케이션 방법과 시스템 및 기록 매체, 그리고 퍼블리셔의 컨텐츠 노출 방법과 시스템
KR102386739B1 (ko) * 2014-12-08 2022-04-15 삼성전자주식회사 단말 장치 및 그의 데이터 처리 방법
CN104866560B (zh) * 2015-05-18 2018-10-23 百度在线网络技术(北京)有限公司 资源信息分享方法及其终端设备和服务器
KR20160113568A (ko) * 2016-09-20 2016-09-30 네이버 주식회사 실시간 대화를 기반으로 한 트랜잭션 처리 방법과 시스템 및 기록 매체
KR101772361B1 (ko) * 2017-03-06 2017-08-28 라인 가부시키가이샤 메신저를 통한 컨텐츠 제공 방법과 시스템 및 기록 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150235289A1 (en) * 2012-05-17 2015-08-20 Leo Jeremias Computer system and methods for chat enabled online search

Also Published As

Publication number Publication date
KR20190099072A (ko) 2019-08-23
KR102291621B1 (ko) 2021-08-19
JP7459185B2 (ja) 2024-04-01
EP3559825A1 (en) 2019-10-30
JP2021099862A (ja) 2021-07-01
JP6855584B2 (ja) 2021-04-07
CN110268400A (zh) 2019-09-20
JP7124151B2 (ja) 2022-08-23
WO2018231208A1 (en) 2018-12-20
JP2020518039A (ja) 2020-06-18
JP2022166160A (ja) 2022-11-01
CN110268400B (zh) 2023-08-15
CN117131255A (zh) 2023-11-28
KR20210102503A (ko) 2021-08-19

Similar Documents

Publication Publication Date Title
JP7263442B2 (ja) モバイルアプリケーションのリアルタイム遠隔制御のためのシステムおよび方法
US11928482B2 (en) Interaction with electronic chat interfaces
JP6961737B2 (ja) 動的コード管理
JP7124151B2 (ja) 電子チャットインタフェースとの対話の改善
US20190182383A1 (en) Transfer of customer support to automated processing
US20120317492A1 (en) Providing Interactive and Personalized Multimedia Content from Remote Servers
US10439974B2 (en) Sharing of activity metadata via messaging systems
US11783359B2 (en) Audio advertising interaction with voice interactive devices
US20220159046A1 (en) Automated agent for a web communication feature
CN113454955A (zh) 实现终结点通信通道选择的动态文本消息处理
US10997963B1 (en) Voice based interaction based on context-based directives
US20180068365A1 (en) Commerce bot
KR20150106565A (ko) 메신저 서비스 시스템, 그 시스템에서 프레즌스 정보를 이용한 인스턴트 메시지 서비스 방법 및 장치
IL305185A (en) Creating intelligent assistant content
KR20230161800A (ko) 광고 메시지의 반응 정보를 제공하는 방법, 단말 및 서버
CN116069307A (zh) 消息配置方法及相关装置
KR20150106181A (ko) 메신저 서비스 시스템, 그 시스템에서의 상용구 패턴을 이용한 메신저 서비스 방법 및 장치
KR20150105780A (ko) 커뮤니케이션 서비스 시스템, 그의 커뮤니케이션 서비스 제공을 위한 장치 및 방법

Legal Events

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