KR20200060386A - 대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법 - Google Patents

대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법 Download PDF

Info

Publication number
KR20200060386A
KR20200060386A KR1020207008572A KR20207008572A KR20200060386A KR 20200060386 A KR20200060386 A KR 20200060386A KR 1020207008572 A KR1020207008572 A KR 1020207008572A KR 20207008572 A KR20207008572 A KR 20207008572A KR 20200060386 A KR20200060386 A KR 20200060386A
Authority
KR
South Korea
Prior art keywords
user
computing system
natural language
satisfaction
logic
Prior art date
Application number
KR1020207008572A
Other languages
English (en)
Other versions
KR102683169B1 (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 KR20200060386A publication Critical patent/KR20200060386A/ko
Application granted granted Critical
Publication of KR102683169B1 publication Critical patent/KR102683169B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • 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
    • 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]
    • H04L51/046Interoperability with other network applications or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

서비스를 제공하는 것을 지원하는 데 사용되는 소프트웨어 에이전트는 해당 소프트웨어 에이전트를 사용하려고 시도하고 있는 일련의 사용자들로부터 통신을 수신한다. 통신은 소프트웨어 에이전트와 상호작용하고 있는 통신 및 소프트웨어 에이전트와 상호작용하고 있지 않은 통신을 포함한다. 소프트웨어 에이전트는 모든 통신에 대하여 자연어 처리를 수행해서 메시지 내용 중 사용자 감정, 사용자 관심사 또는 기타 항목 같은 것들을 식별하는 한편, 소프트웨어 에이전트에 대한 사용자 만족도의 척도를 취득하기 위해 사용자들이 취한 액션을 식별한다. 이후, 소프트웨어 에이전트에 대한 식별된 사용자 만족도에 기초하여 하나 이상의 액션 신호가 생성된다.

Description

대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법
컴퓨팅 시스템은 현재 널리 사용되고 있다. 일부 컴퓨팅 시스템은 매우 다양한 다른 것들 중에서도 전자 메일(이메일) 컴퓨팅 시스템, 캘린더링 또는 스케줄링 컴퓨팅 시스템 같은 것들을 포함한다.
또한, 일부 컴퓨팅 시스템은 디지털 에이전트(digital agents), 또는 개인용 디지털 어시스턴트(personal digital assistants)를 포함한다. 이러한 유형의 에이전트 또는 어시스턴트는, 예를 들어, 자연어(natural language)를 사용한 인간 상호작용을 위한 인터페이스를 제공할 수 있고 다양한 태스크를 수행할 수 있는 컴퓨터 프로그램인 소프트웨어 에이전트 또는 다른 봇(bot)을 포함할 수 있다. 이들은 예시적으로 자연어 이해 로직(understanding logic)을 사용해서 자연어 입력의 언어적 의미를 식별하고, 해당 자연어 입력에 기초하여, 사용자를 위한 특정 태스크를 자동으로 수행한다. 예를 들면, 에이전트 또는 어시스턴트는 자연어 입력에 기초하여, 다른 무엇보다도 리마인더를 설정하고, 검색 수행에 의해 질문에 답하고, 다른 서비스들과 상호작용할 수 있다.
이러한 태스크를 수행함에 있어서, 이와 같은 에이전트 또는 봇은 서비스를 수행하기 위해 사용자와의 대화 수행에 관여되곤 한다. 예를 들면, 일부 봇 또는 에이전트는 사용자가 다른 사용자들과 대화하고 있을 때 사용될 수 있다. 예시로서, 제1 사용자가 다른 사용자들의 그룹에게 특정 날짜에 영화를 보고 싶어하는지 또는 다른 엔터테인먼트에 참석하고 싶어하는지를 묻는 전자 메일 메시지(이메일 메시지)를 보낸다고 가정한다. 이용 가능한 활동을 찾기 위해, 사용자들 중의 또는 그룹의 한 명이 다른 날짜에 다른 장소에서 일어나고 있는 엔터테인먼트를 식별하도록 구성된 소프트웨어 에이전트에 이메일 메시지(그룹 내의 다른 모든 사용자를 참조에 포함)를 보내는 것일 수도 있다. 이후, 소프트웨어 에이전트는 해당 날짜에 일어나고 있는 일련의 엔터테인먼트 활동을 그룹에게 표시하고, 그룹이 티켓을 취득하는 것을 도울 수도 있다. 예시로서, 소프트웨어 에이전트는 일련의 엔터테인먼트 활동을 표시하고 소프트웨어 에이전트가 티켓을 구해야만 하는지를 묻는 이메일을 그룹 전체에 보낼 수 있다. 그렇게 하도록 지시된 경우, 소프트웨어 에이전트는 사용자들 중 한 명 이상과 대화를 수행해서 다른 무엇보다도 티켓의 수, 티켓에 소비될 금액을 식별할 수 있다. 이후, 소프트웨어 에이전트는 티켓팅 사이트와 상호작용해서 티켓을 취득할 수 있다.
이러한 컴퓨팅 시스템은 다양한 사용자들이 어떤 기능을 만족해 하는지, 그리고 어떤 기능을 불만족해 할 수 있으며, 왜 그런지에 대하여 알기 어려울 수 있기 때문에, 이러한 컴퓨팅 시스템을 개선하기는 어려울 수 있다. 현재의 일부 시스템은 사용자들에게 설문조사에 참여해서 피드백을 제공하라고 요청한다. 그러나, 사용자들에게는 설문조사가 번거롭고 시간 소모적인 것으로 여겨지곤 한다. 따라서, 비교적 적은 수의 사용자들만이 실제로 설문조사에 참여하므로 피드백이 상당히 제한적일 수 있다.
상기의 논의는 단지 일반적인 배경 정보를 위해 제공된 것이며 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함이 아니다.
서비스를 제공하는 것을 지원하는 데 사용되는 소프트웨어 에이전트는 해당 소프트웨어 에이전트를 사용하려고 시도하고 있는 일련의 사용자들로부터 통신을 수신한다. 통신은 소프트웨어 에이전트와 상호작용하고 있는 통신 및 소프트웨어 에이전트와 상호작용하고 있지 않은 통신을 포함한다. 소프트웨어 에이전트는 모든 통신에 대하여 자연어 처리를 수행해서 메시지 내용 중 사용자 감정, 사용자 관심사 또는 기타 항목 같은 것들을 식별하는 한편, 사용자들이 취한 액션을 식별한다. 이 처리는 소프트웨어 에이전트에 대한 사용자 만족도의 척도를 취득하기 위해 수행된다. 이후, 소프트웨어 에이전트에 대한 식별된 사용자 만족도에 기초하여 하나 이상의 액션 신호가 생성된다.
본 개요는 후속하여 발명을 실시하기 위한 구체적인 내용 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 것을 돕기 위한 것으로 이용이 되고자 함도 아니다. 청구항의 청구대상은 배경기술에서 주지된 임의의 또는 모든 단점을 해결하는 구현예들로 제한되지 않는다.
도 1은 컴퓨팅 시스템 아키텍처의 일 실시예의 블록도이다.
도 2a 및 도 2b(본 명세서에서는 총괄하여 도 2로 인용됨)는 상이한 신호들을 분석해서 사용자 만족도를 식별하고 식별된 사용자 만족도에 기초하여 제어 신호들을 생성함에 있어서의 도 1에 예시된 아키텍처의 동작의 일 실시예를 예시하는 흐름도를 도시한다.
도 3은 클라우드 컴퓨팅 아키텍처에 배치된, 도 1에 예시된 아키텍처의 일 실시예를 도시하는 블록도이다.
도 4 내지 도 6은 이전 도면들에 도시된 아키텍처들에서 사용될 수 있는 모바일 장치의 실시예들을 도시한다.
도 7은 이전의 도면들에 도시된 아키텍처들에서 사용될 수 있는 컴퓨팅 환경의 일 실시예를 도시하는 블록도이다.
도 1은 컴퓨팅 시스템 아키텍처(100)의 일 실시예의 블록도이다. 아키텍처(100)는 예시적으로 사용자(108)에 의한 상호작용을 위한 사용자 입력 메커니즘(106)을 구비한 사용자 인터페이스(104)를 생성하는 컴퓨팅 시스템(102)을 포함한다. 사용자(108)는 예시적으로 컴퓨팅 시스템(102)의 부분들을 제어 및 조작하기 위해 사용자 입력 메커니즘(106)과 상호작용한다.
도 1에 예시된 실시예에 있어서, 컴퓨팅 시스템(102)은 예시적으로 하나 이상의 프로세서 또는 서버(110), 전자 메일(이메일) 시스템(112), 캘린더 시스템(114), 통신 시스템(116), 사용자 인터페이스 로직(118), 스케줄링 어시스턴스 시스템(120)을 포함하는 한편, 매우 다양한 기타 아이템(122)도 마찬가지로 포함할 수 있다. 캘린더 시스템(114)은 자체는, 예시적으로 스케줄링 로직(124), 캘린더 데이터 저장소(126)(사용자(108) 및/또는 다른 사용자들에 대한 캘린더 데이터 저장소일 수 있음)를 포함하는 한편, 매우 다양한 다른 캘린더 기능(128)을 포함할 수 있다.
스케줄링 어시스턴스 시스템(120)은 예시적으로 스케줄링 동작을 수행하기 위해 캘린더 시스템(114) 및 다른 사용자들의 캘린더 시스템과 상호작용함에 있어서 사용자(108)를 지원하는 컴퓨팅 시스템이다. 일 실시예에 있어서, 사용자(108)는 예시적으로 이메일 시스템(112)을 사용해서 스케줄링 어시스턴스 시스템(120)의 받은메일함(inbox)에 메시지를 송신함으로써 스케줄링 어시스턴스 시스템(120)과 상호작용한다. 그러나, 다른 실시예들에 있어서는, 사용자(108)가 자연어 음성 입력, 다른 메시징 시스템 등과 같은 다른 유형의 통신을 사용해서 스케줄링 어시스턴스 시스템(120)과 통신할 수 있다.
따라서, 스케줄링 어시스턴스 시스템(120)은 예시적으로 자연어 이해 시스템(130)(스케줄링 어시스턴스 시스템(120)의 일부로서 도시되어 있지만, 그것과 분리될 수 있거나 또는 시스템(120)에 의해 액세스된 원격 서비스일 수 있음), 스케줄링 어시스턴트 워크플로 처리 시스템(132), 사용자 만족도 신호 분석기 및 제어 시스템(134)을 포함하는 한편, 기타 아이템(136)을 포함할 수 있다. 아키텍처(100)의 동작을 더 상세하게 설명하기에 앞서, 아키텍처(100) 내의 아이템들 중 일부 및 그 동작의 간략한 개요가 먼저 제공된다.
이메일 시스템(112)은 예시적으로 사용자(108)에게 이메일 기능을 제공한다. 따라서, 일 실시예에 있어서, 사용자(108)는 이메일 메시지를 작성, 송신, 수신, 개봉, 및 삭제할 수 있다. 사용자(108)는 예시적으로 이메일 시스템(112)을 사용해서 자신의 메일함 및 이메일 계정을 구성하고, 필터를 설정하고, 서로 다른 이메일 메시지들에 다양한 첨부물을 첨부하고, 매우 다양한 다른 이메일 기능을 수행하기 위해 설정 동작을 수행할 수 있다.
캘린더 시스템(114) 내의 스케줄링 로직(124)은 예시적으로 사용자(108)가 자신의 캘린더 상의 아이템을 스케줄링할 수 있게 한다. 사용자(108)의 캘린더를 나타내는 캘린더 데이터는 예시적으로 캘린더 데이터 저장소(126)에 캘린더 데이터로서 저장된다. 캘린더 시스템(114)은 미팅 요청을 송신 및 수신하고, 태스크 및 약속을 스케줄링하고, 다양한 상이한 사용자들과의 미팅을 스케줄링하고, 다른 사용자들의 가용성을 확인하는 능력과 같은 매우 다양한 다른 캘린더 기능(128)을 제공할 수 있다.
통신 시스템(116)은 예시적으로 컴퓨팅 시스템(102)이 매우 다양한 다른 컴퓨팅 시스템들과 통신할 수 있게 한다. 예를 들면, 와이드 에어리어 네트워크, 로컬 에어리어 네트워크, 셀룰러 통신 네트워크, 근거리 통신 네트워크, 또는 매우 다양한 다른 네트워크들 또는 네트워크들의 조합을 통해 통신할 수 있게 하는 통신 시스템일 수 있다.
사용자 인터페이스 로직(118)은 예시적으로 사용자 입력 메커니즘(106)을 구비한 사용자 인터페이스(104)를 생성한다. 또한, 이것은 예시적으로 사용자 입력 메커니즘(106)과의 또는 임의의 매우 다양한 다른 사용자 입력 메커니즘과의 사용자 상호작용을 검출한다. 이것은 해당 사용자 상호작용의 표시를 생성하여 컴퓨팅 시스템(102)의 다른 부분들에도 제공할 수 있다.
스케줄링 어시스턴스 시스템(120)은 예시적으로 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 사용해서, 사용자(108)가 시스템(120)에 미팅, 전화 통화 등과 같은 이벤트의 스케줄링을 지원하도록 요청하는 경우를 검출한다. 일 실시예에 있어서, 사용자(108)는 자연어 이메일 메시지를 작성하여 스케줄링 어시스턴스 시스템(120)에 대응하는 이메일 시스템(112)의 메일함에 송신함으로써 이를 행할 수 있다. 시스템(120)은 그 메일함에 메시지를 수신할 경우, 예시적으로 자연어 이해 시스템(130)을 사용하여 메시지를 파싱하고 이메일 메시지 내의 내용의 언어적 내용(예컨대, 의미)을 식별한다. 이후, 해당 메시지를 시스템(120)과의 상호작용을 구하는 메시지로서 또는 상호작용을 구하지는 않지만, 시스템(120)이 메시지에 복사된 메시지로서 식별할 수 있다.
시스템(120)이 이메일 메시지를 시스템(120)과의 상호작용을 구하는 메시지(예를 들면, 스케줄링 동작을 수행함에 있어서 사용자(108)를 지원하기 위한 요청)로서 식별하는 경우, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 예시적으로 (예컨대, 이메일 시스템(112) 또는 다른 것을 통해) 사용자(108)와의 대화를 수반할 수 있는 워크플로를 수행하여 사용자(108)가 시스템(120)이 무엇을 수행하기를 바라는지에 대하여 식별할 수 있다. 이는 수행될 태스크를 식별하기 위해 사용자(108)에게 질문하는 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 포함할 수 있다.
이후, 시스템(132)은 정보 검색의 수행, 다양한 사용자의 캘린더 시스템의 검색, 다른 컴퓨팅 시스템 또는 데이터베이스의 검색, 및 결과 반환과 같은 동작을 수행할 수 있다. 이후, 미팅 또는 다른 이벤트를 스케줄링하기 위해 사용자(108) 및 다른 사용자들에 대한 스케줄링 로직(124)과의 상호작용과 같은 다른 액션을 수행하 수 있거나, 또는 다른 컴퓨팅 시스템과 상호작용하여 다른 기능(예를 들면, 매우 다양한 다른 것들 중에서도 티켓 구매, 예약)을 수행할 수 있다.
스케줄링 어시스턴스 시스템(120)과 같은 시스템으로는, 해당 시스템에 대하여 사용자(108)가 느끼는 만족도 수준을 결정하기가 어려울 수 있다. 따라서, 사용자 만족도 신호 분석기 및 제어 시스템(134)이 예시적으로 사용자(108)로부터의 다양한 신호 및 액션을 모니터링하여 사용자의 만족도를 결정한다. 이후, 해당 만족도에 기초하여 제어 신호를 생성해서 액션을 취할 수 있다.
본 실시예를 위해, 스케줄링 어시스턴스 시스템(120)은 스케줄링 어시스턴스 시스템일 필요가 없으며, 대신 그 서비스를 렌더링할 때 하나 이상의 사용자와의 대화에 참여하는 다른 소프트웨어 에이전트 또는 봇일 수 있다는 점을 이해할 것이다. 예를 들면, 시스템은 스케줄링 동작을 수행함에 있어서 사용자를 지원하는 시스템이 아니라, 다른 언어를 사용하는 다수의 사용자 사이의 이메일 토론에서 사용자가 번역 작업을 수행하는 것을 지원하는 시스템일 수 있다. 시스템은 사용자가 점심을 주문하거나, 하나 이상의 상이한 장소를 스케줄링하거나, 항공 티켓 또는 이벤트 티켓을 구매하는 것을 지원하는 시스템이거나, 또는 원하는 서비스를 수행하기 위해 일련의 사용자들과의 대화에 참여하는 매우 다양한 다른 시스템일 수 있다. 단지 예시의 목적으로, 본 설명은 하나 이상의 사용자가 아이템을 스케줄링하는 것을 지원하는 시스템인 스케줄링 어시스턴스 시스템(120)과 관련하여 설명된다. 그러나, 시스템이 제공하는 서비스를 사용하고 있는 사용자들과의 토론에 참여하는 다른 유형의 보조 시스템 또는 다른 소프트웨어 에이전트 또는 소프트웨어 프로그램에 동일한 처리가 적용될 수 있다.
사용자 만족도 신호 분석기 및 제어 시스템(134)은 예시적으로 사용자 관심사 검출 로직(138), 감정 분석 로직(140), 사용자 추천 검출 로직(142), 캘린더 마이닝 로직(144), 만족도 수준 검출 로직(145), 특징 발견 관여 로직(146), 이슈 식별 로직(147), 제어 신호 생성기 로직(148)을 포함하는 한편, 매우 다양한 기타 아이템(150)을 포함할 수 있다. 캘린더 마이닝 로직(144) 자체는, 예시적으로 미팅 분류 로직(152), 서비스 커버리지 결정 로직(154), 경향 식별 로직(156), 설문조사 로직(158)을 포함하는 한편, 기타 아이템(160)을 포함할 수 있다. 제어 신호 생성기 로직(148) 자체는, 예시적으로 공유 프롬프팅 로직(162)을 포함하는 한편, 매우 다양한 기타 아이템(164)을 포함할 수 있다.
일 실시예에 있어서, 스케줄링 어시스턴스 시스템(120)은, 시스템(120)에 의해 제공된 스케줄링 어시스턴스 서비스에 직접 관련되고 시스템(120)과의 상호작용을 명시적으로 구하는 메시지들 뿐만 아니라, 반드시 시스템(120)과의 상호작용을 구할 필요가 없는 통신 스레드에서의 다른 메시지들에 포함 또는 복사될 수 있다는 점에 먼저 주목해야 한다. 예를 들면, 사용자(108)가 시스템(120)에게 해당 그룹이 미팅을 스케줄링하는 것을 지원하도록 구체적으로 요청하는 이메일 메시지를 다른 사용자들의 그룹에, 또한 시스템(120)에 송신하는 것일 수 있다. 예시로서, 사용자는 "스케줄링 어시스턴트, 우리가 미팅을 스케줄링하는 것을 도와주세요.(Scheduling Assistant, please help us schedule a meeting.)"라고 입력할 수 있다. 그러면, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 그 워크플로를 실행해서 미팅의 상세를 식별하고, 미팅이 스케줄링될 수 있는 다양한 미팅 기회를 식별한다. 그렇게 함으로써, 해당 시스템은 대화 중인 사용자들의 그룹에 회신하는 이메일을 생성하고, 해당 사용자들로부터 응답을 수신할 수 있다.
그러나, 대화에 참여하고 있는 사용자들이 시스템(120)을 메시지에 복사하되 시스템(120)과의 직접적인 상호작용을 구하지 않는 서로에 대한 메시지를 생성할 수 있는 것일 수도 있다. 예를 들면, 사용자들 중 하나가 전체 사용자 그룹에 "미팅 장소 근처에서 당신이 선호하는 식당은 어디인가요?(What is your favorite restaurant near the meeting location?)"라는 질문을 송신하는 것일 수 있다. 이 통신이 시스템(120)에 복사될 수 있기는 하지만, 시스템(120)과의 어떠한 상호작용을 구하는 것은 아니다. 대신에, 다른 사용자들과의 상호작용을 구하고 있다. 유사하게, 사용자들 중 하나는 시스템(120)에 대한 사용자의 만족도 수준에 대한 표시를 제공하는 다른 사용자들 모두에 대한 메시지를 입력하고 시스템(120)에 복사할 수 있다. 예를 들면, 시스템(120)의 이름이 "ACME 스케줄링 어시스턴트(The ACME Scheduling Assistant)"라고 가정하면, 사용자들 중 하나는 "ACME 스케줄링 어시스턴트는 너무 느려요.(This ACME Scheduling Assistant is very slow.)" 또는 "ACME 스케줄링 어시스턴트는 정말 도움이 되요.(This ACME Scheduling Assistant is really helpful.)"와 같은 메시지를 보낼 수 있다. 따라서, 해당 메시지의 작성자가 시스템(120)과의 상호작용을 구하고 있지 않더라도, 메시지의 내용 자체는 시스템(120)에 대한 해당 사용자의 만족도 수준을 식별하도록 분석될 수 있다.
유사하게, 대화에서의 사용자들의 액션이 시스템(120)에 대한 그들의 만족도 수준에 대한 표시를 제공할 수도 있다. 예를 들면, 사용자들 중 하나가 다른 사용자들에게 "ACME 스케줄링 어시스턴트"를 사용하라고 추천하는 이메일을 송신할 경우, 이는 해당 메시지의 작성자의 만족도 수준이 상대적으로 높다는 것을 나타낼 수 있다. 그러나, 사용자가 "우리가 사용할 만한 다른 스케줄링 어시스턴트를 알고 있으신가요?(Do you know of any other scheduling assistants that we might user?)"와 같은 메시지를 송신할 경우, 이는 해당 사용자의 만족도가 상대적으로 낮다는 것을 나타낼 수 있다.
또한, 사용자가 대부분의 자신의 약속을 자신의 캘린더에 스케줄링하기 위해 시스템(120)을 사용하고 있을 경우, 이는 사용자가 시스템(120)에 대하여 비교적 만족한다는 것을 나타낼 수 있을 것이다. 그러나, 사용자가 사용자의 스케줄에 있는 모든 약속에 비해 적은 수의 약속만을 자신의 캘린더에 스케줄링하기 위해 시스템(120)을 사용하고 있을 경우에는, 이는 사용자가 시스템(120)에 대하여 비교적 불만족한다는 것을 나타낼 수 있다.
또한, 사용자가 시스템(120)을 사용해서 한 가지 카테고리(예를 들면, 업무 미팅)의 특정 비율의 자신의 미팅을 스케줄링하고 있지만, 시스템(120)을 사용해서 다른 카테고리(예를 들면, 개인적인 미팅 또는 전화 통화 등)의 크게 다른 비율의 자신의 미팅을 스케줄링하고 있는 것일 수 있다. 이는 사용자가 시스템(120)을 사용해서 특정 동작 카테고리의 동작을 수행하는 경우에는 비교적 만족하지만, 시스템(120)을 사용해서 하나 이상의 다른 동작 카테고리의 동작을 수행하는 경우에는 비교적 불만족한다는 것을 나타낼 수 있다.
유사하게, 시스템(120)을 사용함에 있어서의 사용자의 사용 경향이 또한 도움이 될 수 있다. 사용자가 시스템(120)을 자주 사용하는 경향이 있으면, 이는 사용자가 시스템(120)에 대하여 비교적 만족한다는 것을 나타내는 긍정적인 경향일 수 있다. 그러나, 사용자가 시스템(120)을 덜 자주 사용하고 있다는 점에서 경향이 부정적이면, 이는 사용자가 시스템(120)에 대하여 충분히 만족하고 있지 않다는 것을 나타낼 수 있다.
또한, 사용자(108)가 다른 방식으로 시스템(120)에 관여하고 있는 것일 수 있다. 예를 들면, 사용자가 하나의 기능 세트를 수행(예를 들면, 미팅을 스케줄링)하기 위해 시스템(120)에 관여하고 있지만, 시스템(120)을 사용해서 수행할 수 있는 어떤 다른 유형의 기능이 있는지를 찾으려고 시도함에 있어서도 시스템(120)에 관여하고 있는 것일 수 있다. 예시로서, 사용자(108)가 시스템(120)을 사용해서 "엔터테인먼트 옵션을 찾을 수 있는지(Find entertainment options)" 내지는 "전화 회의를 스케줄링할 수 있는지(Schedule phone conferences)" 등의 여부도 (예를 들면, 이메일을 작성하여 시스템(120)에 대한 메일함에 송신하는 것에 의해) 시스템(120)에 요청하는 것일 수 있다. 사용자(108)가 시스템(120)을 어떻게 달리 사용할 수 있는지를 찾기 위해 사용자(108)가 시스템(120)에 관여하고 있으면, 이는 사용자(108)가 시스템(120)에 대하여 비교적 만족한다는 것을 나타내는 것일 수 있거나, 또는 부가적인 또는 다른 기능이 시스템(120)에서 가능해지거나 추가되어야 한다는 것을 나타내는 것일 수 있다.
따라서, 사용자의 만족도 수준을 결정함에 있어서 도움이 되는 것이 시스템(120)의 성능 또는 만족도 수준에 대한 직접적인 피드백만은 아니라는 것을 알 수 있다. 대신에, 메시지가 사용자 만족도 수준을 나타내고 있는지의 여부를 결정하기 위해 시스템(120)이 수신하는 모든 메시지의 내용이 분석될 수 있다. 시스템(120)에 의해 수신되지만, 그 관여를 구하고 있지 않은 통신 뿐만 아니라, 그 관여를 직접 구하고 있는 시스템(120)과의 통신이 이와 관련하여 도움이 될 수 있다. 또한, 사용자 만족도를 결정하기 위해 다양한 사용자들로부터의 통신 내용이 사용될 수 있을 뿐만 아니라, 사용자 액션도 사용될 수 있다. 일 실시예에 있어서, 사용자 만족도 신호 분석기 및 제어 시스템(134)은 통신 내용 및 사용자 액션을 나타내는 신호를 캡처하고, 하나 이상의 사용자 만족도 수준을 식별한다. 식별된 사용자 만족도에 기초하여 액션 또는 제어 단계를 취하기 위해 제어 신호를 생성할 수도 있다.
예를 들면, 사용자 관심사 검출 로직(138)은 사용자의 메시지 내용이 사용자가 시스템(120)의 특정 기능 또는 특징 또는 일부분에 대하여 관심이 있음을 나타내는 경우를 검출할 수 있다. 예시로서, 사용자가 "이 ACME 스케줄링 어시스턴트는 사용하기가 너무 복잡해요.(This ACME Scheduling Assistant is very complicated to use.)"라고 입력하는 것일 수 있다. 이는 사용자가 시스템(120)에 의해 제공되는 인터페이스에, 또는 상호적인 프로세스의 다른 부분들에 관심이 있음을 나타낼 수 있다. 감정 분석 로직(140)을 사용해서 사용자의 메시지 내용에서 사용자의 감정을 검출할 수 있다. 예를 들면, 텍스트에서 감정을 분석하는 데 사용될 수 있는 매우 다양한 여러 유형의 감정 분석기가 존재한다. 감정 분석 로직(140)은 예시적으로 사용자의 메시지에서 식별되는 사용자 감정과 시스템(120) 사이의 상관관계를 결정한다. 감정이 시스템(120)에 밀접하게 상관되면, 메시지는 시스템(120)의 성능에 대한 사용자의 감정을 나타낼 수 있다. 사용자 추천 검출 로직(142)은 예시적으로 사용자가 다른 사용자들에게 시스템(120)을 사용하라고 추천하는 경우를 검출한다. 사용자가 다른 사용자들에게 시스템(120)을 사용하지 않게 영향을 주려고 시도하고 있는 경우를 검출할 수도 있다.
캘린더 마이닝 로직(144)은 예시적으로 시스템(120)을 사용하고 있는 다양한 사용자들에 대한 캘린더 데이터 저장소(126) 내의 캘린더 데이터를 마이닝한다. 미팅 분류 로직(152)은 사용자의 캘린더에 있는 상이한 미팅 카테고리들(예를 들면, 대면 미팅, 전화 회의, 비즈니스 점심 미팅, 개인적인 미팅 등)을 식별할 수 있다. 서비스 커버리지 결정 로직(154)은 상이한 카테고리들에서, 사용자가 시스템(120)을 얼마나 자주 사용하고 있지 않은지에 대하여, 사용자(108)가 시스템(120)을 얼마나 자주 사용해서 해당 미팅을 스케줄링했는지를 나타내는 척도를 결정할 수 있다. 경향 식별 로직(156)은 예시적으로 시간의 경과에 따른 사용자(108)(또는 시스템(120)의 다른 사용자들)에 의한 사용 경향을 식별한다.
설문조사 로직(158)은 사용자에게 시스템(120)에 대한 사용자의 만족도 수준에 관한 보다 상세한 질문을 하는 설문조사를 완료하도록 요청하기 위해 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 제어하는 데 사용될 수 있다. 사용자들은 사용자에 대하여 결정된 만족도 수준에 기초하거나, 사용자의 시스템(120) 사용에 기초하거나, 또는 다른 방식으로 설문조사에 참여하도록 식별될 수 있다.
특징 발견 관여 로직(146)은 예시적으로 사용자(108)가 시스템(120)에 의해 제공될 수 있는 부가적인 특징을 식별하려고 하는 방식으로 시스템(120)에 관여하고 있는 통신을 식별한다. 시스템(120)과의 이 관여 카테고리는 사용자 만족도를 나타낼 수 있다.
만족도 수준 검출 로직(145)은 예시적으로, 사용자 관심사 검출 로직(138), 감정 분석 로직(140), 사용자 추천 검출 로직(142), 캘린더 마이닝 로직(144), 설문조사 로직(158), 특징 발견 관여 로직(146), 및 임의의 다른 정보 아이템 중 하나 이상에 의해 검출되는 정보가 주어지면, 사용자(108)에 대한 만족도 수준을 검출한다. 이슈 식별 로직(147)은 동일한 또는 상이한 정보를 사용하여, 사용자가 시스템(120)과의 상호작용 및 사용에 대하여 관심을 가질 수 있는 임의의 특정 이슈를 식별할 수 있다.
이후, 제어 신호 생성기 로직(148)은 정해진 사용자에 대한 만족도 수준에 기초하거나, 정해진 사용자에 대하여 식별되는 이슈에 기초하거나, 또는 다른 아이템들에 기초하여 다양한 제어 신호를 생성할 수 있다. 예를 들면, 공유 프롬프팅 로직(162)은 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 제어해서, 사용자가 다른 사용자들에게 시스템(120)을 추천하도록 촉구 또는 제안하는 사용자(108)와의 통신을 생성할 수 있다. 예를 들면, 사용자가 시스템(120)에 대하여 매우 만족하는 것으로 결정되면, 사용자가 해당 제안 또는 촉구에 따라서 시스템(120)을 다른 사용자들에게 추천할 가능성이 있을 수 있다. 식별된 사용자 만족도 수준 및 특정 사용자에 대하여 식별된 임의의 이슈에 기초하여 매우 다양한 다른 제어 신호가 생성될 수 있다.
도 2는 도 1에 도시된 아키텍처의 동작의 일 실시예를 더욱 상세하게 예시하는 흐름도이다. 이제, 도 1 및 도 2가 서로 연계하여 설명될 것이다.
먼저, 스케줄링 어시스턴스 시스템(120)이 실행되고 있고 사용자(108)에 의한 상호작용에 이용 가능하다고 가정한다. 이는 도 2의 흐름도에서 블록(180)에 의해 지시된다. 전술한 바와 같이, 시스템(120)은 소프트웨어 에이전트, 또는 지능형 디지털 어시스턴트 또는 웹 봇 또는 그 밖의 이러한 컴퓨팅 시스템일 수 있다. 예시적으로 시스템이 제공하는 서비스를 사용하려고 시도하고 있는 사용자 그룹으로부터의 통신을 수신하는 시스템이다. 시스템은, 사용자들이 시스템(120)과 상호작용하려고 직접적으로 시도하고 있지 않더라도, 시스템(120)에게 서비스 제공을 지원하도록 요청했으면, 해당 사용자들로부터 통신을 수신한다.
이후, 자연어 이해 시스템(130)은 예시적으로 스케줄링 어시스턴스 시스템(120)을 사용하려고 요청하는 사용자로부터의 요청 메시지를 검출한다. 이는 블록(182)에 의해 지시된다. 예시로서, 시스템(120)이 블록(184)에 의해 지시된 바와 같이 그 받은메일함에 송신된 이메일 메시지를 검출하는 것일 수 있다. 시스템은 음성 명령(186) 또는 다른 유형의 통신(188)을 검출할 수 있다. 이후, 자연어 이해 시스템(130)은 해당 요청의 언어적 의미를 시스템(120)에 의한 지원 요청으로서 식별한다.
이후, 스케줄링 어시스턴트 워크플로 처리 시스템(130)은 요청에 기초하여 사용자들을 위해 무엇인가를 스케줄링하는 것을 지원하도록 (예를 들면, 사용자 그룹과의 토론에 참여함으로써) 대화를 수행한다. 물론, 시스템(120)이 다른 유형의 어시스턴트, 봇, 컴퓨터 에이전트 등일 경우에는, 다른 유형의 서비스를 제공하는 것을 지원하기 위해 대화를 수행한다. 대화 수행은 도 2의 흐름도에서 블록(190)에 의해 지시된다.
일 실시예에 있어서, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 스케줄링-특정 메시지(또는 사용자들이 시스템(120)과 상호작용하려고 시도하고 있다는 메시지)를 송신 및 수신한다. 이는 블록(192)에 의해 지시된다. 또한, 일 실시예에 있어서, 시스템(120)은 비-스케줄링-특정 메시지(또는 사용자들이 서로 통신하고 있을 수 있지만, 시스템(120)과 상호작용하려고 시도하고 있지 않다는 메시지)를 수신한다. 이는 블록(194)에 의해 지시된다. 다시, 전술한 바와 같이, 이는 사용자들이 서로 통신하고 있지만, 반드시 시스템(120)이 이들 메시지에 작용하거나, 내지는 메시지와 상호작용하도록 의도하는 것은 아니라는 메시지일 수 있다.
이후, 자연어 이해 시스템(130)은 자연어 이해를 수행하여 모든 수신된 메시지(시스템(120)과의 상호작용이 의도된 또는 추구된 메시지만이 아님)의 메시지 내용의 언어적 의미를 취득한다. 메시지 내용의 언어적 의미를 취득하는 것은 블록(196)에 의해 지시된다. 대화는 물론 매우 다양한 다른 방식으로 수행될 수 있고, 이는 블록(198)에 의해 지시된다.
사용자 관심사 검출 로직(138)은 내용의 언어적 의미를 수신하고 모든 수신 메시지에 대하여 언어적 처리를 수행하여 시스템(120)에 대한 임의의 사용자 관심사를 검출한다. 이는 블록(200)에 의해 지시된다. 예를 들면, 특정 단어들(또는 다른 언어 단위)이 관심사의 이슈들에 맵핑하는 규칙 또는 맵핑을 트리거하는 것일 수 있다. 사용자 관심사 검출 로직(138)이 메시지의 내용의 언어적 의미에서 해당 단어를 발견하면, 해당 맵핑 또는 규칙에 액세스하여 사용자에 의해 표현된 관심사를 식별한다. 사용자 관심사는 동적 모델에 의해 또는 다른 방식들로도 식별될 수 있다.
또한, 감정 분석 로직(140)은 수신 메시지의 내용에서 감정 분석을 수행한다. 예를 들면, 수신 메시지의 내용에 기초하여, 선호, 강한 선호, 비-선호, 강한 비-선호, 부정적, 긍정적, 화난, 또는 매우 다양한 다른 감정들과 같은 상이한 감정 카테고리들을 식별할 수 있다. 감정 분석을 수행하여 모든 수신 메시지에서 감정을 검출하는 것은 블록(202)에 의해 지시된다. 사용자 관심사 검출 로직(138) 및 감정 분석 로직(140)은 모두 예시적으로 임의의 검출된 감정 및 사용자 관심사를 나타내는 출력 신호를 제공한다. 일 실시예에 있어서, 이들은 정보를 특정 사용자에 상관시키는 한편, 어시스턴스 시스템(120)의 임의의 특정 동작 카테고리 또는 특징에 상관시킨다. 예시로서, 시스템(120)의 특정한 특징이 매우 유용하다거나, 또는 별로 유용하지 않다는 등을 사용자가 코멘트하는 것일 수 있다. 그 경우, 사용자 관심사 검출 로직(138)은 전술한 바와 같이 사용자가 관심을 갖는 특정한 특징을 식별할 수 있고, 감정 분석 로직(140)은 해당 사용자에 대한 해당 특징과 연관되는 강한 긍정적 또는 강한 부정적(또는 그 밖의) 감정을 식별할 수 있다.
또한, 사용자 추천 검출 로직(142)은 다른 사용자들에 의한 사용을 위해 사용자가 시스템(120)을 추천하고 있다는 임의의 메시지를 검출한다. 또한, 사용자가 시스템(120)을 추천했다는 사실을 나타내는 출력 신호를 생성한다. 다른 무엇보다도, 시스템(120)을 추천받은 사용자의 수와 같은 다른 정보도 제공할 수 있다. 사용자가 다른 사용자에게 서비스(예컨대, 시스템(120))를 추천하는 임의의 메시지를 검출하는 것은 블록(204)에 의해 지시된다.
이후, 캘린더 마이닝 로직(144)은 캘린더 데이터 저장소(126)에서 캘린더 정보를 마이닝하여, 다른 방식의 스케줄링에 비해, 서비스가 사용자에 의해 얼마나 자주 사용되고 있는지를 나타내는 척도를 생성한다. 이는 블록(206)에 의해 지시된다. 일 실시예에 있어서, 시스템(120)은 사용자의 캘린더 데이터에 액세스할 수 있으므로, 스케줄링된 미팅 또는 다른 캘린더 아이템들의 수를 카운트할 수 있다. 또한, 예시적으로 해당 아이템들 중 어느 것이 시스템(120)을 사용해서 사용자(108)에 의해 스케줄링되었는지를 추적한다. 이후, 사용자(108)가 상이한 캘린더 아이템들을 스케줄링하기 위해 시스템(120)을 사용하고 있는 시간이 어느 정도 되는지를 나타내는 척도를 생성할 수 있다.
일 실시예에 있어서, 미팅 분류 로직(152)은 사용자가 스케줄링하고 있는 상이한 카테고리의 미팅과 같이, 상이한 사용 시나리오를 검출한다. 여기에는 업무 미팅, 개인적인 미팅, 전화 통화, 대면 미팅, 원격 미팅 등이 포함될 수 있다. 상이한 사용 시나리오 또는 카테고리를 검출하는 것은 블록(208)에 의해 지시된다.
이후, 서비스 커버리지 결정 로직(154)은 식별된 카테고리들 각각에서 비율 또는 다른 사용 척도를 결정한다. 예를 들면, 사용자(108)가 개인적인 미팅을 스케줄링하기 위해서는 (시스템(120)을 사용하지 않고 스케줄링하는 사용자에 비해) 비교적 많은 시간을, 그리고 업무 미팅을 스케줄링하기 위해서는 비교적 적은 시간을 시스템(120)을 사용하고 있다는 것일 수 있다. 각각의 카테고리 또는 시나리오에서 사용 비율을 결정하는 것은 블록(210)에 의해 지시된다.
경향 식별 로직(156)은 예시적으로, 상이한 카테고리들에서의 사용자(108)의 사용량이 해당 상이한 카테고리들에서 스케줄링된 미팅 또는 캘린더 아이템의 수의 비율로서 증가 또는 감소하고 있는지의 여부를 결정하기 위해, 시간의 경과에 따라, 사용 비율(또는 커버리지 정보)을 집계한다. 이는 블록(212)에 의해 지시된다. 다른 방식으로 스케줄링하는 것에 비해 서비스가 얼마나 자주 사용되고 있는지를 나타내는 척도를 검출 또는 생성하는 것은, 전술한 것들에 더하여 또는 대신하여, 매우 다양한 상이한 방식으로 수행될 수 있다. 이는 블록(214)에 의해 지시된다.
캘린더 마이닝 로직(144)은 예시적으로 검출된 다양한 것들을 나타내는 출력 신호를 생성한다. 예를 들면, 로직(152)에 의해 식별되는 상이한 미팅 카테고리들 또는 시나리오들을 나타내는 신호를 출력할 수 있다. 로직(124)에 의해 결정되는 서비스 커버리지, 및 로직(156)에 의해 식별되는 다양한 경향을 나타내는 신호를 출력할 수 있다. 매우 다양한 다른 정보도 출력할 수 있다.
또한, 특징 발견 관여 로직(146)은 예시적으로 사용자가 부가적인 기능을 발견하기 위해 서비스(120)에 관여하는 경우를 검출한다. 이는 블록(216)에 의해 지시된다. 예를 들면, 이 로직은 사용자(108)가 시스템(120)에 관여하기 위해 사용하는 상이한 카테고리 또는 유형의 관여를 식별할 수 있다. 이러한 유형의 관여는, 예를 들면, 업무 미팅을 스케줄링하는 것을 지원하기 위해 시스템(120)에 관여하는 것을 포함할 수 있다. 또한, 어떤 다른 유형의 서비스 또는 특징을 시스템(120)이 제공할 수 있는지를 문의하기 위한 관여를 포함할 수도 있다. 스케줄링 의도를 갖지 않는 것으로서의 관여(또는 사용자가 시스템(120)을 사용해서 미팅을 스케줄링하려고 시도하지 않는 관여)를 식별하는 것은 블록(218)에 의해 지시된다. 다양한 유형의 관여는 블록(220)에 의해 지시된 바와 같이 상이한 카테고리들로 분류될 수 있다. 이어서, 어떤 다양한 특징들이 시스템(120)에 의해 제공될 수 있는지를 문의하는 특정 관여가 식별될 수 있다. 이는 블록(222)에 의해 지시된다. 관여 횟수(또는 다른 방식으로 측정된 해당 관여의 레벨)는 사용자 만족도를 나타낼 수 있다. 부가적인 기능을 발견하기 위해 서비스에 대한 관여를 검출하는 것도 다른 방식으로 수행될 수 있다. 이는 블록(224)에 의해 지시된다.
또한, 특징 발견 관여 로직(146)은 다양한 상이한 출력 신호들을 생성할 수 있다. 예를 들면, 이 로직은 특정 사용자가 사용하고 있는 상이한 관여 카테고리들을 나타내는 출력 신호를 생성할 수 있다. 이 로직은 사용자가 부가적인 특징을 구하고 있는 관여의 레벨을 나타내는 신호를 출력할 수 있다. 다른 신호들도 출력할 수 있다.
전술한 상이한 로직 부분들 또는 시스템에 의해 출력되는 다양한 신호에 기초하여, 만족도 수준 검출 로직(145)은 예시적으로 스케줄링 어시스턴트 시스템(120)에 대한 사용자 만족도 수준을 결정한다. 이는 도 2의 흐름도에서 블록(226)에 의해 지시된다. 다시, 이는 검출된 관심사, 사용자 감정, 추천, 커버리지의 척도, 비-스케줄링 관여, 및 매우 다양한 다른 아이템에 기초할 수 있다. 이는 블록(228)에 의해 지시된다.
또한, 만족도 수준 검출 로직(145)은 계속해서 부가적인 상세한 정보를 결정할 수 있다. 예를 들면, 이 로직은 시스템(120)의 상이한 카테고리들 또는 특징들 각각에 대하여, 또는 복수의 상이한 방식 각각에서 또는 상이한 시나리오들 하에서 시스템(120)을 사용하는 것으로, 정해진 사용자의 만족도를 나타내는 출력을 생성할 수 있다. 이는 블록(230)에 의해 지시된다. 사용자 만족도는 매우 다양한 다른 방식들로도 결정될 수 있으며, 이는 블록(232)에 의해 지시된다.
이후, 만족도 수준 검출 로직(145)은 예시적으로 결정된 사용자 만족도를 나타내는 하나 이상의 신호를 출력한다. 예를 들면, 이 로직은 시스템(120)에 대한 사용자(108)의 전체 사용자 만족도를 나타내는 신호를 출력할 수 있다. 이 로직은 상이한 특징들에 대응하는 사용자 만족도, 사용자 만족도 전체에서 상이한 특징들 또는 카테고리들 또는 사용 시나리오들에 대응하는 경향을 나타내는 신호를 출력할 수 있다. 또한, 식별된 사용자 만족도 수준에 대하여 얼마나 신뢰하는지를 나타내는 신호를 출력할 수도 있다. 예를 들면, 사용자 만족도 수준이 비교적 많은 양의 데이터에 기초하여 결정되면, 시스템은 더욱 신뢰할 수 있을 것이다. 또한, 메시지의 내용 또는 액션이 덜 모호하면, 결정된 만족도 수준의 신뢰도가 더욱 높아질 수 있음은 물론이다.
만족도 수준 검출 로직(145)에 의해 출력되는 정보, 및 임의의 다른 정보에 기초하여, 제어 신호 생성기 로직(148)은 하나 이상의 제어 신호를 생성한다. 이는 블록(234)에 의해 지시된다. 예를 들면, 로직(148)은 사용자 만족도에 기초하여, 설문조사 로직(158), 또는 사용자 인터페이스 로직(118), 또는 둘 모두를 제어해서 하나 이상의 사용자에 대한 자연어 설문조사를 수행할 수 있다. 이는 블록(236)에 의해 지시된다. 공유 프롬프팅 로직(162)은 사용자 인터페이스 로직(118)을 제어해서 특정 사용자가 다른 사용자들에게 서비스를 추천하도록 제안할 수 있다. 이는 블록(238)에 의해 지시된다. 예를 들면, 이 로직은 사용자 인터페이스 로직(118)을 사용해서 메시지(예를 들면, 이메일 메시지 또는 다른 메시지)를 생성하고, 해당 메시지를 사용자(108)에게 표시해서 사용자(108)가 하나 이상의 다른 사용자에게 시스템(120)의 사용을 추천하도록 제안할 수 있다. 이 로직은 단순히 사용자(108)가 다른 사용자들에게 전달하면 되는 미리 정의된 제안으로서 메시지를 생성할 수 있다. 메시지는 다른 사용자들이 시스템(120)을 스스로, 또는 다른 방식으로 쉽게 구성할 수 있는 링크를 가질 수 있다.
또한, 제어 신호 생성기 로직(148)은 예시적으로 통신 시스템(116)을 제어해서 사용자 만족도 수준이 보증하는 개입 통신을 생성할 수 있다. 예를 들면, 사용자가 매우 불만족하는 경우, 로직(148)은 통신 시스템(116)을 제어해서 불만족한 사용자에게, 또는 불만족한 사용자와 접촉할 수 있는 서포트 담당자에게 통신을 생성할 수 있다. 통신 시스템(116)을 제어해서 사용자, 서포트 담당자 등에게 개입 통신을 생성하는 것은 블록(242)에 의해 지시된다.
또한, 제어 신호 생성기 로직(148)은 예시적으로, 다수의 사용자에 대하여 다양한 로직 아이템들 및 시스템들의 결과를 집계하고, 집계된 결과를 표시하는, 컴퓨팅 시스템의 원격 시스템 또는 다른 부분에 제공되는 제어 신호를 생성할 수도 있다. 이는 블록(244)에 의해 지시된다. 예를 들면, 결과의 집계는 상대적으로 많은 수의 사용자가 시스템(120) 상의 동일한 특징 또는 기능 세트에 대하여 이슈가 있음을 드러낼 수 있다. 또한, 상대적으로 많은 수의 사용자가 시스템(120)으로부터 하나 이상의 부가적인 기능 아이템을 구하고 있음을 나타낼 수 있다. 상대적으로 많은 수의 사용자가 시스템(120)에 대하여 동일한 유형의 이슈 또는 관심사를 갖는다는 것을 나타낼 수 있다. 이것은, 그리고 매우 다양한 다른 정보는, 집계된 만족도 결과로부터 취득될 수 있다.
제어 신호 생성기 로직(148)은 매우 다양한 다른 방식으로도 제어 신호를 생성할 수 있다. 이는 블록(246)에 의해 지시된다.
따라서, 본 논의는 컴퓨팅 시스템 자체를 향상시킨다는 것을 알 수 있다. 컴퓨팅 시스템은 사용 또는 조합될 수 있는 일련의 신호를 캡처해서, 컴퓨팅 시스템의 상이한 특징들 또는 상이한 부분들에 대한 사용자 만족도를 식별하도록 구성된다. 이는 사용자들이 컴퓨팅 시스템에 관여하려고 시도하고 있는 통신으로부터 취득될 수 있을 뿐만 아니라, 사용자들이 해당 시스템에 직접 관여하려고 시도하고 있지 않은 경우에도 취득될 수 있다. 또한, 캡처된 신호에 기초하여 매우 다양한 상이한 유형의 제어 신호들이 생성될 수 있다.
상기 논의는 다양한 상이한 시스템들, 컴포넌트들 및/또는 로직을 설명했다는 점에 유의한다. 이러한 시스템들, 컴포넌트들 및/또는 로직이 이들 시스템, 컴포넌트 및/또는 로직과 연관되는 기능들을 수행하는 하드웨어 아이템들(예를 들면, 프로세서 및 연관 메모리, 또는 그 밖의 처리 컴포넌트, 그 중 일부는 후술됨)로 구성될 수 있음을 이해할 것이다. 또한, 시스템들, 컴포넌트들 및/또는 로직은, 후술되는 바와 같이, 메모리에 로딩되고 나서 프로세서 또는 서버, 또는 다른 컴퓨팅 컴포넌트에 의해 실행되는 소프트웨어로 구성될 수 있다. 또한, 시스템들, 컴포넌트들 및/또는 로직은 하드웨어, 소프트웨어, 펌웨어 등의 상이한 조합들로 구성될 수 있으며, 그 중 일부 실시예는 후술된다. 이들은 전술한 시스템들, 컴포넌트들 및/또는 로직을 형성하는 데 사용될 수 있는 상이한 구조들의 일부 실시예들일 뿐이다. 다른 구조들도 사용될 수 있다.
본 논의는 프로세서 및 서버를 언급했다. 일 실시형태에 있어서, 프로세서 및 서버는 별도로 도시되지 않은 연관 메모리 및 타이밍 회로를 구비한 컴퓨터 프로세서를 포함한다. 이들은 이들이 속하고 그것에 의해 활성화되는 시스템 또는 장치의 기능 부분이며, 이러한 시스템에 있는 다른 컴포넌트 또는 아이템의 기능을 가능하게 한다.
또한, 다수의 사용자 인터페이스 디스플레이가 논의되었다. 이들은 매우 다양한 상이한 형태를 취할 수 있고, 매우 다양한 상이한 사용자 작동식 입력 메커니즘이 거기에 배치될 수 있다. 예를 들면, 사용자 작동식 입력 메커니즘은 텍스트 상자, 체크 박스, 아이콘, 링크, 드롭다운 메뉴, 검색 상자 등일 수 있다. 이들은 매우 다양한 다른 방식으로 작동될 수도 있다. 예를 들면, 이들은 포인트 및 클릭 장치(예를 들면, 트랙 볼 또는 마우스)를 사용해서 작동될 수 있다. 이들은 하드웨어 버튼, 스위치, 조이스틱 또는 키보드, 엄지 스위치(thumb switches) 또는 엄지 패드(thumb pads) 등을 사용해서 작동될 수 있다. 이들은 가상 키보드 또는 다른 가상 액추에이터를 사용해서 작동될 수도 있다. 또한, 이들이 디스플레이되는 스크린이 터치 감응식 스크린일 경우, 이들은 터치 동작을 사용해서 작동될 수 있다. 또한, 이들을 디스플레이하는 장치가 음성 인식 컴포넌트를 가질 경우, 이들은 음성 명령을 사용해서 작동될 수 있다.
다수의 데이터 저장소가 또한 논의되었다. 이들은 각각 다수의 데이터 저장소로 나뉠 수 있다는 점에 유의한다. 모두 이들에 액세스하는 시스템에 대하여 로컬일 수 있거나, 모두 원격일 수 있거나, 또는 일부는 로컬이고 나머지는 원격일 수 있다. 이들 구성 모두가 본 명세서에서 고려된다.
또한, 도면은 기능이 각각의 블록에 할당되어 있는 다수의 블록을 도시한다. 보다 적은 수의 블록이 사용될 수 있으므로 기능은 보다 적은 수의 컴포넌트에 의해 수행된다는 점에 유의한다. 또한, 기능이 더 많은 컴포넌트들 사이에 분산되면 더 많은 블록이 사용될 수 있다.
도 3은, 요소들이 클라우드 컴퓨팅 아키텍처(500)에 배치된다는 점을 제외하면, 도 1에 도시된 아키텍처(100)의 블록도이다. 클라우드 컴퓨팅은 서비스를 제공하는 시스템의 물리적 위치 또는 구성을 최종 사용자가 알 필요가 없는 계산, 소프트웨어, 데이터 액세스, 및 스토리지 서비스를 제공한다. 다양한 실시형태들에 있어서, 클라우드 컴퓨팅은 적절한 프로토콜을 사용해서 인터넷과 같은 와이드 에어리어 네트워크롤 통해 서비스를 제공한다. 예를 들면, 클라우드 컴퓨팅 제공자는 와이드 에어리어 네트워크를 통해 애플리케이션을 제공하고, 웹 브라우저 또는 임의의 다른 컴퓨팅 컴포넌트를 통해 액세스될 수 있다. 아키텍처(100)의 소프트웨어 또는 컴포넌트 뿐만 아니라 상응하는 데이터는 원격 위치에 있는 서버에 저장될 수 있다. 클라우드 컴퓨팅 환경에서의 컴퓨팅 리소스는 원격 데이터 센터 위치에 통합될 수 있거나 또는 이들은 분산될 수 있다. 클라우드 컴퓨팅 인프라는 사용자에게 단일의 액세스 지점처럼 보이더라도 공유 데이터 센터를 통해 서비스를 제공할 수 있다. 따라서, 본 명세서에서 설명되는 컴포넌트 및 기능은 클라우드 컴퓨팅 아키텍처를 사용해서 원격 위치에서 서비스 제공자로부터 제공될 수 있다. 대안으로서, 이들은 종래의 서버로부터 제공될 수 있거나, 또는 클라이언트 장치에 직접 또는 다른 방식으로 인스톨될 수 있다.
본 설명은 공공 클라우드 컴퓨팅 및 개인 클라우드 컴퓨팅을 모두 포함하도록 의도된다. 클라우드 컴퓨팅(공공 및 개인 모두)은 실질적으로 원활한 리소스 풀링을 제공할 뿐만 아니라 기본 하드웨어 인프라를 관리 및 구성할 필요성이 감소된다.
공공 클라우드는 벤더에 의해 관리되고, 일반적으로 동일 인프라를 사용해서 다수의 소비자를 지원한다. 또한, 개인 클라우드와 달리, 공공 클라우드는 최종 사용자들을 하드웨어 관리로부터 해방시킬 수 있다. 개인 클라우드는 계통 자체에 의해 관리될 수 있고, 인프라는 일반적으로 다른 계통들과 공유되지 않는다. 계통은 여전히 설치 및 수리 등과 같은 일부 범위까지는 하드웨어를 유지한다.
도 3에 도시된 실시예에 있어서, 일부 아이템들은 도 1에 도시된 것들과 유사하고, 유사하게 번호가 매겨진다. 도 3은 구체적으로 컴퓨팅 시스템(102)이 클라우드(502)(공공 클라우드, 개인 클라우드, 또는 일부는 공공 클라우드이고 나머지는 개인 클라우드인 조합일 수 있음)에 위치될 수 있음을 도시한다. 따라서, 사용자(108)는 사용자 장치(504)를 사용해서 클라우드(502)를 통해 이러한 시스템에 액세스한다.
또한, 도 3은 클라우드 아키텍처의 다른 실시예를 묘사한다. 도 3은 컴퓨팅 시스템(102)의 일부 요소가 클라우드(502)에 배치될 수 있지만, 다른 요소들은 그렇지 않을 수도 있다는 것이 고려됨을 도시한다. 예시로서, 데이터 저장소(126)는 클라우드(502) 외부에 배치되고, 클라우드(502)를 통해 액세스될 수 있다. 다른 실시예에 있어서, 시스템(134)(또는 다른 아이템)은 클라우드(502) 외부에 있을 수 있다. 이들이 위치되는 장소에 관계없이, 이들은 네트워크(와이드 에어리어 네트워크 또는 로컬 에어리어 네트워크)를 통해 장치(504)에 의해 직접 액세스될 수 있거나, 이들은 서비스에 의해 원격 위치에서 호스팅될 수 있거나, 또는 이들은 클라우드를 통해 서비스로서 제공될 수 있거나 또는 클라우드에 상주하는 연결 서비스에 의해 액세스될 수 있다. 이들 아키텍처가 모두 본 명세서에서 고려된다.
또한, 아키텍처(100), 또는 그 부분들은 매우 다양한 상이한 장치들에 배치될 수 있다는 점에 유의한다. 이들 장치의 일부는 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 또는 팜탑 컴퓨터, 휴대폰, 스마트폰, 멀티미디어 플레이어, 개인용 디지털 어시스턴트 등과 같은 다른 모바일 장치를 포함한다.
도 4는 본 시스템(또는 그 부분들)이 배치될 수 있는 사용자 또는 클라이언트의 핸드헬드 장치(16)로서 사용될 수 있는 핸드헬드 또는 모바일 컴퓨팅 장치의 예시적인 일 실시예의 간략화된 블록도이다. 도 5 및 도 6은 핸드헬드 또는 모바일 장치의 실시예이다.
도 4는 컴포넌트 컴퓨팅 시스템(102) 또는 사용자 장치(504) 또는 시스템(134)을 실행할 수 있거나 또는 아키텍처(100)와 상호작용하거나, 또는 이들 둘 모두가 가능한 클라이언트 장치(16)의 컴포넌트의 일반적인 블록도를 제공한다. 장치(16)에 있어서, 핸드헬드 장치가 다른 컴퓨팅 장치들과 통신할 수 있게 하고, 일부 실시형태 하에서는, 예를 들면 스캐닝에 의해 정보를 자동으로 수신하기 위한 채널을 제공하는 통신 링크(13)가 제공된다. 통신 링크(13)의 실시예들은 적외선 포트, 직렬/USB 포트, 이더넷 포트와 같은 케이블 네트워크 포트, 및 네트워크에 대한 셀룰러 액세스를 제공하는 데 사용되는 무선 서비스인 GPRS(General Packet Radio Service), LTE, HSPA, HSPA+ 및 그 밖의 3G 및 4G 무선 프로토콜, 1Xrtt, 및 단문 메시지 서비스 뿐만 아니라 네트워크에 대한 로컬 무선 연결을 제공하는 Wi-Fi 프로토콜, 및 블루투스 프로토콜을 포함하는 하나 이상의 통신 프로토콜을 통한 통신을 허용하는 무선 네트워크 포트를 포함한다.
다른 실시예들에 있어서, 애플리케이션 또는 시스템은 보안 디지털(SD) 카드 인터페이스(15)에 연결된 착탈식 SD 카드에서 수신된다. SD 카드 인터페이스(15) 및 통신 링크(13)는 메모리(21) 및 입력/출력(I/O) 컴포넌트(23) 뿐만 아니라 클록(25) 및 위치확인 시스템(27)에도 연결된 버스(19)를 따라 프로세서(17)(다른 도면들로부터 프로세서 또는 서버를 구체화할 수도 있음)와 통신한다.
일 실시형태에 있어서, I/O 컴포넌트(23)는 입력 및 출력 동작을 가능하게 하기 위해 제공된다. 장치(16)의 다양한 실시형태들에 대한 I/O 컴포넌트(23)는 버튼, 터치 센서, 멀티-터치 센서, 광학 또는 비디오 센서, 음성 센서, 터치 스크린, 근접도 센서, 마이크로폰, 기울기 센서, 및 중력 스위치와 같은 입력 컴포넌트, 및 디스플레이 장치, 스피커, 및/또는 프린터 포트와 같은 출력 컴포넌트를 포함할 수 있다. 다른 I/O 컴포넌트(23)도 사용될 수 있다.
클록(25)은 예시적으로 시간과 날짜를 출력하는 실시간 클록 컴포넌트를 포함한다. 또한, 예시적으로 프로세서(17)에 타이밍 기능을 제공할 수도 있다.
위치확인 시스템(27)은 예시적으로 장치(16)의 현재 지리적 위치를 출력하는 컴포넌트를 포함한다. 이는, 예를 들면, GPS(global positioning system) 수신기, LORAN 시스템, 추측 항법 시스템, 셀룰러 삼각측량 시스템, 또는 다른 포지셔닝 시스템을 포함할 수 있다. 예를 들어, 원하는 맵, 내비게이션 경로 및 다른 지리적 기능을 생성하는 맵핑 소프트웨어 또는 내비게이션 소프트웨어를 포함할 수도 있다.
메모리(21)는 운영 체제(29), 네트워크 설정(31), 애플리케이션(33), 애플리케이션 구성 설정(35), 데이터 저장소(37), 통신 드라이버(39), 및 통신 구성 설정(41)을 저장한다. 메모리(21)는 모든 타입의 유형(tangible)의 휘발성 및 비-휘발성 컴퓨터-판독 가능 메모리 장치를 포함할 수 있다. 컴퓨터 스토리지 매체(후술됨)를 포함할 수도 있다. 메모리(21)는, 프로세서(17)에 의한 실행시에, 프로세서로 하여금 명령어에 따라 컴퓨터-구현 단계 또는 기능을 수행하게 하는 컴퓨터 판독 가능 명령어를 저장한다. 유사하게, 장치(16)는 다양한 애플리케이션을 실행할 수 있거나 아키텍처(100)의 일부 또는 전부를 구체화할 수 있는 클라이언트 시스템(24)을 가질 수 있다. 프로세서(17)는 그 기능을 가능하게 하기 위해 다른 컴포넌트들에 의해서도 활성화될 수 있다.
네트워크 설정(31)의 실시예들은 프록시 정보, 인터넷 연결 정보, 및 맵핑과 같은 것들을 포함한다. 애플리케이션 구성 설정(35)은 애플리케이션을 특정 기업 또는 사용자에게 맞게 조정하는 설정을 포함한다. 통신 구성 설정(41)은 다른 컴퓨터들과의 통신을 위한 파라미터를 제공하고, GPRS 파라미터, SMS 파라미터, 연결 사용자 이름 및 패스워드와 같은 아이템을 포함한다.
애플리케이션(33)은 사전에 장치(16)에 저장된 애플리케이션 또는 사용하는 동안 인스톨되는 애플리케이션일 수 있지만, 이들은 운영 체제(29)의 일부분일 수 있거나, 또는 장치(16) 외부에서 호스팅될 수도 있다.
도 5는 장치(16)가 태블릿 컴퓨터(600)인 일 실시예를 도시한다. 도 5에서, 컴퓨터(600)는 사용자 인터페이스 디스플레이 스크린(602)과 함께 도시된다. 스크린(602)은 터치 스크린(따라서, 사용자의 손가락으로부터의 터치 제스처가 애플리케이션과 상호작용하는 데 사용될 수 있음)일 수 있거나, 또는 펜 또는 스타일러스로부터의 입력을 수신하는 펜-가능 인터페이스일 수 있다. 온-스크린(on-screen) 가상 키보드를 사용할 수도 있다. 물론, 예를 들면, 무선 링크 또는 USB 포트와 같은 적절한 부착 메커니즘을 통해 키보드 또는 다른 사용자 입력 장치에 부착될 수도 있다. 또한, 컴퓨터(600)는 예시적으로 음성 입력도 수신할 수 있다.
도 6은 장치가 스마트폰(71)일 수 있음을 도시한다. 스마트폰(71)은 아이콘 또는 타일 또는 다른 사용자 입력 메커니즘(75)을 디스플레이하는 터치 감응식 디스플레이(73)를 갖는다. 메커니즘(75)은 애플리케이션을 실행하거나, 전화를 걸거나, 데이터 전송 동작을 수행하는 등을 위해 사용자에 의해 사용될 수 있다. 일반적으로, 스마트폰(71)은 모바일 운영 체제를 기반으로 하고 피처폰보다 더 진보된 컴퓨팅 능력 및 연결성을 제공한다.
다른 형태의 장치(16)가 가능하다는 점에 유의한다.
도 7은 아키텍처(100), 또는 그 일부분이 (예를 들어) 배치될 수 있는 컴퓨팅 환경의 일 실시예이다. 도 7을 참조하면, 일부 실시형태를 구현하기 위한 예시적인 시스템은 컴퓨터(810) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(810)의 컴포넌트들은, 처리 유닛(820)(이전의 도면들로부터 프로세서 또는 서버를 포함할 수 있음), 시스템 메모리(830), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리 유닛(820)에 결합하는 시스템 버스(821)를 포함할 수 있지만, 이들에 한정되는 것은 아니다. 시스템 버스(821)는 다양한 버스 아키텍처들 중 어느 하나를 사용해서 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함하는 몇 가지 타입의 버스 구조들 중 어느 하나일 수 있다. 제한이 아닌 예시로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스라고도 알려져 있는 PCI(Peripheral Component Interconnect) 버스를 포함한다. 도 1과 관련하여 설명되는 메모리 및 프로그램은 도 7의 상응하는 부분들에 배치될 수 있다.
컴퓨터(810)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(810)에 의해 액세스될 수 있는 임의의 가용 매체일 수 있으며, 휘발성 및 비휘발성 매체와, 착탈식 및 고정식 매체를 모두 포함한다. 제한이 아닌 예시로서, 컴퓨터 판독 가능 매체는 컴퓨터 스토리지 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 스토리지 매체는 변조 데이터 신호 또는 반송파와 다르며, 이를 포함하지 않는다. 컴퓨터 스토리지 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의, 착탈식 및 고정식 매체를 모두 포함하는 하드웨어 스토리지 매체를 포함한다. 컴퓨터 스토리지 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 원하는 정보를 저장하는 데 사용될 수 있으며 컴퓨터(810)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들에 한정되는 것은 아니다. 통신 매체는 일반적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 데이터를 전송 메커니즘으로 구체화하고 임의의 정보 전달 매체를 포함한다. 용어 "변조 데이터 신호(modulated data signal)"는 신호 내의 정보를 인코딩하는 바와 같은 방식으로 설정 또는 변경되는 하나 이상의 특성을 갖는 신호를 의미한다. 제한이 아닌 예시로서, 통신 매체는 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들의 임의의 조합들도 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(830)는 리드 온리 메모리(ROM)(831) 및 랜덤 액세스 메모리(RAM)(832)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 스토리지 매체를 포함한다. 예를 들면, 시동하는 동안, 컴퓨터(810) 내부의 요소들 사이에서 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(833)(BIOS)은 ROM(831)에 저장되는 것이 일반적이다. RAM(832)은 일반적으로 처리 유닛(820)에 의해 즉시 액세스 가능하거나 및/또는 현재 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아닌 예시로서, 도 7은 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)를 예시한다.
또한, 컴퓨터(810)는 다른 착탈식/고정식의 휘발성/비휘발성 컴퓨터 스토리지 매체를 포함할 수 있다. 단지 예시로서, 도 7은 고정식의 비휘발성 자기 매체에 대하여 판독 또는 기입하는 하드 디스크 드라이브(841), 및 CD ROM 또는 기타 광학 매체와 같은 착탈식의 비휘발성 광학 디스크(856)에 대하여 판독 또는 기입하는 광학 디스크 드라이브(855)를 예시한다. 예시적인 동작 환경에서 사용될 수 있는 다른 착탈식/고정식의 휘발성/비휘발성 컴퓨터 스토리지 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다기능 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하지만, 이들에 한정되는 것은 아니다. 하드 디스크 드라이브(841)는 일반적으로 인터페이스(840)와 같은 고정식 메모리 인터페이스를 통해 시스템 버스(821)에 연결되고, 광학 디스크 드라이브(855)는 일반적으로 인터페이스(850)와 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(821)에 연결된다.
대안으로서, 또는 부가적으로, 본 명세서에서 설명되는 기능은 적어도 부분적으로 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 제한이 아닌 예시로서, 사용될 수 있는 예시적인 타입의 하드웨어 로직 컴포넌트는 FPGA(Field-programmable Gate Arrays), ASIC(Program-specific Integrated Circuits), ASSP(Program-specific Standard Products), SOC(System-on-a-chip systems), CPLD(Complex Programmable Logic Devices) 등을 포함한다.
상기에서 논의되고 도 7에 예시된 드라이브 및 그 연관 컴퓨터 스토리지 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 그 밖의 데이터의 스토리지를 컴퓨터(810)에 제공한다. 도 7에서, 예를 들어, 하드 디스크 드라이브(841)는 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)를 저장하는 것으로 예시된다. 이들 컴포넌트는 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)와 동일하거나 또는 다를 수 있다는 점에 유의한다. 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)는, 최소한, 이들이 서로 다른 카피임을 설명하기 위해 여기서는 서로 다른 번호가 주어진다.
사용자는 키보드(862), 마이크로폰(863), 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치(861)와 같은 입력 장치를 통해 명령 및 정보를 컴퓨터(810)에 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는, 흔히 시스템 버스에 결합되는 사용자 입력 인터페이스(860)를 통해 처리 유닛(820)에 연결되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 연결될 수 있다. 또한, 시각적 디스플레이(891) 또는 다른 타입의 디스플레이 장치가 비디오 인터페이스(890)와 같은 인터페이스를 통해 시스템 버스(821)에 연결된다. 모니터 이외에도, 컴퓨터는 출력 주변 장치 인터페이스(895)를 통해 연결될 수 있는 스피커(897) 및 프린터(896)와 같은 다른 주변 출력 장치를 또한 포함할 수 있다.
컴퓨터(810)는 원격 컴퓨터(880)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 연결을 사용하여 네트워크화된 환경에서 동작된다. 원격 컴퓨터(880)는 개인용 컴퓨터, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 디바이스 또는 그 밖의 공통 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(810)에 대하여 위에서 설명한 많은 또는 모든 요소들을 포함할 수 있다. 도 7에 묘사된 논리적 연결은 LAN(871) 및 WAN(873)을 포함하지만, 다른 네트워크들을 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 일반적이다.
LAN 네트워킹 환경에서 사용될 경우, 컴퓨터(810)는 네트워크 인터페이스 또는 어댑터(870)를 통해 LAN(871)에 연결된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(810)는 일반적으로 인터넷과 같은 WAN(873)을 통해 통신을 확립하기 위한 모뎀(872) 또는 다른 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(872)은 사용자 입력 인터페이스(860), 또는 다른 적절한 메커니즘을 통해 시스템 버스(821)에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(810) 또는 그 일부에 관하여 묘사된 프로그램 모듈은 원격 메모리 스토리지 디바이스에 저장될 수 있다. 제한이 아닌 예시로서, 도 7은 원격 애플리케이션 프로그램(885)을 원격 컴퓨터(880)에 상주하는 것으로 예시한다. 도시된 네트워크 연결은 예시이며, 컴퓨터들 사이에 통신 링크를 확립하는 다른 수단들이 사용될 수 있음을 이해할 것이다.
또한, 본 명세서에서 설명되는 상이한 실시형태들은 상이한 방식들로 결합될 수 있다는 점에 유의해야 한다. 즉, 하나 이상의 실시형태의 일부는 하나 이상의 다른 실시형태의 일부와 결합될 수 있다. 본 명세서에서는 이 모두가 고려된다.
실시예 1은 컴퓨팅 시스템으로서,
사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템;
어시스턴스 시스템과의 상호작용을 위한 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타내는 자연어 요청 메시지를 메시징 시스템으로부터 수신하고, 자연어 요청 메시지에 응답하여 메시징 시스템을 사용해서 사용자와의 대화를 수행하여 서비스를 렌더링하는 어시스턴스 컴퓨팅 시스템;
사용자 그룹 내의 복수의 상이한 사용자들로부터, 자연어 요청 메시지 및 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하고, 해당 다른 자연어 메시지들, 자연어 요청 메시지 및 대화에서의 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 분석기 시스템; 및
만족도 표시에 기초하여 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 제어 신호 생성기 로직을 포함한다.
실시예 2는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 제어 신호 생성기 로직은 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 요청 사용자에게 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하라고 촉구하도록 구성된다.
실시예 3은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:
어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하고 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하도록 구성되는 특징 발견 관여 로직; 및
특징 발견 관여 지표에 기초하여 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함한다.
실시예 4는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 분석기 시스템은:
요청 사용자에 대응하는 캘린더 정보에 액세스해서 요청 사용자에 의한 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하도록 구성되는 캘린더 마이닝 로직; 및
사용 레벨에 기초하여 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함한다.
실시예 5는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:
캘린더 정보에 액세스하고, 사용자가 커버리지 지표를 취득하기 위해 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별하도록 구성되는 서비스 커버리지 결정 로직을 포함하고, 만족도 수준 검출 로직은 커버리지 지표에 기초하여 만족도 표시를 생성한다.
실시예 6은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:
캘린더 정보에 액세스하고, 요청 사용자가 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하도록 구성되는 미팅 분류 로직을 포함한다.
실시예 7은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 서비스 커버리지 결정 로직은 스케줄링 아이템들의 각각의 카테고리에 대응하는 커버리지 지표를 취득하도록 구성된다.
실시예 8은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:
사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을 식별하도록 구성되는 경향 식별 로직을 포함한다.
실시예 9는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:
요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하여 추천 검출 지표를 생성하도록 구성되는 사용자 추천 검출 로직을 포함하고, 만족도 수준 검출 로직은 추천 검출 지표에 기초하여 만족도 표시를 생성하도록 구성된다.
실시예 10은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:
메시지들의 내용에서 요청 사용자의 감정을 식별하고 식별된 감정과 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하도록 구성되는 감정 분석 로직을 포함하고, 만족도 수준 검출 로직은 식별된 감정 및 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 만족도 표시를 생성한다.
실시예 11은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 감정 분석 로직은 메시지들의 내용에서 요청 사용자의 감정을 식별하고 식별된 감정과 어시스턴스 컴퓨팅 시스템의 개별 특징 사이의 상관관계를 식별하도록 구성되고, 만족도 수준 검출 로직은 식별된 감정 및 어시스턴스 컴퓨팅 시스템의 개별 특징에 대한 상관관계에 기초하여 만족도 표시를 생성한다.
실시예 12는 컴퓨터 구현 방법으로서,
어시스턴스 컴퓨팅 시스템에서, 사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템으로부터 자연어 요청 메시지를 수신― 자연어 요청 메시지는 어시스턴스 시스템과의 상호작용을 위한 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타냄 ―하는 단계;
자연어 요청 메시지에 응답하여 사용자와 대화를 수행해서 서비스를 렌더링하도록 메시징 시스템을 제어하는 단계;
사용자 그룹 내의 복수의 상이한 사용자들로부터, 자연어 요청 메시지 및 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하는 단계;
다른 자연어 메시지들, 자연어 요청 메시지 및 대화에서의 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 단계; 및
만족도 표시에 기초하여 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 단계를 포함한다.
실시예 13은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 제어 신호를 생성하는 단계는:
메시징 시스템을 제어하기 위한 제어 신호를 생성해서 요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하도록 촉구하는 단계를 포함한다.
실시예 14는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:
어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하는 단계;
특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하는 단계; 및
특징 발견 관여 지표에 기초하여 만족도 표시를 생성하는 단계를 포함한다.
실시예 15는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 만족도 표시를 생성하는 단계는:
요청 사용자에 대응하는 캘린더 정보에 액세스하는 단계;
요청 사용자에 의한 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하는 단계; 및
사용 레벨에 기초하여 만족도 표시를 생성하는 단계를 포함한다.
실시예 16은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 사용 레벨을 식별하는 단계는:
사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별함으로써, 캘린더 정보로부터, 사용의 레벨을 식별하는 단계; 및
사용의 레벨에 기초하여 커버리지 지표를 식별하는 단계를 포함한다.
실시예 17은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 사용 레벨을 식별하는 단계는:
캘린더 정보로부터, 요청 사용자가 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하는 단계; 및
스케줄링 아이템들의 각각의 카테고리에 대응하는 커버리지 지표를 식별하는 단계를 포함한다.
실시예 18은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서,
사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을, 스케줄링 아이템들의 카테고리들 각각에서, 스케줄링 아이템들의 카테고리들 각각에 대응하는 일련의 커버리지 지표에 기초하여 식별하는 단계를 더 포함한다.
실시예 19는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:
요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하는 단계;
추천 검출 지표를 생성하는 단계; 및
추천 검출 지표에 기초하여 만족도 표시를 생성하는 단계를 포함한다.
실시예 20은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:
메시지들의 내용에서 요청 사용자의 감정을 식별하는 단계;
식별된 감정과 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하는 단계; 및
식별된 감정 및 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 만족도 표시를 생성하는 단계를 포함한다.
실시예 21은 컴퓨팅 시스템으로서,
상호작용 요청을 나타내는 자연어 요청 메시지를 수신하고 자연어 상호작용 요청에 기초하여 서비스를 제공하는 소프트웨어 에이전트;
사용자로부터 소프트웨어 에이전트에 송신된 일련의 메시지를 갖는 대화를 수행― 일련의 메시지 중 적어도 하나의 메시지는 자연어 요청 메시지를 포함함 ―하는 메시징 시스템;
일련의 메시지 중 자연어 요청 메시지 및 다른 메시지들의 내용을 분석하고 일련의 메시지 중 자연어 요청 메시지 및 다른 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 신호 분석기; 및
만족도 표시에 기초하여 메시징 시스템을 제어하는 제어 신호 생성기 로직을 포함한다.
청구 대상을 구조적인 특징들 및/또는 방법론적 동작들에 특정되는 언어로 설명했지만, 청구범위에서 규정되는 청구 대상이 반드시 전술한 특정한 특징들 또는 동작들에 한정되는 것은 아니라는 점을 이해해야 한다. 오히려, 전술한 특정한 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태로서 개시된다.

Claims (15)

  1. 컴퓨팅 시스템으로서,
    사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템;
    어시스턴스 컴퓨팅 시스템과의 상호작용을 위한 상기 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타내는 자연어 요청 메시지를 상기 메시징 시스템으로부터 수신하고, 상기 자연어 요청 메시지에 응답하여 상기 메시징 시스템을 사용해서 사용자와의 대화를 수행하여 서비스를 렌더링하는 상기 어시스턴스 컴퓨팅 시스템;
    상기 사용자 그룹 내의 복수의 상이한 사용자들로부터, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하고, 상기 다른 자연어 메시지들, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 분석기 시스템; 및
    상기 만족도 표시에 기초하여 상기 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 제어 신호 생성기 로직을 포함하는
    컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 제어 신호 생성기 로직은 상기 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 상기 요청 사용자에게 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하라고 촉구하도록 구성되는
    컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 분석기 시스템은:
    상기 어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하고 상기 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하도록 구성되는 특징 발견 관여 로직; 및
    상기 특징 발견 관여 지표에 기초하여 상기 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함하는
    컴퓨팅 시스템.
  4. 제1항에 있어서,
    상기 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 상기 분석기 시스템은:
    상기 요청 사용자에 대응하는 캘린더 정보에 액세스해서 상기 요청 사용자에 의한 상기 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하도록 구성되는 캘린더 마이닝 로직; 및
    상기 사용 레벨에 기초하여 상기 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함하는
    컴퓨팅 시스템.
  5. 제4항에 있어서,
    상기 캘린더 마이닝 로직은:
    상기 캘린더 정보에 액세스하고, 사용자가 커버리지 지표를 취득하기 위해 상기 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 상기 요청 사용자가 스케줄링 동작을 수행함에 있어서 상기 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별하도록 구성되는 서비스 커버리지 결정 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 커버리지 지표에 기초하여 상기 만족도 표시를 생성하는
    컴퓨팅 시스템.
  6. 제5항에 있어서,
    상기 캘린더 마이닝 로직은:
    상기 캘린더 정보에 액세스하고, 상기 요청 사용자가 상기 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하도록 구성되는 미팅 분류 로직을 포함하는
    컴퓨팅 시스템.
  7. 제6항에 있어서,
    상기 서비스 커버리지 결정 로직은 스케줄링 아이템들의 각각의 카테고리에 대응하는 상기 커버리지 지표를 취득하도록 구성되는
    컴퓨팅 시스템.
  8. 제5항에 있어서,
    상기 캘린더 마이닝 로직은:
    사용자가 상기 스케줄링 어시스턴트를 사용하지 않고 상기 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 상기 요청 사용자가 상기 스케줄링 동작을 수행함에 있어서 상기 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을 식별하도록 구성되는 경향 식별 로직을 포함하는
    컴퓨팅 시스템.
  9. 제3항에 있어서,
    상기 분석기 시스템은:
    상기 요청 사용자가 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하여 추천 검출 지표를 생성하도록 구성되는 사용자 추천 검출 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 추천 검출 지표에 기초하여 상기 만족도 표시를 생성하도록 구성되는
    컴퓨팅 시스템.
  10. 제3항에 있어서,
    상기 분석기 시스템은:
    상기 메시지들의 내용에서 상기 요청 사용자의 감정을 식별하고 상기 식별된 감정과 상기 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하도록 구성되는 감정 분석 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 식별된 감정 및 상기 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 상기 만족도 표시를 생성하는
    컴퓨팅 시스템.
  11. 제10항에 있어서,
    상기 감정 분석 로직은 상기 메시지들의 내용에서 상기 요청 사용자의 감정을 식별하고 상기 식별된 감정과 상기 어시스턴스 컴퓨팅 시스템의 개별 특징 사이의 상관관계를 식별하도록 구성되고, 상기 만족도 수준 검출 로직은 상기 식별된 감정 및 상기 어시스턴스 컴퓨팅 시스템의 개별 특징에 대한 상관관계에 기초하여 상기 만족도 표시를 생성하는
    컴퓨팅 시스템.
  12. 컴퓨터 구현 방법으로서,
    어시스턴스 컴퓨팅 시스템에서, 사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템으로부터 자연어 요청 메시지를 수신― 상기 자연어 요청 메시지는 상기 어시스턴스 컴퓨팅 시스템과의 상호작용을 위한 상기 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타냄 ―하는 단계;
    상기 자연어 요청 메시지에 응답하여 사용자와 대화를 수행해서 서비스를 렌더링하도록 상기 메시징 시스템을 제어하는 단계;
    상기 사용자 그룹 내의 복수의 상이한 사용자들로부터, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하는 단계;
    상기 다른 자연어 메시지들, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 단계; 및
    상기 만족도 표시에 기초하여 상기 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 단계를 포함하는
    컴퓨터 구현 방법.
  13. 제12항에 있어서,
    상기 제어 신호를 생성하는 단계는:
    상기 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 상기 요청 사용자가 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하도록 촉구하는 단계를 포함하는
    컴퓨터 구현 방법.
  14. 제12항에 있어서,
    상기 만족도 표시를 생성하는 단계는:
    상기 어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하는 단계;
    상기 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하는 단계; 및
    상기 특징 발견 관여 지표에 기초하여 상기 만족도 표시를 생성하는 단계를 포함하는
    컴퓨터 구현 방법.
  15. 컴퓨팅 시스템으로서,
    상호작용 요청을 나타내는 자연어 요청 메시지를 수신하고 상기 자연어 상호작용 요청에 기초하여 서비스를 제공하는 소프트웨어 에이전트;
    사용자로부터 상기 소프트웨어 에이전트에 송신된 일련의 메시지를 갖는 대화를 수행― 상기 일련의 메시지 중 적어도 하나의 메시지는 상기 자연어 요청 메시지를 포함함 ―하는 메시징 시스템;
    상기 일련의 메시지 중 상기 자연어 요청 메시지 및 다른 메시지들의 내용을 분석하고 상기 일련의 메시지 중 상기 자연어 요청 메시지 및 다른 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 신호 분석기; 및
    상기 만족도 표시에 기초하여 상기 메시징 시스템을 제어하는 제어 신호 생성기 로직을 포함하는
    컴퓨팅 시스템.
KR1020207008572A 2017-09-25 2018-06-25 대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법 KR102683169B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/714,077 2017-09-25
US15/714,077 US10394957B2 (en) 2017-09-25 2017-09-25 Signal analysis in a conversational scheduling assistant computing system
PCT/US2018/039205 WO2019060002A1 (en) 2017-09-25 2018-06-25 NATURAL LANGUAGE PROCESSING AND ANALYSIS IN A CONVERSATIONAL PLANNING ASSISTANT COMPUTER SYSTEM

Publications (2)

Publication Number Publication Date
KR20200060386A true KR20200060386A (ko) 2020-05-29
KR102683169B1 KR102683169B1 (ko) 2024-07-08

Family

ID=63015024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207008572A KR102683169B1 (ko) 2017-09-25 2018-06-25 대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법

Country Status (17)

Country Link
US (3) US10394957B2 (ko)
EP (1) EP3688942B1 (ko)
JP (1) JP7167131B2 (ko)
KR (1) KR102683169B1 (ko)
CN (1) CN111133724B (ko)
AU (1) AU2018336944B9 (ko)
BR (1) BR112020002532A2 (ko)
CA (1) CA3072881A1 (ko)
CL (1) CL2020000718A1 (ko)
CO (1) CO2020003362A2 (ko)
IL (1) IL272742B2 (ko)
MX (1) MX2020003085A (ko)
PH (1) PH12020550131A1 (ko)
RU (1) RU2770184C2 (ko)
SG (1) SG11202002229YA (ko)
WO (1) WO2019060002A1 (ko)
ZA (1) ZA202001263B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388926B (zh) * 2018-03-15 2019-07-30 百度在线网络技术(北京)有限公司 语音交互满意度的确定方法及设备
US11790176B2 (en) * 2019-03-19 2023-10-17 Servicenow, Inc. Systems and methods for a virtual agent in a cloud computing environment
US20210392230A1 (en) * 2020-06-11 2021-12-16 Avaya Management L.P. System and method for indicating and measuring responses in a multi-channel contact center
CN111754011A (zh) * 2020-06-22 2020-10-09 北京百度网讯科技有限公司 计算机实现的会议预约方法、装置、设备以及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035983A (ko) * 2011-09-30 2013-04-09 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
KR20150113127A (ko) * 2013-03-15 2015-10-07 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US9336268B1 (en) * 2015-04-08 2016-05-10 Pearson Education, Inc. Relativistic sentiment analyzer

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8577884B2 (en) * 2008-05-13 2013-11-05 The Boeing Company Automated analysis and summarization of comments in survey response data
WO2009152154A1 (en) * 2008-06-09 2009-12-17 J.D. Power And Associates Automatic sentiment analysis of surveys
US20100082516A1 (en) * 2008-09-29 2010-04-01 Microsoft Corporation Modifying a System in Response to Indications of User Frustration
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
CN102298587B (zh) * 2010-06-24 2015-12-16 深圳市腾讯计算机系统有限公司 满意度调查方法及系统
US9015033B2 (en) 2010-10-26 2015-04-21 At&T Intellectual Property I, L.P. Method and apparatus for detecting a sentiment of short messages
US20130159228A1 (en) * 2011-12-16 2013-06-20 Microsoft Corporation Dynamic user experience adaptation and services provisioning
US8892419B2 (en) 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US20130325561A1 (en) * 2012-05-30 2013-12-05 Poptent, Inc. Methods and systems for rating creative producers
US9172747B2 (en) 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US10572476B2 (en) * 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
AU2014227586C1 (en) * 2013-03-15 2020-01-30 Apple Inc. User training by intelligent digital assistant
EP2821943A1 (en) * 2013-07-03 2015-01-07 Accenture Global Services Limited Query response device
US10311095B2 (en) * 2014-01-17 2019-06-04 Renée BUNNELL Method and system for qualitatively and quantitatively analyzing experiences for recommendation profiles
US10013890B2 (en) * 2014-12-11 2018-07-03 International Business Machines Corporation Determining relevant feedback based on alignment of feedback with performance objectives
US10509829B2 (en) * 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US10621218B2 (en) * 2015-03-30 2020-04-14 Avaya Inc. Systems and methods for compiling and dynamically updating a collection of frequently asked questions
US10446142B2 (en) * 2015-05-20 2019-10-15 Microsoft Technology Licensing, Llc Crafting feedback dialogue with a digital assistant
CN104965552B (zh) * 2015-07-03 2017-03-08 北京科技大学 一种基于情感机器人的智能家居环境协同控制方法及系统
US10686738B2 (en) 2015-07-24 2020-06-16 Facebook, Inc. Providing personal assistant service via messaging
CN106202159A (zh) * 2016-06-23 2016-12-07 深圳追科技有限公司 一种客服系统的人机交互方法
CN106372132A (zh) * 2016-08-25 2017-02-01 北京百度网讯科技有限公司 基于人工智能的查询意图预测方法和装置
US20180139158A1 (en) * 2016-11-11 2018-05-17 John Eagleton System and method for multipurpose and multiformat instant messaging
CN106557576B (zh) * 2016-11-24 2020-02-04 百度在线网络技术(北京)有限公司 基于人工智能的提示信息推荐方法以及装置
US11196826B2 (en) * 2016-12-23 2021-12-07 DISH Technologies L.L.C. Communications channels in media systems
US10932004B2 (en) * 2017-01-24 2021-02-23 Adobe Inc. Recommending content based on group collaboration
US20180253659A1 (en) * 2017-03-02 2018-09-06 Bank Of America Corporation Data Processing System with Machine Learning Engine to Provide Automated Message Management Functions
US11314798B2 (en) * 2017-07-19 2022-04-26 Allstate Insurance Company Processing system having machine learning engine for providing customized user functions
US10854191B1 (en) * 2017-09-20 2020-12-01 Amazon Technologies, Inc. Machine learning models for data driven dialog management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035983A (ko) * 2011-09-30 2013-04-09 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
KR20150113127A (ko) * 2013-03-15 2015-10-07 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US9336268B1 (en) * 2015-04-08 2016-05-10 Pearson Education, Inc. Relativistic sentiment analyzer

Also Published As

Publication number Publication date
JP7167131B2 (ja) 2022-11-08
US20190340244A1 (en) 2019-11-07
CN111133724A (zh) 2020-05-08
JP2020535497A (ja) 2020-12-03
US20190095424A1 (en) 2019-03-28
US11663416B2 (en) 2023-05-30
BR112020002532A2 (pt) 2020-08-04
AU2018336944B2 (en) 2022-07-28
AU2018336944A1 (en) 2020-02-20
US10891439B2 (en) 2021-01-12
CL2020000718A1 (es) 2020-09-11
PH12020550131A1 (en) 2021-02-08
ZA202001263B (en) 2021-05-26
CA3072881A1 (en) 2019-03-28
KR102683169B1 (ko) 2024-07-08
US10394957B2 (en) 2019-08-27
MX2020003085A (es) 2020-07-28
RU2770184C2 (ru) 2022-04-14
EP3688942B1 (en) 2023-03-08
US20210089721A1 (en) 2021-03-25
CN111133724B (zh) 2022-10-14
IL272742B2 (en) 2023-09-01
WO2019060002A1 (en) 2019-03-28
RU2020114357A3 (ko) 2021-10-27
IL272742A (en) 2020-04-30
EP3688942A1 (en) 2020-08-05
AU2018336944B9 (en) 2022-08-11
SG11202002229YA (en) 2020-04-29
IL272742B1 (en) 2023-05-01
CO2020003362A2 (es) 2020-04-13
RU2020114357A (ru) 2021-10-27

Similar Documents

Publication Publication Date Title
US9253134B2 (en) Creating real-time conversations
US11663416B2 (en) Signal analysis in a conversational scheduling assistant computing system
US20180293532A1 (en) Calendar control based on free/busy change detection
US10430412B2 (en) Retrieval of enterprise content that has been presented
CN113906432A (zh) 使用知识模型对聊天机器人中的自然理解系统的上下文反馈
US11055647B2 (en) Resource conflict detection and communication
US20160026944A1 (en) Identifying new display elements in a unified thread
US20160026943A1 (en) Unified threaded rendering of activities in a computer system
US11907512B2 (en) Electronic mail control system integrating timeslot functionality
US10922661B2 (en) Controlling a computing system to generate a pre-accept cache for calendar sharing
US9373148B2 (en) Connect social networking users who simultaneously check-in at a geolocation
WO2021076335A1 (en) Contextual meeting participant suggestion platform
US10909138B2 (en) Transforming data to share across applications
KR20220148981A (ko) 대화형 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant