KR102453798B1 - 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결 - Google Patents

감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결 Download PDF

Info

Publication number
KR102453798B1
KR102453798B1 KR1020207035648A KR20207035648A KR102453798B1 KR 102453798 B1 KR102453798 B1 KR 102453798B1 KR 1020207035648 A KR1020207035648 A KR 1020207035648A KR 20207035648 A KR20207035648 A KR 20207035648A KR 102453798 B1 KR102453798 B1 KR 102453798B1
Authority
KR
South Korea
Prior art keywords
activity
instances
user
activity instances
users
Prior art date
Application number
KR1020207035648A
Other languages
English (en)
Other versions
KR20200142111A (ko
Inventor
랜스 마르코스 캘보
필립 쿤스
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020227034735A priority Critical patent/KR102576179B1/ko
Publication of KR20200142111A publication Critical patent/KR20200142111A/ko
Application granted granted Critical
Publication of KR102453798B1 publication Critical patent/KR102453798B1/ko

Links

Images

Classifications

    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

그룹 사용자들로부터의 감소된 입력들을 이용하여(또는 입력 없이), 그룹 사용자들이 수행하는데 관심이 있는 활동 인스턴스들의 세트를 자동으로 결정할 수 있다. 활동 인스턴스들의 세트의 표현은 그룹에서 고려할 수 있도록 렌더링될 수 있으며 제한된 기준만이 지정되는 경우에도 활동 인스턴스 세트를 판별할 수 있다. 선택적으로, 활동 인스턴스 세트의 렌더링된 표현에 대한 긍정적인 사용자 인터페이스 입력(들)에 응답하여, 상기 세트의 활동 인스턴스들 중 하나 이상은 그룹의 한 명 이상의 사용자의 제한된 입력을 통해 확인될 수 있다. 또한 활동 인스턴스 세트의 자동 결정은 선택적으로, 그룹의 사용자들이 상기 세트를 만족스러워할 가능성을 최적화하도록 트레이닝된 하나 이상의 트레이닝된 머신 러닝 모델을 사용하여 수행된다.

Description

감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결
본 발명은 감소된 사용자 입력을 이용하여(또는 사용자 입력 없이), 사용자 그룹에 대한 활동 인스턴스들의 세트를 자동으로 결정하기 위한 방법, 컴퓨팅 장치, 컴퓨터 판독가능 매체에 관한 발명이다.
사용자들의 그룹은 상기 그룹이 협동적으로 참여할 다수의 활동들을 결정하기 위해 진행중인 통신 스레드를 이용할 수 있다. 예를 들어, 사용자들의 그룹은 저녁 식사전 술자리(pre-dinner drinks), 저녁 식사, 및 영화 보기라는 3개의 활동들을 포함하는 여가 활동을 조정함에 있어서, 전자 메시지(예컨대, 채팅 메시지, 이메일 및/또는 문자 메시지)를 교환하기 위해 각자의 모바일 디바이스를 사용할 수 있다. 이러한 활동들을 조정하려면 그룹 사용자들의 다양한 관심사를 해결하고 사용자들간에 존재하는 시간 충돌을 해결하기 위하여(기타 등등), 통신 스레드를 통해 많은 양의 전자 메시지들을 교환해야 한다. 이러한 메시지 교환은 네트워크 리소스를 소비할 뿐만 아니라(예컨대, 메시지의 전송을 통해), 클라이언트 디바이스 리소스를 소비한다(예를 들어, 전송할 메시지를 준비하고 및/또는 수신된 메시지의 렌더링을 통해). 또한, 상기 그룹의 하나 이상의 사용자는 종종 검색 엔진을 사용하고, 웹 페이지를 정독하고, 활동들의 세트를 결정함에 있어 다른 리소스들을 활용할 것이다. 활동들의 세트를 결정할 때의 이러한 리소스 활용은 마찬가지로 네트워크 및/또는 클라이언트 디바이스 리소스를 소비할 수 있다.
많은 사용자들이 통신 스레드에 포함될수록, 사용자 입력의 양이 증가하며, 클라이언트 디바이스 및 네트워크 리소스의 사용량 역시도 마찬가지로 증가한다. 예를 들어, 사용자는 사용자 및 추가 사용자들을 포함하는 통신 스레드에서 활동들의 그룹과 관련된 제 1 메시지를 제공할 수 있다(예컨대, "금요일에 술먹고, 저녁 식사하고, 영화보자"). 이러한 제 1 메시지는 그룹 활동들을 위한 장소(들), 그룹 활동들을 위한 시간(들), 기타 등등의 세트를 결정하고자 시도함에 있어서, 하나 이상의 추가적인 사용자 제출 검색 질의들, 앱의 이용들, 기타 등등을 야기할 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 사용자는 제 1 사용자 메시지에 대한 응답을 준비하고 전송할 수 있으며, 이는 추가 메시지(들)가 전송 및 렌더링되는 결과를 초래할 것이다. 또한, 이러한 추가 메시지(들)는 추가 검색들, 추가 앱 사용들 등을 초래할 수 있다. 총체적으로, 이러한 액션들은 메시지 교환 스레드에 관련된 사용자들의 클라이언트 디바이스들의 상당한 리소스들(예컨대, 컴퓨팅 리소스, 배터리 리소스)을 이용할 뿐만 아니라, 상당한 네트워크 리소스들을 이용한다.
본 명세서에 서술된 구현예들은, 사용자들의 그룹이 수행하는데 관심이 있는 활동 인스턴스들의 세트를 자동으로 결정하고, 그룹 사용자들로부터의 감소된 입력들(또는 무입력)을 이용하여 활동 인스턴스들의 세트를 결정한다. 예를 들어, 일부 구현예들은 그룹에 의한 고려를 위해 렌더링되는 제한된 수량(가령, 오직 하나, 3개 이하, 등)의 활동 인스턴스들의 세트들을 자동으로 결정할 수 있으며, 그리고 그룹의 사용자(들)의 사용자 인터페이스 입력(들)을 통해 오직 제한된 기준(예컨대, 활동 유형들, 시간적 제약들)만이 제공되는 경우에도 이렇게 할 수 있다. 제한된 수량의 활동 인스턴스들의 세트들에 대한 표현이, 그룹에 의해 고려될 수 있도록 통신 세션에서 렌더링될 수 있다. 선택적으로는, 렌더링된 활동 인스턴스들의 세트에 대한 긍정적인 사용자 인터페이스 입력(들)에 응답하여, 상기 세트의 하나 이상의 활동 인스턴스들이 상기 그룹의 하나 이상의 사용자의 제한된 입력(들)을 통해 확인(confirm)될 수 있다. 또한, 활동 인스턴스들의 세트(들)에 대한 자동 결정은, 그룹의 사용자가 제한된 수량의 세트(들)을 만족스럽게 찾을 가능성을 최적화하도록 트레이닝된 하나 이상의 트레이닝된 머신 러닝 모델을 사용하여 선택적으로 수행된다. 제한된 수량의 만족스러운 세트에 대한 이러한 자동 결정은, 활동 인스턴스들의 세트를 조정함에 있어서 그룹 사용자들의 입력들을 감소시키게 될 것이며 따라서, 클라이언트 디바이스 및/또는 네트워크 리소스를 보존할 수 있다. 추가적으로 또는 대안적으로, 사용자 입력의 감소는 손재주가 제한된 사용자(들)에게 유익할 수 있다.
일부 구현예에서, 사용자 그룹의 하나 이상의 사용자로부터의 사용자 인터페이스 입력(들)에 기초하여, 2 이상의 활동 유형들의 컬렉션이 결정된다. 또한, 각 활동 유형에 대해 하나 이상의 활동 인스턴스들이 선택된다. 또한, 활동 인스턴스들의 복수의 세트들이 생성되고, 활동 인스턴스들의 각각의 세트는 각 활동 유형에 대한 활동 인스턴스들 중 대응하는 하나의 활동 인스턴스를 포함한다. 또한, 활동 인스턴스들의 세트들의 서브세트가 선택되고, 서브세트의 선택에 응답하여, 서브 세트들의 세트(들)의 표현(들)이 그룹의 사용자(들)에게 렌더링된다. 이러한 구현예들 중 일부에서, 렌더링된 표현들 중 하나에 대한 하나 이상의 긍정적인 사용자 인터페이스 입력을 수신하는 것에 응답하여, 그룹의 사용자(들)의 클라이언트 디바이스(들)는 인터페이스 요소(들)를 렌더링하게 되며, 인터페이스 요소(들)이 선택되면, 렌더링된 표현들 중 하나에 있는 하나 이상의 활동 인스턴스를 확인함에 있어서, 각각의 클라이언트 디바이스로 하여금 원격 컴퓨터 시스템과 상호작용하게한다. 다양한 구현예에서, 활동 인스턴스들의 세트들의 서브세트를 선택하는 것은 생성된 각각의 실행가능성 점수(또는, 스코어)에 기초하여 서브세트에 포함시키기위해, 활동 인스턴스들의 세트들 중 하나 이상을 선택하는 것을 포함한다. 이러한 다양한 구현예들 중 일부에서, 활동 인스턴스들의 소정 세트에 대한 실행가능성 점수는 트레이닝된 머신 러닝 모델을 이용하여 활동 인스턴스들의 소정 세트의 각각의 피처들을 프로세싱하는 것에 기초하여 결정된다.
이들 및 다른 구현예들의 추가적인 설명은 아래에 제시된다. 이러한 설명에서 "활동 유형"은 카테고리의 멤버로서 복수의 활동 인스턴스들을 갖는 활동들의 카테고리를 지칭하며, 여기서 활동 인스턴스들 모두는 하나 이상의 공통 특성을 갖는다. 활동 유형들은 다양한 수준의 세분화로 정의할 수 있다(예컨대, 보다 일반적인 "영화" 또는 보다 특별한 "무서운 영화"). 활동 유형의 비제한적인 예는 "영화", "코미디 영화", "무서운 영화", "저녁 식사", "가스트로 펍에서의 저녁 식사", "점심", "자전거 타기", "산악 자전거 타기", "하이킹" , "어려운 하이킹”, "걷기", "스포츠 경기 참석”, "축구 경기 참석”, "스포츠 경기보기”등을 포함할 수 있다. 또한, 이러한 설명에서 "활동 인스턴스"는 활동 유형의 여러 멤버들 중 하나를 지칭한다. 활동 유형의 소정의 활동 인스턴스는 활동 유형의 다른 활동 인스턴스들과 상기 소정의 활동 인스턴스를 구별하는 하나 이상의 특성들을 갖는다. 이러한 특성들은 특히 이름(또는 다른 식별자) 특성, 위치 특성, 시간(예컨대, 시간 및/또는 날짜) 특성 등을 포함할 수 있다. 일례로, "저녁 식사"에 대한 활동 인스턴스는 가령, "가상 카페(Hypothetical Cafe)"와 같은 특정 레스토랑일 수 있다. 또 다른 일례로서, "저녁 식사"에 대한 활동 인스턴스는, 오후 7:00(시간적 특성)에 "Hypothetical Cafe" 또는 오후 5:30에 "Hypothetical Cafe" 와 같이 보다 세부적으로 정의될 수 있다. 또 다른 일례로서, "영화"에 대한 활동 인스턴스는 "가상 영화"와 같은 특정 영화, 특정 영화관에서의 특정 영화(예컨대, "가상 영화관"에서의 "가상 영화"), 특정 영화관 및 특정 시간에서의 특정 영화(예컨대, 오후 7:00, "가상 영화관"에서의 "가상 영화")일 수 있다.
일부 구현예에서, 사용자들의 그룹이 관여된 진행중인 다중 사용자 통신 세션들의 하나 이상의 전자 메시지에 기초하여 활동 유형의 컬렉션이 결정된다(각 클라이언트 디바이스를 통해). 예를 들어, "영화" 및 "저녁 식사" 라는 활동 유형들은, 사용자들의 그룹을 포함하는 진행중인 메시지 교환 스레드의 하나 이상의 전자 메시지의 자연어 처리에 기반하여 결정될 수 있다. 예를 들어, "수요일 밤에 저녁 식사를 하고 영화를 보자”라는 전자 메시지에 기초하여, "영화" 및 "저녁”이라는 활동 유형들이 결정될 수 있다. 일부 구현예에서, 특정 활동 인스턴스는 하나 이상의 활동 유형과 함께 통신 세션의 메시지(들)에 기초하여 추가로 결정될 수 있다. 예를 들어, "Joe's Steakhouse에 간 다음, 영화 보러 가자"라는 메시지를 프로세싱하여, "Joe's Steakhouse" 라는 활동 인스턴스와 "영화" 라는 활동 유형을 결정할 수 있다. 다른 구현예에서, 임의의 다중 사용자 통신 세션의 외부에서 제공되는 사용자 인터페이스 입력(들)(예컨대, 그룹 활동 플래닝에 전용인 그래픽 인터페이스를 통해 제공되는 입력들)과 같은, 그룹의 사용자(들)의 다른 사용자 인터페이스 입력들에 기초하여, 활동 유형들의 컬렉션이 결정될 수 있다.
활동 유형들(및 선택적으로 활동 인스턴스(들))이 결정되는 방법에 상관없이, 하나 이상의 활동 인스턴스들이 활동 유형들 각각에 대해 선택될 수 있다. 예를 들어, "영화" 및 "저녁 식사" 라는 활동 유형들의 경우, "영화"에 대해서 다수의 활동 인스턴스들이 선택될 수 있으며, "저녁 식사"에 대한 다수의 활동 인스턴스들이 선택될 수 있다.
일부 구현예에서, 활동 인스턴스들을 선택하는 것은, 그룹의 하나 이상의 사용자들의 하나 이상의 선호도 메트릭에 기초하여 활동 인스턴스들을 선택하는 것을 포함할 수 있다. 이것은 선호도 메트릭(예컨대, "하드(hard)" 선호도 메트릭)에 기초하여 활동 인스턴스들을 필터링하는 것 및/또는 선호도 메트릭에 기초하여 활동 인스턴스들을 스코어링하고 스코어링에 기초하여 활동 인스턴스들을 선택하는 것을 포함할 수 있다. 예를 들어, "저녁 식사" 활동 인스턴스의 초기 그룹은 그룹의 사용자(들)의 위치, 시간적 제약 및/또는 "하드" 선호도 메트릭을 기반으로 필터링함으로써 선택될 수 있다. 예를 들어, 그룹의 모든 사용자들로부터 10 마일 이내에 있는 위치만이 선택되도록, 특정 시간 기간 동안 영업하거나 및/또는 이용가능한 장소들만이 선택되도록(예컨대, 특정 날짜 및/또는 시간이 지정된 경우), 및/또는 글루텐이 없는 옵션을 제공하는 장소들만이 선택되도록(사용자의 "하드" 선호도 메트릭에 기초), 필터링에 기초하여 "저녁 식사" 활동 인스턴스의 초기 그룹이 선택될 수 있다.
본 일례에서 계속하여, 그룹의 사용자들의 선호도 메트릭에 기반하여 활동 인스턴스들의 초기 그룹을 스코어링함에 기초하여, "저녁 식사" 활동 인스턴스들의 세분된 그룹이 초기 그룹으로부터 선택될 수 있다. 예를 들어, 각 사용자의 선호도 메트릭을 기반으로 각 활동 인스턴스에 대한 점수가 생성될 수 있으며, 각 활동 인스턴스에 대한 점수(여기서, 각각의 점수는 각 사용자에게 특유함)를 조합하여(예컨대, 평균화) 각 활동 인스턴스에 대한 전체 점수를 생성할 수 있다. 또한, 예를 들어 모든 사용자들을 대표하는 조합된 선호도 메트릭에 기초하여 각 활동 인스턴스에 대한 점수를 생성할 수 있으며, 각 활동 인스턴스에 대한 상기 점수는 각 활동 인스턴스에 대한 전체 점수로서 활용될 수 있다. 이후, 활동 인스턴스들에 대한 전체 점수들은, "저녁 식사" 활동 유형에 대한 활동 인스턴스들을 선택하는데 활용될 수 있다.
활동 유형들 각각에 대한 활동 인스턴스(들)가 선택되면, 활동 인스턴스들의 복수의 세트들이 생성된다. 각각의 세트는 결정된 각 활동 유형에 대한 하나의 활동 인스턴스를 포함한다. 다양한 구현예에서, 활동 인스턴스들의 세트들은 활동 인스턴스들의 정렬된 세트들(즉, 시간적으로 정렬됨)일 수 있다. 하나의 일례로서, "영화", "저녁 식사" , "박물관" 이라는 활동 유형들이 통신 세션으로부터 결정되고, 각 활동 유형에 대해 다수의 활동 인스턴스들이 결정된다라고 가정하자. 활동 인스턴스들의 각각의 세트는 각 활동 유형의 하나의 인스턴스를 포함할 수 있다. 예를 들어, 제 1 세트는 "영화 인스턴스 1", "저녁 식사 인스턴스 1" 및 "박물관 인스턴스 1"를 포함할 수 있다. 제 2 세트는 "박물관 인스턴스 1", "저녁 식사 인스턴스 1" 및 "영화 인스턴스 1"을 포함할 수 있다. 제 3 세트는 "영화 인스턴스 2", "저녁 식사 인스턴스 2" 및 "박물관 인스턴스 2"를 포함할 수 있다. 제 4 세트는 "영화 인스턴스 1", "저녁 식사 인스턴스 2" 및 "박물관 인스턴스 1"을 포함할 수 있다(기타 등등). 다양한 구현예에서, 세트 내의 활동 인스턴스들의 시간적 특성들이 겹치지 않는다는 결정에 기초하여(예컨대, "영화" 인스턴스의 상영 시간이 "저녁 식사" 인스턴스의 시작 시간과 겹치지 않음), 및/또는 세트 내의 활동 인스턴스들에 대한 위치 특성들의 근접성을 고려하여(예컨대, 활동 인스턴스들이 서로 10 마일(또는 기타 거리 임계값) 이내 및/또는 서로 20 분(또는 기타 이동 임계값) 이동 시간 이내인지를 보장함), 활동 인스턴스들의 세트가 생성될 수 있다.
이후, 활동 인스턴스들의 세트는 스코어링될 수 있으며, 점수들에 기초하여, 활동 인스턴스들의 세트들의 서브세트가 최종 활동 세트(들)로서 선택된다. 다양한 구현예에서, 활동 인스턴스들의 각각의 세트는 트레이닝된 머신 러닝 모델을 이용하여, 활동 인스턴스들의 세트의 프로세싱 피처들에 기초하여 스코어링된다. 예를 들어, 각 세트의 피처들은 머신 러닝 모델을 사용하여 프로세싱되어, 각 세트에 대한 각각의 실행가능성 점수가 생성될 수 있다. 각각의 실행가능성 점수는 활동 인스턴스들의 각각의 세트가 그룹에 의해 수행될 가능성 및/또는 그룹에 의해 만족스러운 것으로 간주될 가능성을 나타낸다. 실행 가능성 점수에 따라 하나 이상의 세트가 최종 활동 세트로 선택된다.
활동 인스턴스들의 세트의 다양한 피처들은 머신 러닝 모델을 사용하여 프로세싱될 수 있다. 프로세싱될 수 있는 활동 인스턴스의 피처들에 대한 비제한적인 일례는, 활동 인스턴스에 대한 활동 유형을 정의하는 피처; 활동 인스턴스에 대한 점수(들)를 정의하는 피처(예컨대, 그룹의 모든 사용자의 선호도 메트릭에 기초한 전술한 점수); 활동 인스턴스에 대한 지리적 위치의 피처를 정의하는 위치 피처(예컨대, 세트의 다른 활동 인스턴스(들)에 대한 거리 및/또는 이동 시간, 그룹 사용자들의 집 또는 다른 위치(들)에 대한 거리 및/또는 이동 시간); 활동 인스턴스에 대한 하나 이상의 시간들을 정의하는 시간 피처(예컨대, 절대 시간, 세트의 후속 활동 인스턴스의 시작에 대한 시간차, 세트의 이전 활동 인스턴스의 종료에 대한 시간차); 리뷰들, 인기도를 정의하는 글로벌 품질 피처(들) 및/또는 복수의 사용자(그룹의 사용자들 이외의 사용자들을 포함) 사이의 활동 인스턴스에 대한 다른 글로벌 품질 메트릭; 활동에 참여하는 하나 이상의 사용자에 대한 엄격한 제약들/필수 조건들을 정의하는 피처(예컨대, 글루텐이 없는 옵션을 제공하는 레스토랑, 휠체어가 진입할 수 있는 장소들), 기타 등등을 포함할 수 있다.
다양한 구현예들에서, 활동 인스턴스들의 세트에 대한 실행가능성 스코어를 생성하는데 사용되는 머신 러닝 모델은 뉴럴 네트워크 모델이다. 이러한 구현의 일부 버전에서 뉴럴 네트워크 모델은 피드 포워드 뉴럴 네트워크 모델이며, 고려되는 세트의 모든 활동 인스턴스에 대한 피처들은 모델에 대한 동시 입력으로 처리된다(예컨대, 모델의 입력 차원은 세트의 모든 활동 인스턴스에 대한 피처들을 수용하도록 구성됨). 예를 들어, 모델의 입력 차원은 세트의 최대 N 개의 활동 인스턴스에 대한 피처들을 수용하도록 구성할 수 있다. 상기 모델을 사용하여 스코어링되는 소정 세트가 N 개 미만의 활동 인스턴스들을 갖는 경우, 고려되지 않은 활동 인스턴스의 피처들에 대해 패딩 값들이 사용될 수 있다. 이러한 구현의 일부 다른 버전에서, 뉴럴 네트워크 모델은 RNN(리커런트 뉴럴 네트워크: Recurrent Neural Network) 모델이며, 활동 인스턴스들에 대한 피처들은 활동 인스턴스별로 프로세싱된다. 예를 들어, 정렬된 세트의 제 1 활동 인스턴스의 피처들은 모델을 사용하여 프로세싱될 수 있으며, 그 다음으로 정렬된 세트의 제 2 활동 인스턴스들의 피처들이 후속된다. 상기 세트의 최종 활동 인스턴스의 처리에서 생성된 출력은 이후 실행가능성 점수로서 사용될 수 있다.
다양한 구현예에서, 실행가능성 점수를 생성하는데 사용되는 머신 러닝 모델은 감독된(supervised) 및/또는 반감독된(semi-supervised) 트레이닝 예제에 기초하여 트레이닝된다. 각각의 트레이닝 예제는 트레이닝 예제 입력으로서 활동 인스턴스들의 각 세트의 피처들을 포함할 수 있고, 활동 인스턴스들의 각각의 세트가 그룹에 의해 수행될 라벨링된 가능성 및/또는 그룹에 의해서 만족스러운 것으로 간주될 라벨링된 가능성을 나타내는 라벨링된 실행가능성 점수를 트레이닝 예시 출력으로서 포함할 수 있다. 일부 트레이닝 예제 출력에 대한 일부 라벨들은 해당 트레이닝 예제 입력에 대한 활동 인스턴스들의 세트를 검토하고 라벨을 할당하는 한 명 이상의 인간 검토자에 기초하여 생성될 수 있다. 일부 트레이닝 예제 출력에 대한 일부 라벨들은 해당 트레이닝 예제 입력에 대한 활동 인스턴스 세트에 대한 추천을 수락한 각 그룹의 사용자(들)의 실제 행동 및/또는 피드백을 기반으로 추가적으로 또는 대안적으로 생성될 수 있다. 예를 들어, 소정의 트레이닝 예제에 대한 소정의 트레이닝 예제 출력은, 소정의 트레이닝 예제의 트레이닝 예제 입력에 대응하는 활동 인스턴스들의 세트에 대한 추천을 수락한 사용자(들)가 실제로 상기 세트의 활동 인스턴스들에 참여했는지 여부에 기초할 수 있다. 예를 들어, 활동 인스턴스들에 참여한 사용자가 없는 경우, 가령, "0" 또는 "0.1"과 같은 상대적으로 "부정적인(negative)" 트레이닝 예제 출력 라벨이 할당될 수 있는 반면에, 하나 이상의 사용자(예컨대, 모든 사용자)가 활동 인스턴스에 참여한 경우 "1" 또는 "0.9"와 같은 상대적으로 "긍정적인" 트레이닝 예제 출력 라벨이 할당될 수 있다. 그러한 결정은 요청된 피드백에 대한 사용자(들)의 응답에 기초하여 및/또는 각 사용자의 클라이언트 디바이스로부터의 위치 신호 및/또는 기타 신호를 고려하여(각각의 사용자로부터 적절한 허가를 받아), 이루어질 수 있다. 다른 예로서, 소정의 트레이닝 일례에 대한 소정의 트레이닝 예제 출력은 예컨대, 소정의 트레이닝 예제의 트레이닝 예제 입력에 대응하는 활동 인스턴스들의 세트에 대한 추천을 수신한 사용자(들)에 의해 제공된 피드백에 기초할 수 있다(예컨대, 각각의 클라이언트 디바이스(들)를 통해 사용자(들)에게 렌더링된 프롬프트(또는 "촉구")에 응답하여). 예를 들어, "아니오", "어느 정도 즐김", "대부분 즐김" 및 "매우 좋아함"과 같은 선택가능한 옵션과 함께, 활동들의 완료 이후에 사용자들 중 한 명에게 "그룹이 활동들의 세트를 즐겼습니까?" 라는 프롬프트가 렌더링될 수 있다. 만일, "아니오"가 선택된다면, "0"과 같은 트레이닝 예제 출력 라벨이 할당될 수 있으며, "어느 정도 즐김"이 선택된다면 "0.3"과 같은 라벨이 할당될 수 있으며, "대부분 즐김"이 선택된다면, "0.6"과 같은 라벨이 할당될 수 있으며, "매우 좋아함"이 선택된다면, "1.0"과 같은 라벨이 할당될 수 있다.
전술한 바와 같이, 활동 인스턴스들 중 하나 이상의 최종 세트들이 각각의 실행가능성 스코어에 기초하여 선택된다. 최종 세트들은 고려되는 활동 인스턴스들의 세트들의 서브세트일 수 있다. 서브세트의 선택에 응답하여, 최종 세트(들)의 표현(들)이 사용자(들) 그룹의 사용자(들)에게 렌더링된다. 예를 들어, 표현(들)은 사용자들을 포함하는 진행중인 다중 사용자 통신 세션에서 렌더링될 수 있다. 예를 들어, 표현(들)은 하나 이상의 사용자들에게 선택가능한 요소로서 렌더링될 수 있으며, 만약 긍정적인 사용자 인터페이스 입력을 통해 하나 이상의 사용자에 의해 선택되면 다중 사용자 통신 세션의 트랜스크립트에 통합될 수 있다. 이러한 구현예들 중 일부에서, 렌더링된 표현들 중 하나에 대한 하나 이상의 긍정적인 사용자 인터페이스 입력을 수신하는 것에 응답하여, 그룹의 사용자(들)의 클라이언트 디바이스(들)는 인터페이스 요소(들)가 렌더링되게 할 수 있으며, 상기 인터페이스 요소는 선택되면, 렌더링된 표현들 중 하나의 세트의 활동 인스턴스들 중 하나 이상을 확인함에 있어서 클라이언트 디바이스 각각이 원격 컴퓨터 시스템과 상호작용하게한다. 예를 들어, 렌더링된 표현 중 하나에 대한 하나 이상의 긍정적인 사용자 인터페이스 입력을 수신하는 것에 응답하여, 그룹의 사용자(들)의 클라이언트 디바이스(들)는 인터페이스 요소(들)가 렌더링되게 할 수 있으며, 상기 인터페이스 요소는 선택되면, "영화" 활동 인스턴스에 대한 전자 영화 티켓을 획득함에 있어서 클라이언트 디바이스 각각이 원격 컴퓨터 시스템과 상호작용하게 한다. 클라이언트 디바이스 각각은 클라이언트 디바이스에 맞춤화된 방식으로 원격 컴퓨터 시스템과 상호작용할 수 있다. 예를 들어, 소정 클라이언트 디바이스는 전자 영화 티켓을 획득할 때 소정 클라이언트 디바이스의 사용자의 주소 정보, 지불 정보 및/또는 기타 정보를 사용할 수 있다.
상기 내용은 여기에 개시된 일부 구현예들의 개요로서 제공된다. 이러한 구현예들 및 기타 구현예들에 대한 자세한 설명은 아래에 제공된다.
일부 구현예에서, 하나 이상의 프로세서들에 의해 구현되는 방법이 제공되며, 상기 방법은 사용자들의 그룹의 하나 이상의 사용자들의 사용자 인터페이스 입력에 기초하여 활동 유형들의 컬렉션을 결정하는 단계를 포함한다. 활동 유형들의 컬렉션은 제 1 활동 유형 및 제 2 활동 유형을 적어도 포함한다. 상기 방법은 또한, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들(activity instances)을 선택하는 단계를 포함한다. 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는 각 사용자에 대한 선호도 메트릭에 기초하고, 그리고 활동 인스턴스들은 제 1 활동 유형에 대한 다수의 활동 인스턴스들 및 제 2 활동 유형에 대한 다수의 활동 인스턴스들을 포함한다. 상기 방법은 또한, 활동 인스턴스들의 복수의 세트들을 생성하는 단계를 포함하며, 활동 인스턴스들의 세트들 각각은, 각각의 활동 유형에 대한 활동 인스턴스들 중 대응하는 하나의 활동 인스턴스를 포함한다. 상기 방법은 또한, 활동 인스턴스들의 세트들 각각에 대하여: 트레이닝된 머신 러닝 모델을 사용하여, 활동 인스턴스들의 세트에 대한 각각의 실행가능성 점수를 생성하도록 활동 인스턴스들의 세트의 각각의 피처들을 프로세싱하는 단계를 포함한다. 상기 방법은 또한, 실행가능성 점수에 기초하여 활동 인스턴스들의 세트들의 서브세트를 선택하는 단계를 포함하고, 상기 서브세트는 활동 인스턴스들의 소정의 세트를 적어도 포함한다. 상기 방법은 또한, 선택에 응답하여, 적어도 하나의 사용자의 적어도 하나의 클라이언트 디바이스로 하여금, 상기 활동 인스턴스들의 소정의 세트에 대한 표현을 렌더링하게 하는 단계를 포함한다.
본 발명의 이들 및 다른 구현예들은 다음의 피처들 중 하나 이상을 선택적으로 포함할 수 있다.
일부 구현예에서, 사용자 인터페이스 입력은 사용자들의 그룹 사이에서 진행중인 통신 세션의 일부로서 제공된다. 일부 구현예에서, 상기 적어도 하나의 클라이언트 디바이스로 하여금 활동 인스턴스들의 소정의 세트에 대한 표현을 렌더링하게 하는 단계는, 상기 진행중인 통신 세션의 트랜스크립트에서 상기 표현을 렌더링함이 없이 수행된다. 일부 구현예에서, 상기 방법은 또한, 상기 표현이 렌더링됨에 응답하여 긍정적인 사용자 인터페이스 입력을 수신하는 단계; 및 상기 표현이 렌더링됨에 응답하여 긍정적인 사용자 인터페이스 입력을 수신함에 응답하여: 상기 활동 인스턴스들의 소정 세트의 표현 또는 추가적인 표현을 상기 진행중인 통신 세션의 트랜스크립트에 통합하는 단계를 포함한다.
일부 구현예에서, 트레이닝된 머신 러닝 모델을 사용하여 프로세싱되는 적어도 하나의 활동 유형의 활동 인스턴스에 대한 각각의 피처들은, 활동 인스턴스에 대한 지리적 위치를 정의하는 위치 피처, 및 활동 인스턴스에 대한 하나 이상의 시간들을 정의하는 시간 피처를 포함한다. 일부 구현예에서, 상기 방법은 또한, 적어도 하나의 사용자에 대한 위치 메트릭을 식별하는 단계; 및 트레이닝된 머신 러닝 모델을 사용하여, 실행가능성 점수를 생성함에 있어서 활동 인스턴스들의 세트들 각각의 피처들과 함께 상기 위치 메트릭을 프로세싱하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 또한, 활동 인스턴스들의 소정의 세트에 대한 감독된 실행가능성 점수를 결정하는 단계, 및 상기 소정의 세트에 대한 각각의 피처들에 순응하는 트레이닝 예제 입력 및 감독된 실행가능성 점수에 순응하는 트레이닝 예제 출력을 포함하는 트레이닝 예제를 이용하여, 머신 러닝 모델을 추가로 트레이닝하는 단계를 포함한다. 일부 구현예에서, 상기 감독된 실행가능성 점수는, 사용자들 중 적어도 하나가 활동 인스턴스들의 소정의 세트를 수행했는지 여부, 및 활동 인스턴스들의 소정의 세트에 관한 피드백을 요청하는 프롬프트의 렌더링에 응답하여 사용자 중 적어도 하나에 의해 제공되는 피드백 중 하나 또는 둘다에 기초하여 결정된다.
일부 구현예에서, 하나 이상의 프로세서들에 의해 구현되는 방법이 제공되며, 상기 방법은, 진행중인 다중 사용자 통신 세션의 하나 이상의 메시지가 활동 유형들(activity types)의 컬렉션(collection)을 참조하는지를 결정하는 단계를 포함한다. 상기 결정하는 단게는 진행중인 다중 사용자 통신 세션의 하나 이상의 메시지들의 콘텐츠에 대한 프로세싱에 기초하고, 복수의 사용자들이 각각의 클라이언트 디바이스를 통해 상기 다중 사용자 통신 세션에 참여하고 있으며, 활동 유형들의 컬렉션은 제 1 활동 유형 및 제 2 활동 유형을 적어도 포함한다. 상기 방법은 또한, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들(activity instances)을 선택하는 단계를 포함한다. 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는 각 사용자에 대한 선호도 메트릭에 기초하고, 그리고 활동 인스턴스들은 제 1 활동 유형에 대한 다수의 활동 인스턴스들 및 제 2 활동 유형에 대한 다수의 활동 인스턴스들을 포함한다. 상기 방법은 또한, 활동 인스턴스들의 복수의 정렬된 세트들을 생성하는 단계를 포함하고, 활동 인스턴스들의 정렬된 세트들 각각은, 각각의 활동 유형에 대한 활동 인스턴스들 중 대응하는 하나의 활동 인스턴스를 포함한다. 상기 방법은 또한, 활동 인스턴스들의 정렬된 세트들 각각에 대하여: 트레이닝된 머신 러닝 모델을 사용하여, 활동 인스턴스들의 정렬된 세트에 대한 각각의 실행가능성 점수를 생성하도록 활동 인스턴스들의 정렬된 세트의 각각의 피처들을 프로세싱하는 단계를 포함한다. 상기 방법은 또한, 실행가능성 점수에 기초하여 활동 인스턴스들의 정렬된 세트들의 서브세트를 선택하는 단계를 포함하고, 상기 서브세트는 활동 인스턴스들의 소정의 정렬된 세트를 적어도 포함한다. 상기 방법은 또한, 선택에 응답하여, 활동 인스턴스들의 소정의 정렬된 세트에 대한 표현이 다중 사용자 통신 세션의 일부로서 클라이언트 디바이스에서 렌더링되게 하는 단계를 포함한다. 상기 방법은 또한, 렌더링되는 표현에 응답하여 적어도 하나의 긍정적인 사용자 인터페이스 입력을 수신함에 응답하여: 각각의 클라이언트 디바이스들로 하여금 각각의 인터페이스 요소를 렌더링하게하는 단계를 포함하며, 상기 각각의 인터페이스 요소는 선택될 때, 활동 인스턴스들의 소정의 정렬된 세트에 있는 적어도 하나의 활동 인스턴스를 확인(confirm)하도록 각각의 클라이언트 디바이스들이 적어도 하나의 원격 컴퓨터 시스템과 상호작용하게 한다. 각각의 클라이언트 디바이스는 클라이언트 디바이스들의 각각의 사용자에 대한 적어도 하나의 활동 인스턴스를 확인하도록 상기 각각의 클라이언트 디바이스에 맞춤화된 방식으로 원격 컴퓨터 시스템과 상호작용한다.
본 발명의 이들 및 다른 구현예들은 다음의 피처들 중 하나 이상을 선택적으로 포함할 수 있다.
일부 구현예에서, 트레이닝된 머신 러닝 모델을 사용하여 프로세싱되는 적어도 하나의 활동 유형의 활동 인스턴스에 대한 각각의 피처들은, 활동 인스턴스에 대한 지리적 위치를 정의하는 위치 피처, 및/또는 활동 인스턴스에 대한 하나 이상의 시간들을 정의하는 시간 피처를 포함한다.
일부 구현예에서, 상기 방법은 또한, 적어도 하나의 사용자에 대한 위치 메트릭(location metric)을 식별하는 단계; 및 트레이닝된 머신 러닝 모델을 사용하여, 실행가능성 점수를 생성함에 있어서 활동 인스턴스들의 정렬된 세트들 각각의 피처들과 함께 상기 위치 메트릭을 프로세싱하는 단계를 포함한다. 일부 구현예에서, 각각의 활동 인스턴스는 각각의 활동 및 상기 각각의 활동에 대한 시간 정보를 정의하고, 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는, 사용자들 중 하나에 대한 시간적 제약을 식별하는 단계; 및 충돌하는 활동 인스턴스의 각각의 시간 정보와 매칭되는 시간적 제약에 기초하여, 선택된 활동 인스턴스들 중에서 충돌하는 활동 인스턴스를 제외하는 단계를 포함한다.
일부 구현예에서, 상기 클라이언트 디바이스 중 하나에 의해 렌더링되도록 야기되는 각각의 인터페이스 요소는, 선택될 때, 상기 클라이언트 디바이스들 중 하나로 하여금, 활동 인스턴스들 중 적어도 하나에 대한 파라미터들과 함께 상기 클라이언트 디바이스들 중 하나에 설치된 어플리케이션을 시작하게 한다. 상기 어플리케이션은 시작될 때 활동 인스턴스들의 소정의 정렬된 세트에 있는 적어도 하나의 활동 인스턴스를 확인함에 있어서, 상기 파라미터들을 이용하여 적어도 하나의 원격 컴퓨터 시스템과 인터페이스한다.
일부 구현예에서, 상기 방법은 또한, 활동 인스턴스들의 소정의 정렬된 세트에 대한 감독된 실행가능성 점수(supervised feasibility score)를 결정하는 단계, 및 상기 소정의 정렬된 세트에 대한 각각의 피처들에 순응하는(conform) 트레이닝 예제 입력 및 감독된 실행가능성 점수에 순응하는 트레이닝 예제 출력을 포함하는 트레이닝 예제를 이용하여, 머신 러닝 모델을 추가로 트레이닝하는 단계를 포함한다. 일부 구현예에서, 상기 감독된 실행가능성 점수는, (1) 사용자들 중 적어도 하나가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지 여부, 및 (2) 활동 인스턴스들의 소정의 정렬된 세트에 관한 피드백을 요청하는 프롬프트의 렌더링에 응답하여 사용자 중 적어도 하나에 의해 제공되는 피드백 중 하나 또는 둘다에 기초하여 결정된다. 일부 구현예에서, 감독된 실행가능성 점수를 결정하는 단계는, 적어도 하나의 사용자가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지 여부에 기초하며, 상기 방법은 또한, 상기 적어도 하나의 사용자에 대한 위치 정보에 기반하여 상기 적어도 하나의 사용자가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지의 여부를 결정하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 또한, 지정된 활동의 표시를 통신 스레드에서 식별하는 단계; 및 상기 지정된 활동에 대한 추가적인 활동 유형을 결정하는 단계를 포함하고, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는, 상기 추가적인 활동 유형에 대한 하나 이상의 활동 인스턴스들을 선택하는 단계를 포함한다. 일부 구현예에서, 상기 활동 인스턴스들은 상기 지정된 활동을 포함한다.
일부 구현예에서, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는, 컬렉션의 활동 유형들 중 제 1 활동 유형에 기초하여 복수의 제 1 후보 활동 인스턴스들을 생성하는 단계; 제 2 머신 러닝 모델을 사용하여, 각각의 후보 활동 인스턴스들에 대한 각각의 승인 점수를 생성하도록, 후보 활동 인스턴스들 각각의 피처들 및 사용자들의 선호도 메트릭 중 하나 이상을 프로세싱하는 단계, 각각의 후보 활동 인스턴스의 각각의 승인 점수는 사용자들의 선호도 메트릭에 기초한, 후보 활동 인스턴스에 대한 복수의 사용자들의 전체 승인(overall approval)을 나타내며; 그리고 각각의 승인 점수에 기초하여 하나 이상의 후보 활동 인스턴스들을 선택하는 단계를 포함한다.
또한, 일부 구현예들은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서들(예컨대, 중앙 처리 유닛:CPU), 그래픽 처리 유닛(GPU) 및/또는 텐서 프로세싱 유닛(TPU)을 포함하며, 여기서 하나 이상의 프로세서는 연관된 메모리에 저장된 명령들을 실행하도록 동작할 수 있으며, 상기 명령들은 전술한 방법들 중 임의의 것을 수행하도록 구성된다. 일부 구현예들은 또한 컴퓨터 명령들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장매체를 포함하며, 상기 컴퓨터 명령들은 전술한 방법들 중 임의의 것을 수행하도록 하나 이상의 프로세서들에 의해서 실행가능하다.
다음을 유의해야 하는바, 본 명세서에서 더 상세히 설명되는 전술한 개념들 및 추가적인 개념들의 모든 조합은 본 발명의 주제의 일부로서 고려된다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합은 여기에 개시된 주제의 일부인 것으로 고려된다.
도 1은 본 명세서에 개시된 실시예들이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2는 활동 인스턴스들의 세트를 생성하는 예를 예시한다.
도 3은 본 명세서에 설명된 구현예에 따라 사용자의 클라이언트 디바이스에 제공될 수 있는 진행중인 다중 사용자 통신 세션의 예시적인 그래픽 사용자 인터페이스를 도시한다.
도 4는 본 명세서에 설명된 구현예에 따라 사용자의 클라이언트 디바이스에 제공될 수 있는 진행중인 메시징 스트림 및 활동 인스턴스 제안 세트의 다른 예시적인 그래픽 사용자 인터페이스를 도시한다.
도 5는 본 명세서에 설명된 구현예에 따라 활동 인스턴스의 세트를 결정하기위한 예시적인 방법의 흐름도를 도시한다.
도 6은 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
도 1을 참조하면, 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적인 환경의 블록도가 예시된다. 예시적인 환경은 복수의 클라이언트 디바이스(105) 및 그룹 활동 엔진(110)을 포함한다. 클라이언트 디바이스(105)는 예를 들어 독립형 음성 활성화 스피커 디바이스, 데스크탑 컴퓨팅 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일 폰 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 디바이스(예컨대, 컴퓨팅 디바이스가 구비된 사용자의 시계, 컴퓨팅 디바이스가 구비된 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)를 포함할 수 있다. 추가 및/또는 대안적인 클라이언트 디바이스가 제공될 수도 있다.
클라이언트 디바이스들(105) 및 그룹 활동 엔진(110)는 인터넷, 근거리 네트워크, 광역 네트워크, 및/또는 하나 이상의 다른 통신 네트워크와 같은 하나 이상의 네트워크를 통해 통신할 수 있다. 일부 구현예에서, 클라이언트 디바이스(105) 및/또는 그룹 활동 엔진(110)은 하나 이상의 추가 컴포넌트를 통해 통신할 수 있다. 예를 들어, 클라이언트 디바이스(105) 중 하나는 제 1 및 제 2 클라이언트 디바이스(105)의 하나 이상의 컴포넌트 간의 통신을 용이하게하는 원격 서버를 통해 제 2 클라이언트 디바이스(105)와 통신할 수 있다.
상기 클라이언트 디바이스들(105) 각각은 대응하는 메시징 어플리케이션(106)을 포함할 수 있다. 메시징 어플리케이션(106)은 사용자가 진행중인 다중 사용자 통신 세션에 참여할 수 있게 한다. 통신 세션은 예를 들어, 다중 사용자 문자 메시지(예컨대, SMS) 통신 세션, 다중 사용자 채팅 통신 세션, 다중 사용자 이메일 교환 통신 세션 및/또는 여러 사용자가 실시간 또는 거의 실시간으로 세션의 다른 구성원이 수신할 수 있는 텍스트 및/또는 기타 입력을 제공하는 하나 이상의 대안적인 통신 세션일 수 있다. 예를 들어, 도 5를 참조하면, 진행중인(ongoing) 다중 사용자 통신 세션의 예시적인 그래픽 사용자 인터페이스(GUI)가 도시되어 있다. 대화 상자(305)는 "앨리스(Alice)", "밥(Bob)" 및 "크리스(Chris)"로 명명된 3명의 사용자들로부터의 메시지들을 포함한다. "앨리스"가 메시징 어플리케이션(106)을 통해 제 1 메시지를 제출함에 따라, 사용자 "밥" 및 "크리스"는 다른 사용자들 각각의 클라이언트 디바이스(105)에서 실행되는 메시징 어플리케이션(106)을 통해 상기 메시지를 수신한다. 그 후, 하나 이상의 다른 사용자들(즉, 사용자 "밥" 및 "크리스")은 제 1 메시지에 응답할 수 있으며, 이러한 응답은 메시징 어플리케이션(106)을 통해 각각의 사용자에게 제공된다. 따라서, 진행중인 다중 사용자 통신 세션을 통해 그룹의 사용자들은 그룹 내에서 통신할 수 있다.
도 1을 참조하면, 일부 구현예에서, 그룹 활동(group activity)(110)은 메시징 어플리케이션(106)의 컴포넌트이거나 그렇지 않으면 메시징 어플리케이션(106)과 인터페이스할 수 있다. 예를 들어, 사용자가 메시징 어플리케이션(106)을 통해 통신 세션에 참여함에 따라, 상기 세션의 메시지들은 그룹 활동 엔진(110)의 하나 이상의 컴포넌트들에게 제공될 수 있다. 일부 구현예에서, 그룹 활동 엔진(110)은 원격 서버에서 실행될 수 있고 메시징 어플리케이션(106)은 통신 네트워크를 통해 그룹 활동 엔진(110)의 하나 이상의 컴포넌트에 통신 세션의 메시지를 제공할 수 있다.
메시지 파서(115)는 통신 세션의 메시지들을 파싱하여, 활동 유형(들)에 대한 참조(들)을 식별하며 그리고 하나 이상의 메시지들에 포함되고 활동 유형들과 관련된 시간 정보(temporal information)를 옵션적으로 식별한다. 활동 유형은 사용자들이 참여에 관심을 가질 수 있는 활동들의 일반적인 카테고리에 대한 참조이다. 시간적 참조는, 하나 이상의 활동 유형들에 대한 시간적 제약을 식별하는 예를 들어, 요일(예를 들어, 월요일, 화요일 등), 특정 날짜(예를 들어, 9/1/18), 시간 윈도우(예를 들면, 18:00-20:00), 특정 시간(예를 들면, 18:30), 다른 이벤트(예컨대, 체육관 이후, 퇴근 후)와 관련된 상대적인 시간, 기타 등등을 포함할 수 있다. 예를 들어, 다시 도 5를 참조하면, 사용자 "앨리스"가 "금요일에 영화 보러 가자"라는 메시지를 제출한다. 메시지는 "영화"에 대한 참조를 포함하며, 이는 활동 유형을 설명한다. 또한, 메시지는 "금요일"에 대한 참조를 포함하며, 이는 사용자가 활동을 수행하는데 관심이 있는 시간을 나타낸다. 메시지(예를 들어, "영화 보러 가자")의 내용을 바탕으로, 메시지 파서(115)는 사용자들 중 적어도 하나의 사용자는 통신 세션의 다른 사용자와 함께 영화(영화 활동 유형)를 보러가는 것에 관심이 있다라고 결정할 수 있다. 또한, 메시지 파서(115)는 메시지의 컨텍스트에 기초하여 영화 활동 유형에 대한 "이번 금요일" 이라는 시간적 제약을 결정할 수 있다(예를 들어, "금요일(on Friday)"을 "이번 금요일(this Friday)"로 결정함으로써). 또한, 예를 들어, 사용자 "크리스"는 저녁 식사에 대한 관심을 나타내는 메시지를 제공하며, 이는 "앨리스" 에 의해 확인되었다. 참조 및 참조의 컨텍스트에 기초하여, 메시지 파서(115)는 "저녁 식사"를 복수의 사용자들이 수행하는데 관심이 있는 활동 유형으로 식별할 수 있다. 또한, 메시지 파서(115)는 저녁 식사 활동 유형에 대한 "이번 금요일" 이라는 시간적 제약을 결정할 수도 있다.
또한, 메시지 파서(115)는 자연어 프로세서를 포함할 수 있으며, 자연어 프로세서는 자유 형태의 자연어 입력을 프로세싱하고 그리고 자연어 입력에 기초하여 주석달린 출력을 생성할 수 있다. 예를 들어, 자연어 프로세서는 대화 스레드에서 한 명 이상의 사용자가 제공하는 자연어 자유 형식 입력을 프로세싱할 수 있다. 생성된 주석이 달린 출력은 자연어 입력의 하나 이상의 주석들 및 선택적으로 자연어 입력의 용어들 중 하나 이상(예를 들어, 모두)을 포함할 수 있다.
일부 구현예에서, 자연 언어 프로세서는 자연어 입력에 있는 다양한 유형의 문법 정보를 식별 및 주석을 달도록 구성될 수 있다. 예를 들어, 메시지 파서(115)의 자연어 프로세서는 용어의 문법적 역할에 주석을 달도록 구성된 스피치 태거(미도시)의 일부를 포함할 수 있다. 또한, 예를 들어, 일부 구현예에서 자연어 프로세서는 자연어 입력에서 용어들 간의 구문 관계를 결정하도록 구성된 종속성 파서(미도시)를 추가로 및/또는 대안적으로 포함할 수 있다.
일부 구현예에서, 메시지 파서(115)는 추가적으로 및/또는 대안적으로 엔티티 태거(미도시)를 포함할 수 있는바, 엔티티 태거는 사람들(예컨대, 문학적 인물, 유명인, 공인 등을 포함), 조직들, 위치들(실제 및 가상), 활동들 및/또는 활동 유형들, 기타 등등에 대한 참조들과 같이, 하나 이상의 세그먼트들에서 엔티티 참조에 주석을 달도록 구성된다. 엔티티 태거는 높은 레벨의 세분성(granularity)(예를 들어, 활동 유형과 같은 엔티티 클래스에 대한 모든 참조들을 식별할 수 있도록) 및/또는 낮은 레벨의 세분성(예를 들어, 특정 식당과 같은 특정 엔티티에 대한 모든 참조들을 식별할 수 있도록)으로, 엔티티에 대한 참조들에 주석을 달 수 있다. 엔티티 태거는 특정 엔티티를 해결하기 위해 자연어 입력의 콘텐츠에 의존할 수 있고 및/또는 특정 엔티티를 해결하기 위해 지식 그래프 또는 다른 엔티티 데이터베이스와 선택적으로 통신할 수 있다.
일부 구현예에서, 메시지 파서(115)는 추가적으로 및/또는 대안적으로 공동참조 리졸버(coreference resolver)(미도시)를 포함할 수 있으며, 공동참조 리졸버는 하나 이상의 문맥적 단서(contextual cue)에 기초하여 동일한 엔티티에 대한 참조들을 그룹화 또는 "클러스터화" 하도록 구성된다. 예를 들어, 공동참조 리졸버는, "나는 우리가 저번에 거기에서 식사했던 가상 카페를 좋아한다(I liked Hypothetical Cafe last time we ate there)" 라는 자연어 입력에서 "거기(there)" 라는 용어를 "가상 카페"로 해석하는데 활용될 수 있다. 도 2를 참조하면, 통신 세션(205)으로부터 활동 인스턴스들의 정렬된 세트를 생성하는 것이 예시된다. 통신 세션(205)은 도 3의 대화 상자(305)에 예시된 메시지들과 하나 이상의 특성들을 공유할 수 있다. 통신 세션은 메시지 파서(115)에 제공된다. 일부 구현예에서, 일단 필요한 수의 메시지들이 통신 세션에 제출된 경우와 같이 통신 세션(205)은 메시지 파서(115)에 주기적으로 제공될 수 있다. 예를 들어, 사용자는 메시지를 통신 세션에 제출할 수 있고 그리고 3 개의 메시지들이 세션에 제출되면 메시지들이 메시지 파서(115)에 제공될 수 있다. 또한, 예를 들어, 메시지가 통신 세션에 제출될 때에 메시지가 메시지 파서(115)에 제공될 수도 있다.
메시지 파서(115)는 통신 세션(305)의 메시지들에 기초하여 활동 유형들을 결정한다. 도 3을 다시 참조하면, 도 3의 통신 대화(305)에서 같이, "저녁식사(Dinner)"(210) 및 "영화(Movie)"(215) 라는 메시지 유형들이 메시지 통신으로부터 식별된다. 식별된 활동 유형은 그룹 활동 엔진(110)의 활동 선택 엔진(120)에 제공된다. 활동 선택 엔진(120)은 제공된 활동 유형들 각각에 대해, 각각의 활동 유형에 대한 하나 이상의 활동 인스턴스들을 선택한다. 예를 들어, 다시 도 3을 참조하면, 활동 선택 엔진(120)은 저녁식사(dinner) 활동 유형(210)에 기초하여 저녁식사 활동 인스턴스들(220)의 세트를 선택하고, 영화 활동 유형(215)에 기초하여 영화 활동 인스턴스들(225)의 세트를 선택한다. 일부 구현예에서, 활동 인스턴스들은 본 명세서에 설명된 바와 같이 시간 정보에 기초하여 선택될 수 있거나(예를 들어, 시간적 제약으로서 메시지(들)에 표시된 날짜 및/또는 시간 윈도우 상에서 상영되는 영화들에 기초하여 영화 활동 인스턴스들(225)을 선택함) 및/또는 사용자들의 하나 이상의 선호도 메트릭에 기초하여 선택될 수 있다. 예를 들어, 사용자 선호도는 사용자 선호도의 하나 이상의 데이터베이스로부터 식별될 수 있고 선호도는 각 활동 유형에 대한 후보 활동 선호도를 식별하기 위해 활용될 수 있다. 다시 도 2를 참조하면, 통신 세션(205)의 사용자 그룹에 대해 저녁식사 활동 인스턴스들이 선택된다. 예시된 바와 같이, "조의 스테이크하우스(Joe's Steakhouse)", "엘 부리토(El Burrito)" 및 "텍사스 BBQ(Texas BBQP)" 라는 저녁식사 활동 인스턴스들이 활동 선택 엔진(120)에 의해 선택된다. 활동 인스턴스들은 예를 들어, 활동 인스턴스들 각각의 음식 유형 및 각 활동 유형의 요리 유형에 대한 하나 이상의 사용자 선호도에 기초하여 선택될 수 있다. 예를 들어, 통신 세션 사용자들의 사용자 선호도들은, 사용자들이 스테이크 하우스(예컨대, Joe's Steakhouse)에서의 식사, 멕시코 레스토랑(예컨대, El Burrito)에서의 식사 및/또는 바베큐 식당(예컨대, Texas BBQ)에서의 식사에 관심이 있음을 나타낼 수 있다. 사용자 선호도들은 예를 들어, 하나 이상의 사용자들에 의한 상기 장소의 과거의 방문들, 하나 이상의 사용자들에 의해 제출된 검색들, 및/또는 사용자 선호사항들에 대한 하나 이상의 다른 표시들에 기초하여 식별될 수 있다.
하나의 일례로서, 그룹 내의 각 사용자는 그 사용자에 대해 고유한 선호도 메트릭의 세트와 연관될 수 있다. 각각의 선호도 메트릭은 활동 인스턴스들의 하나 이상의 피처들에 대한 사용자의 관심을 나타낼 수 있다. 예를 들어, "저녁식사" 라는 활동 유형의 경우, 요리 유형(예를 들어, 이탈리아, 멕시코, 스테이크 하우스)과 각각 연관된 다양한 활동 인스턴스들이 식별될 수 있다. 일부 구현예에서, 하나 이상의 사용자의 선호도 메트릭은 특정 요리에 대한 관심 수준을 나타내는 메트릭을 포함할 수 있다. 예를 들어, 사용자는 다수의 요리 유형들의 순위 및/또는 다수의 요리들 각각에 대한 등급을 나타내는 선호도 메트릭과 연관될 수 있다. 일부 구현예에서, 사용자는 "좋아하는" 요리들의 서브세트 및 "싫어하는" 요리들의 서브세트 세트와 연관될 수 있다. 예를 들어, 사용자는 좋아하는 요리에 대해 "이탈리아 음식" 및 "해산물"을 포함하는 요리들의 서브세트와 관련될 수 있으며 그리고 싫하는 요리에 대해 "바비큐"를 포함하는 요리들의 서브세트와 관련될 수 있다.
일부 구현예에서, 메시지 파서(115)는 하나 이상의 사용자들로부터 메시지를 식별할 수 있는데, 여기서 상기 메시지는 하나 이상의 활동들을 수행하는 것에 관심을 나타내지만, 특정 활동을 지정하지는 않는다. 예를 들어, 메시지 파서(115)는 수행할 특정 활동을 표시함이 없이, "금요일에 무엇인가를 하자"를 포함하는 사용자 메시지를 식별할 수 있다. 이러한 메시지에 기초하여, 메시지 파서(115)는 그룹이 하나 이상의 활동을 수행하는데 관심이 있음을 결정할 수 있고(예를 들어, "무엇인가를 하자"에 기초하여), 선택적으로는 하나 이상의 활동에 대한 날짜를 결정할 수 있다(예를 들어, " 금요일"에 기초하여). 또한, 메시지 파서(115)는 그룹이 수행하는데 관심을 가질 수 있는 활동에 관한 추가 정보를 요청하기 위해 프롬프트가 하나 이상의 사용자(예를 들어, "금요일에 뭔가를하자"를 표시한 사용자)에게 렌더링되도록할 수 있다. 예를 들어, 메시지 파서(115)는 하나 이상의 활동 유형들, 하나 이상의 활동들을 사용자가 선택하게 하거나 및/또는 그렇지 않으면 사용자가 관심있는 하나 이상의 활동들에 관한 추가 세부 사항을 제공하게 하는 인터페이스를 제공할 수 있다. 일부 구현예에서, 추가적으로 또는 대안적으로, 메시지 파서(115)는 그룹의 사용자(들)의 선호도 메트릭(들)에 기초하여 선택되는 활동들에 대한 추천과 같은, 하나 이상의 활동들에 대한 추천을 선제적으로 제공할 수 있다. 예를 들어, 메시지 파서(115)는 그룹의 사용자(들)과 지리적으로 근접하고 그룹의 사용자(들)의 하나 이상의 선호도 메트릭(들)과 매칭되는 인기 이벤트(들)에 대한 추천(들)을 제공할 수 있다. 예를 들어, 이전에 언급된 인터페이스의 일부로서 렌더링될 선택가능한 추천들로서, 상기 추천들이 제공될 수 있다. 예를 들어, "금요일에 무엇인가를 하자"에 응답하여, 메시지 파서(115)는 하나 이상의 선택가능한 추천들을 구비한 인터페이스를 제공할 수 있으며, 이는 선택될 때 고정된 활동 인스턴스(들)로서 추천(들)을 추가한다. 선택적으로는, 이러한 인터페이스는 다른 활동 인스턴스들 및/또는 활동 유형(들)에 대한 추가적인 세부사항들을 사용자가 제공할 수 있게하는 요소들을 포함할 수 있다.
다시, 도 2를 참조하면, 영화들에 대한 복수의 영화 활동 인스턴스들(225)이 사용자 그룹에 대해 선택된다. 활동 인스턴스(225)의 영화 활동 인스턴스는 예를 들어, 사용자가 이전에 관람한 영화들을 식별하는 것, 클라이언트 디바이스(105)에서 실행되는 하나 이상의 어플리케이션에서 사용자가 구매한 티켓을 식별하는 것, 영화관 위치에서 영화 상영 시간 동안 사용자 영화관 위치에 있음을 식별하는 것, 및/또는 특정 영화 장르에서의 사용자 존재의 하나 이상의 다른 표시들에 기초하여 식별될 수 있다.
일부 구현예에서, 활동 선택 엔진(120)는 각각의 활동 유형에 대해 복수의 후보 활동 인스턴스들을 생성할 수 있으며 그리고 후보 활동 인스턴스들 각각을 머신 러닝 모델에 제공하여 활동 인스턴스들 각각에 대한 승인 점수(또는, 스코어)를 결정할 수 있다. 예를 들어, 머신 러닝 모델은 그룹의 각 사용자의 선호도 메트릭뿐만 아니라 생성된 복수의 활동 인스턴스들을 입력으로 수신할 수 있으며, 이들 각각은 하나 이상의 피처들(예컨대, 위치, 장르, 요리, 주제)과 관련된다. 활동 선택 엔진(120)은 머신 러닝 모델을 사용하여 후보 활동 인스턴스들 각각을 프로세싱하여 선호도 메트릭에 기초하여 승인 점수를 결정하며, 승인 점수는 소정의 활동 인스턴스에 대한 그룹의 사용자들의 전체적인(overall) 승인을 나타낸다. 승인 점수에 기초하여, 활동 선택 엔진(120)은 하나 이상의 후보 활동 인스턴스를 선택하여 정렬된 활동 인스턴스 세트 내에 정렬한다.
예를 들어, 다시 도 2를 참조하면, 활동 선택 엔진(120)은 후보 저녁식사 활동 인스턴스들(220)을 선택할 수 있다. 예시된 바와 같이, 3 개의 활동 인스턴스들 즉, "스테이크 하우스 요리" 피처와 연관될 수 있는 조의 스테이크하우스(Joe's Steakhouse); "멕시코 요리" 피처와 연관될 수 있는 엘 부리토(El Burrito); "바비큐 요리" 피처와 연관될 수 있는 텍사스 비비큐가 선택된다. 그룹 내의 각각의 사용자는 선호도 메트릭과 연관될 수 있고 그리고 하나 이상의 메트릭들은 하나 이상의 사용자에 대한, 하나 이상의 요리에 대한 사용자의 관심 및/또는 선호도를 나타낼 수 있다. 활동 선택 엔진(120)은 각각의 활동 인스턴스에 대한 승인 점수를 생성하기 위해 선호도 메트릭 및 후보 활동 인스턴스를 프로세싱할 수 있고, 각 활동 유형에 대한 서브세트를 선택할 수 있다. 따라서, 모든 저녁식사 활동 인스턴스들(220)이 활용되어 도 2의 활동 인스턴스들의 정렬된 세트들을 생성하지만, 활동 선택 엔진(120)은 추가 후보 활동 인스턴스들을 선택하고, 추가 인스턴스들을 스코어링하고, 그리고 도 2에 도시된 오직 3개만을 선택할 수 있다.
일부 구현예에서, 각 사용자의 선호도 메트릭스에 기초하여 각각의 활동 인스턴스에 대해 스코어가 생성될 수 있으며 그리고 각각의 활동 인스턴스에 대한 스코어들(여기서, 각각의 점수는 각각의 사용자에게 고유하다)이 조합되어(예를 들면, 평균화), 각 활동 인스턴스에 대한 전체 점수를 생성한다. 또한, 예를 들어, 모든 사용자를 대표하는 조합된 선호도 메트릭(예컨대, 모든 사용자들의 선호도 메트릭을 조합함으로써)에 기초하여 각 활동 인스턴스에 대한 스코어가 생성될 수 있으며, 상기 각각의 활동 인스턴스에 대한 스코어는 각각의 활동 인스턴스에 대한 전체 스코어로서 활용될 수 있다. 다음으로, 활동 인스턴스들에 대한 전체 스코어는 예컨대, "저녁식사" 활동 유형에 대한 활동 인스턴스(들)을 선택하는데 이용될 수 있다.
일부 구현예에서, 각각의 활동 인스턴스에 대해 생성된 스코어는, 추가적으로 또는 대안적으로 하나 이상의 다른 소스들로부터 식별된 메트릭들에 기초할 수 있다. 예를 들어, 활동 인스턴스에 대한 스코어는, 다른 사용자 그룹이 제공한 활동 인스턴스의 등급들(예컨대, 별, 숫자, 및/또는 활동을 계획하고 있는 그룹 사용자들 이외의 사용자들을 포함하여, 사용자 인구집단에 의해서 피드백으로 제공되는 다른 등급들), 최근 매체에서 활동 인스턴스가 언급된 빈도, 활동 인스턴스가 사용자 인구집단 중에서 얼마나 인기가 있는지를 나타내는 위치-데이터 기반 메트릭 및/또는 특정 활동 인스턴스의 인기도에 대한 기타 표시들 중 하나 이상에 적어도 부분적으로 기초할 수 있다.
일부 구현예에서, 활동 인스턴스에 대해 생성된 스코어는 추가적으로 또는 대안적으로, 상기 그룹의 사용자(들)과 관련된 하나 이상의 다른 사용자들을 식별하는 것 및 상기 하나 이상의 다른 사용자들이 활동을 수행했었는지를 결정하는 것에 기초할 수 있다. 예를 들어, 메시지 스레드의 구성원인 "밥"은 상기 메시지 스레드 어플리케이션과 동일한 어플리케이션을 통해 또는 대안적인 어플리케이션을 통해, "데이브(Dave)"(메시지 스레드의 구성원이 아닌 사용자)와 관련될 수 있다. 활동 인스턴스에 대한 스코어는, 소셜 미디어 상의 포스팅을 통해, 활동 인스턴스 위치가 태그된 사진을 통해, 및/또는 "데이브"가 활동 인스턴스를 수행했다는 기타 표시들을 통해, "데이브"가 활동을 수행했음을 식별하는 것에 기초할 수 있다. 선택적으로는, 상기 스코어는, "데이브"가 활동을 수행했으며 그리고 "데이브"의 활동 수행에 대해 "밥"이 관심을 나타냈음(예컨대, 포스팅 및/또는 사진을 보거나, 포스팅 및/또는 사진에 대한 긍정적인 좋아요, 기타 등등을 통해)에 기초할 수 있다.
각각의 활동 유형들에 대해 활동 인스턴스들이 선택되면, 활동 인스턴스들의 세트들이 생성된다. 일부 구현예에서, 주어진 세트에 대해, 상기 세트 내의 제 1 활동 인스턴스가 상기 그룹에 의해 가장 먼저 수행되고, 각각의 후속 활동 인스턴스들의 뒤따르도록, 상기 세트들은 순차적으로 정렬될 수 있다. 일부 구현예에서, 활동 인스턴스들의 세트들은 정렬되지 않을 수 있으며 그리고 활동 인스턴스들은 임의의 순서로 수행될 수 있다. 각 세트는 활동 선택 엔진(120)에 의해 식별된 활동 유형들 각각에 대한 하나의 활동 인스턴스를 포함한다. 예를 들어, 활동 선택 엔진(120)은 저녁식사 활동 유형 및 영화 활동 유형을 식별할 수 있다. 활동 선택 엔진(120)은 도 2에 도시된 바와 같이, 하나 이상의 저녁식사 활동 인스턴스들(220) 및 하나 이상의 영화 활동 인스턴스들(225)을 선택할 수 있다.
도 2에 도시된 바와 같이, 활동 인스턴스들의 세트들이 생성된다. 생성된 정렬된 세트들은 활동 선택 엔진(120)에 의해 식별된 활동 유형들 각각에 대한 활동 인스턴스들을 포함한다. 일부 구현예에서, 제 1 정렬된 세트는 제 2 정렬된 세트와는 다른 순서인 활동 인스턴스들을 포함할 수 있다. 예를 들어, 활동 인스턴스들의 세트들 중 하나 이상은 저녁식사 유형이 후속되는 영화 활동 유형을 포함할 수 있고 그리고 하나 이상의 정렬된 활동 인스턴스들은 영화 활동 유형이 후속되는 저녁식사 활동 유형을 포함할 수도 있다.
도 2에 도시된 바와 같이, 활동 인스턴스들의 3개의 정렬된 세트들이 예시된다. 세트(230) 및 세트(235)는 영화 활동 인스턴스가 후속되는 저녁식사 활동 인스턴스를 포함한다. 세트(240)는 저녁식사 인스턴스가 후속되는 영화 인스턴스를 포함한다. 정렬된 세트들 각각은 영화 인스턴스와 저녁식사 인스턴스를 포함하고 그리고 활동 스코어링 엔진(125)에 제공된다.
활동 스코어링 엔진(125)은 머신 러닝 모델을 사용하여 활동 인스턴스들의 세트들을 프로세싱하며, 머신 러닝 모델은 전술한 바와 같이, 활동 인스턴스들을 입력으로 수신한다. 머신 러닝 모델을 이용하여, 정렬된 세트들 각각이 프로세싱되며 그리고 정렬된 세트들 각각에 대한 실행가능성 점수(feasibility score)가 결정된다. 각 세트의 실행가능성 점수에 따라, 하나 이상의 세트들이 활동 인스턴스 세트들의 서브세트로서 선택된다. 예를 들어, 다시 도 2를 참조하면, 활동 인스턴스들의 3개의 정렬된 세트들이 활동 스코어링 엔진(125)에 제공된다. 활동 스코어링 엔진(125)은 정렬된 세트들(230, 235, 240) 각각을 스코어링할 수 있으며, 생성된 실행가능성 점수에 기초하여 정렬된 세트들 중 하나 이상을 선택할 수 있다.
일부 구현예에서, 세트 내의 활동 인스턴스들의 하나 이상의 피처들이 활용되어, 그 세트에 대한 실행가능성 점수를 생성할 수 있다. 예를 들어, 하나 이상의 활동 인스턴스들은 활동의 위치를 나타내는 하나 이상의 위치 피처들을 포함할 수 있다. 위치 정보는 거리 주소, GPS 위치, 비로컬적(non-localized) 활동들(예를 들어, 자전거 타기)을 위한 시작 위치및 종료 위치를 포함하는 활동 경로를 포함할 수 있다. 일부 구현예에서, 하나 이상의 활동 인스턴스들은 활동 인스턴스에 대한 하나 이상의 시간들과 연관될 수 있다. 예를 들어, 저녁식사 활동 인스턴스는 예약 시간과 연관될 수 있고, 영화 활동 인스턴스는 영화 시작 및 종료 시간과 연관될 수 있고, 자전거 타기 활동 인스턴스는 대략적인 완료 시간과 연관될 수 있고 및/또는 박물관 활동 인스턴스는 박물관 개장 및 폐장 시간 또는 예상된 방문 기간과 관련이 있다. 따라서, 위치들 사이의 거리들 및/또는 활동 인스턴스들 간의 시간 차이들이 입력으로서 머신 러닝 모델에 제공되고 세트에 대한 실행가능성 점수를 생성하는데 활용될 수 있다.
일부 구현예에서, 하나 이상의 사용자들은, 실행가능성 점수를 결정하기 위해 정렬된 세트를 프로세싱할 때 입력으로서 제공될 수 있는 위치 메트릭과 관련될 수 있다. 예를 들어, 각각의 사용자는 "홈" 위치와 연관될 수 있고 그리고 활동 인스턴스들의 하나 이상의 세트들에 대한 실행가능성 점수는, 하나 이상의 활동 인스턴스들로부터의 사용자 거리에 기초하여 생성될 수 있다. 예를 들어, 사용자들 중 한 명에 대한 긴 드라이브를 나타내는 위치 피처가 있는 활동 인스턴스로 시작하는 정렬된 세트는, 모든 사용자들에게 더 가까운 활동 인스턴스들을 포함하는 정렬된 세트보다 상기 그룹에 대한 관심을 덜 나타내는 생성된 실행가능성 점수를 가질 수 있다.
일부 구현예에서, 하나 이상의 사용자들은, 하나 이상의 활동 인스턴스 세트에 소정 사용자가 참가하는 것을 방지할 수 있는 하나 이상의 시간 제한과 관련될 수 있다. 예를 들어, 사용자는 오후 4시 ~ 오후 5시의 선행하는 약속(engagement)을 나타내는 캘린더 엔트리를 가질 수 있다. 활동 선택 엔진(120)은 사용자가 이용불가한 시간 기간과 충돌하는 시간 피처를 갖는 임의의 활동을 배제할 수 있다. 또한, 예를 들어, 하나 이상의 사용자는 통신 스레드의 과정에서, 사용자가 사용할 수 없는 활동 선택(120)이 그 시간과 충돌하는 임의의 활동 인스턴스를 제외할 수 있다는 것을 한 번 이상 표시할 수 있다.
일단 하나 이상의 세트들이 사용자들에게 제공할 서브세트로서 선택되면, 활동 인스턴스들의 세트의 표현(representation)은 사용자들의 클라이언트 디바이스들에 제공되어, 도 1의 보조 어플리케이션(107)과 같은 어플리케이션에 의해 렌더링될 수 있다. 세트의 각각의 활동 인스턴스는 활동 선택 엔진(120)에 의해 식별된 하나 이상의 정렬된 세트와 연관된다. 일부 구현예에서, 세트의 각각의 활동 인스턴스는 활동 선택 엔진(120)에 의해 선택된 활동 유형들 중 하나와 연관된다. 예를 들어, 정렬된 활동 인스턴스 세트(230)는 활동 유형 "저녁식사"(즉, "El Burrito")의 활동 인스턴스 및 "영화"의 선택된 활동 유형(즉, "공포 영화")을 포함할 수 있다. 일부 구현예에서, 세트의 하나 이상의 활동 인스턴스들은 여러 활동 유형과 연관될 수 있다. 예를 들어, 정렬된 세트는 "박물관 1" 이라는 활동 인스턴스를 포함할 수 있는데, 이는 활동 유형이 "박물관"이지만 추가로 자전거에 대한 전시물을 갖는다. 따라서, "박물관 1" 이라는 활동 인스턴스는 "박물관" 이라는 활동 유형과 "자전거 타기(Biking)" 라는 활동 유형 둘다인 정렬된 세트의 활동 인스턴스로서 선택될 수 있다.
일부 구현예에서, 하나 이상의 정렬된 세트들은 다중 사용자 통신 세션의 일부로서 렌더링된다. 예를 들어, 메시징 어플리케이션(106)은 활동 인스턴스들의 소정의 정렬된 세트의 표현을 렌더링할 수 있다. 다시 도 3을 참조하면, 활동 인스턴스들의 정렬된 세트의 표현(310)이 예시된다. 상기 표현(310)은 2 개의 활동 인스턴스들, 영화(공포 영화 1) 및 저녁식사(조의 스테이크하우스)를 포함한다. 또한, 표현(310)은 활동 인스턴스의 피처들을 포함한다. 예를 들어, 영화 활동 인스턴스의 경우, 표현(310)은 영화 시간 및 극장 위치를 포함한다. 일부 구현예에서, 추가적인 및/또는 대안적인 피처들이 활동 유형들에 제공될 수 있는바, 가령, 주제, 물리적 주소, 활동 인스턴스와 관련된 특별 이벤트(예컨대, 박물관의 특별 전시) 및/또는 사용자가 활동 인스턴스를 수행할지 또는 정렬된 활동 인스턴스 세트를 거부할지를 결정하는데 도움이 될 수 있는 임의의 다른 피처들이 제공될 수 있다.
또한, 표현(310)은 선택기를 포함하며, 선택기는 사용자가 추가 액션들을 수행하는데 관심을 나타낼 수 있게한다. 예시된 바와 같이, 표현(310)은 영화 활동 인스턴스에 대한 티켓을 구매해야하는지 사용자에게 묻는 프롬프트를 포함한다. 사용자가 티켓 구매에 관심을 표시하면, 어플리케이션 엔진(130)은 상기 표현(310)의 영화 활동 인스턴스에 의해 표시된 영화에 대한 티켓 구매를 확인하기 위해 사용자의 클라이언트 디바이스에 맞춤화된 방식으로 하나 이상의 원격 컴퓨터 시스템과 상호 작용한다. 예를 들어, 어플리케이션 엔진(130)은 "앨리스"의 클라이언트 디바이스 상에서 티켓 구매에 대한 관심을 그녀가 표시할 때 영화관 티켓 판매 엔티티와 관련된 원격 컴퓨터와 상호작용하고 그리고 특히 "앨리스"를 위해 티켓을 구매할 수 있으며, 그리고 어플리케이션 엔진(130)은 "밥"이 티켓 구매에 대한 관심을 나타낼 때 "밥"에 맞춤화된 방식으로 동일한 원격 컴퓨터와 상호작용할 수 있다(예컨대, "밥"의 결제 정보를 사용하고, "밥" 이름으로 티켓을 예약하고, "밥"의 선호에 따라 특정 수의 티켓을 구매함). 일부 구현예에서, 어플리케이션 엔진(130)은 부재할 수 있고, 클라이언트 디바이스는 원격 컴퓨터와 직접 상호작용할 수 있다.
일부 구현예에서, 하나 이상의 활성 세트들의 표시가 사용자 그룹에 제공된 이후, 추가 메시지들 및/또는 다른 사용자 인터페이스 입력을 통해 하나 이상의 사용자들에 의해 제공된 피드백에 기초하여 활동 세트(들)이 업데이트될 수 있다. 예를 들어, 여기에 설명된 바와 같이 특정 영화, 이탈리아 레스토랑에서의 저녁 식사 및 박물관 방문을 포함하는 활동 인스턴스들의 세트가 제공될 수 있다. 활동 인스턴스들의 세트는 도 3에 도시된 바와 같은 인터페이스를 통해 제공될 수 있으며, 그리고 활동 인스턴스들의 세트가 제공된 이후 사용자는 "나는 그 영화를 보고 싶지만, 이탈리아 음식은 원하지 않는다"라는 메시지를 제출할 수 있다. 이러한 사용자 피드백에 기초하여, 활동 선택 엔진(120)은 요리 유형이 "이탈리아식"인 저녁식사 활동 인스턴스를 포함하지 않는 추가적인 및/또는 대안적인 활동 세트를 결정할 수 있다. 예를 들어, 활동 선택 엔진(120)은 박물관 방문 및 특정 영화를 고정시킬 수 있지만, 대안적인 레스토랑(즉 , "이탈리아식" 요리 유형을 갖지 않는 레스토랑)을 제안할 수 있다. 또 다른 예로서, 활동 인스턴스들의 세트가 인터페이스를 통해 제공된 후, 사용자는 인터페이스와 상호작용하여 상기 세트의 하나 이상의 활동 인스턴스를 제거하여, 상기 세트의 하나 이상의 활동 인스턴스들에 대한 대안예(들)이 제시되도록 유발할 수 있다(기타 등등). 예를 들어, 사용자는 상기 세트의 활동 인스턴스들 중 하나를 선택하여, 선택된 하나의 활동 인스턴스에 대한 대안예들을 볼 수 있다.
전술한 바와 같이, 일부 실시예에서, 사용자들의 그룹에 제공되는 하나 이상의 활동 인스턴스에 대하여 감독된(supervised) 실행가능성 점수가 결정될 수 있다. 제공 및 정렬된 세트의 감독된 실행가능성 점수는, 하나 이상의 사용자로부터의 피드백을 기반으로, 정렬된 세트의 실제 실행가능성을 나타낸다. 일부 구현예에서, 감독된 실행가능성 점수는 사용자 중 적어도 하나가 활동 인스턴스들의 정렬된 세트를 수행했는지 여부에 기초할 수 있다. 예를 들어, 하나 이상의 사용자의 클라이언트 디바이스는 사용자에 대한 위치 정보를 제공할 수 있고, 그룹 활동 엔진(110)의 하나 이상의 컴포넌트는 활동 인스턴스와 연관된 시간 동안, 정렬된 세트의 활동 인스턴스 근처에 사용자가 존재하지 않았음을 식별할 수 있다(예를 들어, 정렬된 세트의 영화 활동 인스턴스의 상영 시간 동안 영화관 근처에 있지 않음). 일부 구현예에서, 하나 이상의 사용자는 사용자가 정렬된 세트의 활동 인스턴스들 중 하나 이상을 수행할 수 없거나 관심이 없음을 통신 스레드에 표시할 수 있다. 예를 들어, 다시 도 3을 참조하면, 통신 블록(320)에서 "크리스"는 제공 및 정렬된 세트의 영화 활동 인스턴스에 참석할 수 없음을 나타낸다. 따라서, 제공 및 정렬된 세트가 그룹을 완전히 만족하지 않았음을 나타내는 감독된 실행가능성 점수가, 제공 및 정렬된 세트에 대해 결정될 수 있다. 일부 구현예에서, 하나 이상의 사용자는 제공 및 정렬된 활동 인스턴스들 세트의 적합성을 평가하거나 달리 특성화하도록, 메시징 어플리케이션(106) 또는 다른 어플리케이션을 통해 촉구(또는 '프롬프트'라 함)될 수 있다. 하나 이상의 사용자의 응답은 제공 및 정렬된 세트에 대한 감독된 실행가능성 점수를 결정하는데 활용될 수 있다.
감독된 실행가능성 점수가 제공 및 정렬된 세트에 대해 결정되면, 활동 인스턴스들의 세트 및 감독된 실행가능성 점수는 머신 러닝 모델을 트레이닝하기 위해 또한 활용될 수 있다. 예를 들어, 정렬된 세트는 활동 세트 스코어링 엔진(125)에 의해 결정된 바와 같이 초기에 0.9의 실행가능성 점수를 가질 수 있다. 하지만, 하나 이상의 사용자로부터의 피드백에 기초하여, 0.6 이라는 감독된 실행가능성 점수가 결정된다(예를 들어, 한 명 이상의 사용자가 활동 인스턴스에 참석하지 않았고, 한 명 이상의 사용자가 정렬된 세트를 수용하지 않는다고 표시했음). 이후, 감독된 실행가능성 점수 및 정렬된 세트는 머신 러닝 모델을 추가로 트레이닝하기 위해 활용되어, 후속 정렬된 세트에 대해, 결과적으로 선택된 정렬된 세트가 하나 이상의 그룹에 의해 수용될 가능성이 더 높아질 수 있다.
도 4는 본 명세서에 설명된 방법에 따라 사용자의 클라이언트 디바이스에 제공될 수 있는 진행중인 메시징 스트림 및 활동 인스턴스 제안 세트의 다른 예시적인 그래픽 사용자 인터페이스를 도시한다. 그래픽 인터페이스는 도 3의 대화 블록(305)과 하나 이상의 특징들을 공유할 수 있는 대화 블록(405)을 포함한다. 대화 블록(405)에서, "앨리스"는 영화 관람 및 저녁식사를 제안하지만, 이러한 활동들에 대한 날짜 및/또는 시간을 지정하지 않는다. 활동이 제안되었음을 식별하는 메시지 파서에 기초하여, 활동 인스턴스들의 세트가 제공되는 것에 사용자가 관심을 표시할 수 있도록 프롬프트(410)가 하나 이상의 사용자에게 제공된다. 또한, 메시지 파서(115)는 활동이 대화 스레드에서 참조되었지만 활동 인스턴스 세트를 그룹에 제공하기 위해서는 활동들에 대한 추가적인 세부 사항이 필요할 수 있음을 식별할 수 있다. 따라서, 사용자 중 한 명이 활동 인스턴스들의 세트가 제공되는 것에 관심을 표시하면, 사용자가 참조되는 활동을 수행하는데 관심이 있는 시간에 관한 추가 정보를 제공하기 위해 시간 입력 상자(415)가 하나 이상의 사용자에게 제공된다. 일부 구현예에서, 입력 상자(415)는 가령, 위치를 나타내는 필드들과 같이, 사용자가 추가 정보를 제공할 수 있게하는 추가적인 및/또는 대안적인 필드들을 포함할 수 있다. 추가 정보가 제공되면, 도 3과 관련하여 설명된 바와 같이, 하나 이상의 정렬된 활동 인스턴스들의 세트(420)들이 사용자에게 제공된다.
일부 구현예에서, 대화 상자(405)는 없을 수도 있으며, 도 4에 도시된 하나 이상의 추가 피처들은 독립형 어플리케이션을 통해 구현될 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(105)에서 실행되는 어플리케이션을 오픈함으로써, 활동 인스턴스들의 세트가 제공되는 것에 관심을 표시할 수 있다. 사용자는 어플리케이션을 통해, 활동들에 대한 시간 프레임, 하나 이상의 활동 유형, 활동들에 참여할 수 있는 하나 이상의 추가 사용자들, 및/또는 활동 인스턴스들의 하나 이상의 세트를 제공하기 위해 그룹 활동 엔진(130)의 하나 이상의 컴포넌트에 의해 활용될 수 있는 추가 정보를 표시할 수 있다.
도 5는 본 명세서에 설명된 구현들에 따라 활동 인스턴스들의 정렬된 세트를 결정하기위한 예시적인 방법의 흐름도를 예시한다. 도 5의 단계들은 클라이언트 디바이스의 하나 이상의 프로세서와 같은 하나 이상의 프로세서에 의해 수행될 수 있다. 다른 구현예들은 도 5에 예시된 것보다 추가적인 단계들을 포함할 수 있으며, 도 5의 단계(들)을 다른 순서로 및/또는 병렬로 수행하거나, 및/또는 도 5의 단계들 중 하나 이상을 생략할 수 있다.
단계 505에서, 활동 유형들의 컬렉션(collection)에 대한 참조들이 다중 사용자 통신 스레드의 메시지들로부터 결정된다. 이러한 참조들은 메시지 파서(115)와 하나 이상의 특성을 공유하는 컴포넌트에 의해 결정될 수 있다. 일부 구현예에서, 하나 이상의 활동 인스턴스들은 하나 이상의 메시지들의 하나 이상의 참조들에 기초하여 결정될 수 있다. 예를 들어, 활동 유형(예를 들어, "저녁식사")은 메시지에서 참조될 수 있고/있거나 특정 레스토랑이 하나 이상의 메시지들에서 참조될 수 있다.
단계(510)에서, 참조된 각각의 활동 유형들에 대해 하나 이상의 활동 인스턴스들이 선택된다. 활동 인스턴스는 활동 선택 엔진(120)과 하나 이상의 특성을 공유하는 컴포넌트에 의해 선택될 수 있다. 일부 구현예에서, 활동 선택 엔진(120)은 머신 러닝 모델을 이용하여, 그룹의 사용자들의 선호도 메트릭에 기초하여 활동 인스턴스들 중 하나 이상을 선택할 수 있다. 예를 들어, "저녁식사(dinner)" 라는 활동 유형에 대해, 사용자 요리 선호도, 하나 이상의 레스토랑에 대한 과거 방문 기록, 및/또는 레스토랑에 대한 사용자 선호도의 하나 이상의 다른 표시들에 기초하여, 하나 이상의 레스토랑이 선택될 수 있다.
단계(515)에서, 활성 인스턴스들의 세트들이 생성된다. 선택적으로는, 활동 인스턴스들의 세트들은 예를 들어, 활동 인스턴스 각각과 연관된 시간, 활동 인스턴스의 위치 및/또는 활동 인스턴스의 하나 이상의 다른 특징에 기초하여 정렬될 수 있다. 통신 스레드의 메시지들에서 참조되는 활동 유형들 각각에 대한 하나의 활동 인스턴스가 각각의 세트에 포함된다. 예를 들어, "저녁식사", "영화" 및 "하이킹"에 대한 참조들은 통신 스레드에서 참조될 수 있으며, 각각의 세트는 하나의 영화 활동 인스턴스, 하나의 저녁식사 활동 인스턴스 및 하나의 하이킹 활동 인스턴스를 포함할 수 있다.
단계(520)에서, 각각의 세트가 프로세싱되어, 각각의 세트에 대한 실행가능성 점수가 생성된다. 실행가능성 점수는 활동 세트 스코어링 엔진(125)과 하나 이상의 특성을 공유하는 컴포넌트에 의해 생성될 수 있다. 활동 세트 스코어링 엔진(125)은 머신 러닝 모델을 이용하여, 예를 들어, 활동 인스턴스 세트의 하나 이상의 피처들에 기초하여 실행가능성 점수를 생성할 수 있다. 예를 들어, 세트의 하나 이상의 활동 인스턴스들은 시간 피처, 위치 피처 및/또는 활동 인스턴스에 대한 사용자 승인을 나타내는 승인 점수(활동 선택 엔진 120에 의해 생성됨)와 연관될 수 있다. 일부 구현예에서, 하나 이상의 사용자 선호도 메트릭이 활용되어, 실행가능성 점수를 생성할 수 있다. 예를 들어, 활동 인스턴스들의 세트에 대한 실행가능성 점수는 사용자의 "홈" 위치와 하나 이상의 활동 인스턴스들 사이의 거리 및/또는 하나 이상의 사용자의 이용가능성 및 하나 이상의 활동 인스턴스들의 시간 피처에 기초할 수 있다.
단계(525)에서, 활동 인스턴스들의 세트의 서브세트가, 세트의 각각의 실행가능성 점수에 기초하여 선택된다. 예를 들어, 임계값을 만족하는 실행가능성 점수를 갖는 세트들, 미리 결정된 개수의 세트들 및/또는 가장 높은 실행가능성 점수를 갖는 단일 세트를 포함하는 서브세트가 선택될 수 있다.
단계(530)에서, 세트들의 서브세트에 대한 표현이 사용자의 클라이언트 디바이스에 렌더링된다. 이러한 표현은 세트(들)의 활동 인스턴스들의 하나 이상의 피처들을 포함할 수 있다. 예를 들어, 세트에 대한 표현은 각 활동 인스턴스의 이름(또는 다른 식별자), 시간, 위치 및/또는 활동 인스턴스에 관한 기타 정보를 포함할 수 있다. 일부 구현예에서, 하나 이상의 사용자들은, 상기 세트(들)이 사용자에게 제공되기 전에, 하나 이상의 세트들이 제공될지의 여부를 선택하도록 촉구될 수 있다(예컨대, 도 4에 도시된 바와 같이).
단계(535)에서, 특정 사용자에게 맞춤화된 방식으로 원격 컴퓨터와 각각의 사용자가 상호작용할 수 있게하는 인터페이스가 클라이언트 디바이스들 각각에 의해 렌더링된다. 예를 들어, 각 사용자는 클라이언트 디바이스에 의해 렌더링되는 활동 인스턴스들의 세트들 중 하나의 세트에 있는 활동 인스턴스인 영화에 대한 티켓을 구매하도록 촉구될 수 있다. 각 사용자는 티켓 판매자와 연관된 원격 컴퓨터를 통해 티켓을 구매할 수 있는 옵션을 가질 수 있으며, 일단 확인되면, 사용자의 결제 정보를 사용하여 티켓이 구매된다.
도 6은 본 명세서에 서술된 하나 이상의 양상들을 수행하는데 이용될 수 있는 예시적인 컴퓨팅 디바이스(610)의 블록도이다. 컴퓨팅 디바이스(610)는 일반적으로 버스 서브시스템(612)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(614)를 포함한다. 이러한 주변 디바이스들은 예를 들어, 메모리(625) 및 파일 저장 서브 시스템(626)을 포함하는 저장 서브 시스템(624), 사용자 인터페이스 출력 디바이스(620), 사용자 인터페이스 입력 디바이스(622) 및 네트워크 인터페이스 서브시스템(616)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(610)와 사용자가 상호작용을 할 수 있게 한다. 네트워크 인터페이스 서브시스템(616) 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨터 시스템의 해당 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스(622)는 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 디바이스, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크 및/또는 다른 유형의 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스" 라는 용어의 사용은 컴퓨팅 디바이스(610) 또는 통신 네트워크에 정보를 입력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(620)는 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 오디오 출력 디바이스와 같은 비시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 디바이스를 통해 비시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(610)로부터 사용자 또는 다른 기계 또는 컴퓨터 시스템으로 정보를 출력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
저장 서브시스템(624)은 여기에 설명된 모듈들의 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브 시스템(624)은 본원에 서술된 방법의 선택된 양상들을 수행하거나 도 1에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(614)에 의해 단독으로 또는 다른 프로세서들과 결합하여 실행된다. 저장 서브시스템(624)에서 사용되는 메모리(625)는 프로그램 실행 동안 명령 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(RAM)(630) 및 고정 명령들이 저장되는 판독 전용 메모리(ROM)(632)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일에 대한 영구 저장을 제공할 수 있으며, 하드 디스크 드라이브, 플로피 디스크 드라이브 및 이와 관련된 이동식 매체, CD-ROM 드라이브, 광학 드라이브 또는 이동식 미디어 카트리지를 포함할 수 있다. 특정 구현예의 기능을 구현하는 모듈들은 저장 서브 시스템(624)의 파일 저장 서브 시스템(626)에 의해 또는 프로세서(들)(614)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(612)은 컴퓨터 디바이스(610)의 다양한 구성요소들 및 서브시스템들이 서로 통신할 수 있게하는 메커니즘을 제공한다. 버스 서브시스템(612)이 비록 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 대안적인 구현예는 다중 버스를 사용할 수도 있다.
컴퓨팅 디바이스(610)는 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨팅 디바이스(610)의 설명은 일부 구현예를 설명하기 위한 특정 일례로서만 의도된다. 컴퓨팅 디바이스(610)의 다른 많은 구성들은 도 6에 도시된 컴퓨터 시스템보다 더 많거나 더 적은 구성요소를 가질 수 있다.
여기에 설명된 구현예들이 사용자들에 대한 개인 정보(예컨대, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보, 및 사용자의 활동들 및 인구통계학적 정보, 사용자들 간의 관련성, 기타 등등)를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자는 정보 수집 여부, 개인 정보 저장 여부, 개인 정보 사용 여부 및 사용자에 대한 정보 수집, 저장 및 사용 방법을 제어할 수 있는 하나 이상의 기회를 제공받는다. 즉, 여기에 설명된 시스템 및 방법은 관련 사용자로부터 명시적인 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자는 프로그램들 또는 피처들이 특정 사용자 또는 프로그램 또는 피처와 관련된 다른 사용자들에 대한 사용자 정보를 수집하는지 여부를 제어할 수 있다. 개인 정보가 수집될 각 사용자에게는 해당 사용자와 관련된 정보 수집을 제어할 수 있는 하나 이상의 옵션이 제공되어, 정보 수집 여부 및 정보의 어느 부분이 수집되는지에 대한 허가 또는 승인을 제공할 수 있다. 예를 들어, 사용자는 통신 네트워크를 통해 이러한 제어 옵션을 하나 이상 제공받을 수 있다. 또한, 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 일례로 개인 식별 정보를 확인할 수 없도록 사용자의 신원이 처리될 수 있다. 다른 예로서, 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 더 큰 영역으로 일반화될 수 있다.
비록, 여러 구현예들이 본 명세서에 설명 및 예시되었지만, 기능을 수행하고 및/또는 본 명세서에 서술된 결과들 및/또는 하나 이상의 장점들을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 이들 변형예들 및 수정예들 각각은 본 명세서에 서술된 구현예들의 범위 내에 속하는 것으로 간주된다. 보다 일반적으로, 여기에 설명된 모든 파라미터들, 치수들, 물질들 및 구성들은 예시적인 것이며 실제 파라미터들, 치수들, 물질들 및 구성들은 교시 내용이 적용되는 특정 응용예 또는 응용예들에 따라 달라질 것이다. 당업자는 단지 일상적인 실험을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식하거나 확인할 수 있을 것이다. 그러므로, 전술한 구현예는 단지 일례로서 제시되었으며, 첨부된 청구 범위 및 그에 상응하는 범위 내에서, 구현은 구체적으로 설명되고 청구된 것과 달리 실행될 수 있다. 본 개시 내용의 구현은 본원에 기재된 각각의 개별적인 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은 본 개시의 범위 내에 속한다.

Claims (21)

  1. 하나 이상의 프로세서들에 의해 구현되는 방법으로서,
    진행중인 다중 사용자 통신 세션의 하나 이상의 메시지가 활동 유형들(activity types)의 컬렉션(collection)을 참조하는지를 결정하는 단계,
    상기 결정하는 단게는 진행중인 다중 사용자 통신 세션의 하나 이상의 메시지들의 콘텐츠에 대한 프로세싱에 기초하고,
    복수의 사용자들이 각각의 클라이언트 디바이스를 통해 상기 다중 사용자 통신 세션에 참여하고 있으며,
    활동 유형들의 컬렉션은 제 1 활동 유형 및 제 2 활동 유형을 적어도 포함하고;
    컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들(activity instances)을 선택하는 단계, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는 각 사용자에 대한 선호도 메트릭에 기초하고, 그리고 활동 인스턴스들은 제 1 활동 유형에 대한 다수의 활동 인스턴스들 및 제 2 활동 유형에 대한 다수의 활동 인스턴스들을 포함하며;
    활동 인스턴스들의 복수의 정렬된 세트들을 생성하는 단계, 활동 인스턴스들의 정렬된 세트들 각각은, 각각의 활동 유형에 대한 활동 인스턴스들 중 대응하는 하나의 활동 인스턴스를 포함하고;
    활동 인스턴스들의 정렬된 세트들 각각에 대하여:
    트레이닝된 머신 러닝 모델을 사용하여, 활동 인스턴스들의 정렬된 세트에 대한 각각의 실행가능성 점수를 생성하도록 활동 인스턴스들의 정렬된 세트의 각각의 피처들을 프로세싱하는 단계;
    실행가능성 점수에 기초하여 활동 인스턴스들의 정렬된 세트들의 서브세트를 선택하는 단계, 상기 서브세트는 활동 인스턴스들의 소정의 정렬된 세트를 적어도 포함하고;
    선택에 응답하여, 활동 인스턴스들의 소정의 정렬된 세트에 대한 표현이 다중 사용자 통신 세션의 일부로서 클라이언트 디바이스에서 렌더링되게 하는 단계; 및
    렌더링되는 표현에 응답하여 적어도 하나의 긍정적인 사용자 인터페이스 입력을 수신함에 응답하여:
    각각의 클라이언트 디바이스들로 하여금 각각의 인터페이스 요소를 렌더링하게하는 단계를 포함하며,
    상기 각각의 인터페이스 요소는 선택될 때, 활동 인스턴스들의 소정의 정렬된 세트에 있는 적어도 하나의 활동 인스턴스를 확인(confirm)하도록 각각의 클라이언트 디바이스들이 적어도 하나의 원격 컴퓨터 시스템과 상호작용하게하며, 각각의 클라이언트 디바이스는 클라이언트 디바이스들의 각각의 사용자에 대한 적어도 하나의 활동 인스턴스를 확인하도록 상기 각각의 클라이언트 디바이스에 맞춤화된 방식으로 원격 컴퓨터 시스템과 상호작용하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    트레이닝된 머신 러닝 모델을 사용하여 프로세싱되는 적어도 하나의 활동 유형의 활동 인스턴스에 대한 각각의 피처들은, 활동 인스턴스에 대한 지리적 위치를 정의하는 위치 피처를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    트레이닝된 머신 러닝 모델을 사용하여 프로세싱되는 적어도 하나의 활동 유형의 활동 인스턴스에 대한 각각의 피처들은, 활동 인스턴스에 대한 하나 이상의 시간들을 정의하는 시간 피처를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    적어도 하나의 사용자에 대한 위치 메트릭(location metric)을 식별하는 단계; 및
    트레이닝된 머신 러닝 모델을 사용하여, 실행가능성 점수를 생성함에 있어서 활동 인스턴스들의 정렬된 세트들 각각의 피처들과 함께 상기 위치 메트릭을 프로세싱하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  5. 제3항에 있어서,
    각각의 활동 인스턴스는 각각의 활동 및 상기 각각의 활동에 대한 시간 정보를 정의하고, 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는,
    사용자들 중 하나에 대한 시간적 제약을 식별하는 단계; 및
    충돌하는 활동 인스턴스의 각각의 시간 정보와 매칭되는 시간적 제약에 기초하여, 선택된 활동 인스턴스들 중에서 충돌하는 활동 인스턴스를 제외하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 사용자들 중 하나에 대한 시간적 제약은 사용자들 중 하나의 전자 캘린더에서 식별되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 클라이언트 디바이스 중 하나에 의해 렌더링되도록 야기되는 각각의 인터페이스 요소는, 선택될 때, 상기 클라이언트 디바이스들 중 하나로 하여금, 활동 인스턴스들 중 적어도 하나에 대한 파라미터들과 함께 상기 클라이언트 디바이스들 중 하나에 설치된 어플리케이션을 시작하게하며, 상기 어플리케이션은 시작될 때 활동 인스턴스들의 소정의 정렬된 세트에 있는 적어도 하나의 활동 인스턴스를 확인함에 있어서, 상기 파라미터들을 이용하여 적어도 하나의 원격 컴퓨터 시스템과 인터페이스하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    활동 인스턴스들의 소정의 정렬된 세트에 대한 감독된 실행가능성 점수(supervised feasibility score)를 결정하는 단계, 상기 감독된 실행가능성 점수는,
    사용자들 중 적어도 하나가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지 여부, 및
    활동 인스턴스들의 소정의 정렬된 세트에 관한 피드백을 요청하는 프롬프트의 렌더링에 응답하여 사용자 중 적어도 하나에 의해 제공되는 피드백 중 하나 또는 둘다에 기초하여 결정되며; 그리고
    상기 소정의 정렬된 세트에 대한 각각의 피처들에 순응하는(conform) 트레이닝 예제 입력 및 감독된 실행가능성 점수에 순응하는 트레이닝 예제 출력을 포함하는 트레이닝 예제를 이용하여, 머신 러닝 모델을 추가로 트레이닝하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    감독된 실행가능성 점수를 결정하는 단계는, 적어도 하나의 사용자가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지 여부에 기초하며,
    상기 적어도 하나의 사용자에 대한 위치 정보에 기반하여 상기 적어도 하나의 사용자가 활동 인스턴스들의 소정의 정렬된 세트를 수행했는지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    지정된 활동의 표시를 통신 스레드에서 식별하는 단계; 및
    상기 지정된 활동에 대한 추가적인 활동 유형을 결정하는 단계
    를 더 포함하고,
    컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는, 상기 추가적인 활동 유형에 대한 하나 이상의 활동 인스턴스들을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 활동 인스턴스들은 상기 지정된 활동을 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는,
    컬렉션의 활동 유형들 중 제 1 활동 유형에 기초하여 복수의 제 1 후보 활동 인스턴스들을 생성하는 단계;
    제 2 머신 러닝 모델을 사용하여, 각각의 후보 활동 인스턴스들에 대한 각각의 승인 점수를 생성하도록, 후보 활동 인스턴스들 각각의 피처들 및 사용자들의 선호도 메트릭 중 하나 이상을 프로세싱하는 단계, 각각의 후보 활동 인스턴스의 각각의 승인 점수는 사용자들의 선호도 메트릭에 기초한, 후보 활동 인스턴스에 대한 복수의 사용자들의 전체 승인(overall approval)을 나타내며; 그리고
    각각의 승인 점수에 기초하여 하나 이상의 후보 활동 인스턴스들을 선택하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  13. 하나 이상의 프로세서들에 의해 구현되는 방법으로서,
    사용자들의 그룹의 하나 이상의 사용자들의 사용자 인터페이스 입력에 기초하여 활동 유형들의 컬렉션을 결정하는 단계, 활동 유형들의 컬렉션은 제 1 활동 유형 및 제 2 활동 유형을 적어도 포함하고;
    컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들(activity instances)을 선택하는 단계, 컬렉션의 각 활동 유형에 대해 하나 이상의 활동 인스턴스들을 선택하는 단계는 각 사용자에 대한 선호도 메트릭에 기초하고, 그리고 활동 인스턴스들은 제 1 활동 유형에 대한 다수의 활동 인스턴스들 및 제 2 활동 유형에 대한 다수의 활동 인스턴스들을 포함하며;
    활동 인스턴스들의 복수의 세트들을 생성하는 단계, 활동 인스턴스들의 세트들 각각은, 각각의 활동 유형에 대한 활동 인스턴스들 중 대응하는 하나의 활동 인스턴스를 포함하고;
    활동 인스턴스들의 세트들 각각에 대하여:
    트레이닝된 머신 러닝 모델을 사용하여, 활동 인스턴스들의 세트에 대한 각각의 실행가능성 점수를 생성하도록 활동 인스턴스들의 세트의 각각의 피처들을 프로세싱하는 단계;
    실행가능성 점수에 기초하여 활동 인스턴스들의 세트들의 서브세트를 선택하는 단계, 상기 서브세트는 활동 인스턴스들의 소정의 세트를 적어도 포함하고;
    선택에 응답하여, 적어도 하나의 사용자의 적어도 하나의 클라이언트 디바이스로 하여금, 상기 활동 인스턴스들의 소정의 세트에 대한 표현을 렌더링하게 하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 사용자 인터페이스 입력은 사용자들의 그룹 사이에서 진행중인 통신 세션의 일부로서 제공되는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 적어도 하나의 클라이언트 디바이스로 하여금 활동 인스턴스들의 소정의 세트에 대한 표현을 렌더링하게 하는 단계는, 상기 진행중인 통신 세션의 트랜스크립트에서 상기 표현을 렌더링함이 없이 수행되는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 표현이 렌더링됨에 응답하여 긍정적인 사용자 인터페이스 입력을 수신하는 단계; 및
    상기 표현이 렌더링됨에 응답하여 긍정적인 사용자 인터페이스 입력을 수신함에 응답하여:
    상기 활동 인스턴스들의 소정 세트의 표현 또는 추가적인 표현을 상기 진행중인 통신 세션의 트랜스크립트에 통합하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  17. 제13항 내지 제16항 중 어느 한 항에 있어서,
    트레이닝된 머신 러닝 모델을 사용하여 프로세싱되는 적어도 하나의 활동 유형의 활동 인스턴스에 대한 각각의 피처들은,
    활동 인스턴스에 대한 지리적 위치를 정의하는 위치 피처, 및
    활동 인스턴스에 대한 하나 이상의 시간들을 정의하는 시간 피처를 포함하는 것을 특징으로 하는 방법.
  18. 제13항에 있어서,
    적어도 하나의 사용자에 대한 위치 메트릭을 식별하는 단계; 및
    트레이닝된 머신 러닝 모델을 사용하여, 실행가능성 점수를 생성함에 있어서 활동 인스턴스들의 세트들 각각의 피처들과 함께 상기 위치 메트릭을 프로세싱하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  19. 제13항 내지 제16항 중 어느 한 항에 있어서,
    활동 인스턴스들의 소정의 세트에 대한 감독된 실행가능성 점수를 결정하는 단계, 상기 감독된 실행가능성 점수는,
    사용자들 중 적어도 하나가 활동 인스턴스들의 소정의 세트를 수행했는지 여부, 및
    활동 인스턴스들의 소정의 세트에 관한 피드백을 요청하는 프롬프트의 렌더링에 응답하여 사용자 중 적어도 하나에 의해 제공되는 피드백 중 하나 또는 둘다에 기초하여 결정되며; 그리고
    상기 소정의 세트에 대한 각각의 피처들에 순응하는 트레이닝 예제 입력 및 감독된 실행가능성 점수에 순응하는 트레이닝 예제 출력을 포함하는 트레이닝 예제를 이용하여, 머신 러닝 모델을 추가로 트레이닝하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  20. 하나 이상의 프로세서들과 컴퓨터 실행가능 명령들을 저장하는 적어도 하나의 메모리를 포함하는 컴퓨팅 장치로서, 상기 컴퓨터 실행가능 명령들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 제1항 및 제13항 중 어느 한 항의 방법을 수행하게 하는 것을 특징으로 하는 컴퓨팅 장치.
  21. 컴퓨터 판독가능 비일시적 기록 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 적어도 하나의 컴퓨팅 장치의 하나 이상의 프로세서들에 의해 실행될 때, 제1항 및 제13항 중 어느 한 항의 방법이 수행되게 하는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020207035648A 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결 KR102453798B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227034735A KR102576179B1 (ko) 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/047616 WO2020040762A1 (en) 2018-08-22 2018-08-22 Automatically resolving, with reduced user inputs, a set of activity instances for a group of users

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227034735A Division KR102576179B1 (ko) 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결

Publications (2)

Publication Number Publication Date
KR20200142111A KR20200142111A (ko) 2020-12-21
KR102453798B1 true KR102453798B1 (ko) 2022-10-12

Family

ID=69591213

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227034735A KR102576179B1 (ko) 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결
KR1020207035648A KR102453798B1 (ko) 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227034735A KR102576179B1 (ko) 2018-08-22 2018-08-22 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결

Country Status (4)

Country Link
US (4) US11108889B2 (ko)
KR (2) KR102576179B1 (ko)
CN (2) CN112335205B (ko)
WO (1) WO2020040762A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102576179B1 (ko) 2018-08-22 2023-09-07 구글 엘엘씨 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결
CN112534421A (zh) * 2018-12-20 2021-03-19 谷歌有限责任公司 基于图像内容分析驱动的地理语义索引的地图搜索推荐系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242232A1 (en) 2005-03-31 2006-10-26 International Business Machines Corporation Automatically limiting requests for additional chat sessions received by a particula user
US10331221B2 (en) 2016-03-29 2019-06-25 SessionCam Limited Methods for analysing user interactions with a user interface

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694212B2 (en) * 2005-03-31 2010-04-06 Google Inc. Systems and methods for providing a graphical display of search activity
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20100223212A1 (en) 2009-02-27 2010-09-02 Microsoft Corporation Task-related electronic coaching
US20100223341A1 (en) * 2009-02-27 2010-09-02 Microsoft Corporation Electronic messaging tailored to user interest
US8843834B2 (en) 2009-08-28 2014-09-23 Apple Inc. Method and apparatus for initiating and managing chat sessions
US9203796B2 (en) * 2010-11-12 2015-12-01 Facebook, Inc. Messaging system with multiple messaging channels
US9122757B1 (en) * 2011-06-19 2015-09-01 Mr. Buzz, Inc. Personal concierge plan and itinerary generator
US8892480B2 (en) * 2012-07-25 2014-11-18 Aro, Inc. Contextual information provider
SG11201700555QA (en) * 2014-07-23 2017-02-27 Communikate Digital Channel Group Pte Ltd Computer-implemented method of and system for running a marketing campaign
US20160321560A1 (en) * 2015-04-30 2016-11-03 Microsoft Technology Licensing, Llc Opportunity surfacing machine learning framework
US20160335139A1 (en) * 2015-05-11 2016-11-17 Google Inc. Activity triggers
US20160358065A1 (en) * 2015-06-05 2016-12-08 Microsoft Technology Licensing, Llc Personally Impactful Changes To Events of Users
CN105205133A (zh) * 2015-09-15 2015-12-30 小米科技有限责任公司 信息收集方法和装置
US11429883B2 (en) * 2015-11-13 2022-08-30 Microsoft Technology Licensing, Llc Enhanced computer experience from activity prediction
US10769189B2 (en) * 2015-11-13 2020-09-08 Microsoft Technology Licensing, Llc Computer speech recognition and semantic understanding from activity patterns
US10530723B2 (en) * 2015-12-21 2020-01-07 Google Llc Automatic suggestions for message exchange threads
CN106302996B (zh) * 2016-07-29 2020-01-31 腾讯科技(深圳)有限公司 消息显示方法及装置
CN107809372A (zh) * 2016-09-08 2018-03-16 阿里巴巴集团控股有限公司 活动提醒消息的生成方法、活动提醒方法及装置
US11113721B2 (en) * 2017-07-25 2021-09-07 Adobe Inc. Dynamic sentiment-based mapping of user journeys
KR102576179B1 (ko) * 2018-08-22 2023-09-07 구글 엘엘씨 감소된 사용자 입력들로 인한, 사용자 그룹에 대한 활동 인스턴스들의 세트의 자동 해결

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242232A1 (en) 2005-03-31 2006-10-26 International Business Machines Corporation Automatically limiting requests for additional chat sessions received by a particula user
US10331221B2 (en) 2016-03-29 2019-06-25 SessionCam Limited Methods for analysing user interactions with a user interface

Also Published As

Publication number Publication date
CN112335205B (zh) 2022-10-11
US20200344327A1 (en) 2020-10-29
US20210392205A1 (en) 2021-12-16
KR20220139464A (ko) 2022-10-14
US20230188592A1 (en) 2023-06-15
KR102576179B1 (ko) 2023-09-07
US11575729B2 (en) 2023-02-07
CN115550304B (zh) 2023-10-10
US20240048606A1 (en) 2024-02-08
KR20200142111A (ko) 2020-12-21
CN115550304A (zh) 2022-12-30
US11108889B2 (en) 2021-08-31
WO2020040762A1 (en) 2020-02-27
CN112335205A (zh) 2021-02-05
US11843655B2 (en) 2023-12-12

Similar Documents

Publication Publication Date Title
US10650351B2 (en) Auto-Calendaring
CN107391523B (zh) 多用户消息交互话题中提供用于与自动化助理交互的建议
KR102368003B1 (ko) 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
US8843528B1 (en) Query-based user groups in social networks
KR101687927B1 (ko) 이벤트 리뷰들을 획득하는 방법 및 시스템
US20150356693A1 (en) Providing event-attendance-responsive notifications via a hybrid architecture
CN110582765A (zh) 未索求内容到人类与计算机对话中的前摄并入
US20140067544A1 (en) Providing offer(s) to users in a social networking system based on compatibility of the users with the offer(s)
US11843655B2 (en) Automatically resolving, with reduced user inputs, a set of activity instances for a group of users
US10122671B2 (en) Identifying service providers for electronically received service requests and using stored account data to connect the requester with providers
CA3092768A1 (en) Search engine scoring and ranking
JP2019523922A (ja) メッセージ交換スレッドへの選択可能アプリケーションリンクの組込み
CN112292675A (zh) 利用实体和任务的显著性排名辅助计算机解译自然语言输入
CN112313643A (zh) 基于检索/创建的数字媒体文件预测潜在相关的主题
US20140101137A1 (en) System and method for a contact persona-based group in a social media network
KR20200106569A (ko) 액션에 대한 엔티티를 결정하고 그리고 액션 및 엔티티에 관련된 하나 이상의 컴퓨터 액션들을 수행하기 위해 촉구들에 대한 사용자 응답들의 촉진 및 분석의 자동화된 생성을 위한 방법 및 장치
US20170206200A1 (en) Determining activities responsive to profile
US10877784B1 (en) Determining and servicing user intent with a virtual assistant
KR20190003709A (ko) 메시지 교환 스레드를 사용한 효율적인 검색 촉진
WO2015142292A1 (en) Methods and systems for determining similarity between network user profile data and facilitating co-location of network users
US20220245158A1 (en) Recommendation and prediction engines for virtual and hybrid events
Mitsis et al. Social media analytics in support of documentary production

Legal Events

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