KR20220148981A - A natural language processing and analyzing method in interactive computing system - Google Patents

A natural language processing and analyzing method in interactive computing system Download PDF

Info

Publication number
KR20220148981A
KR20220148981A KR1020210055800A KR20210055800A KR20220148981A KR 20220148981 A KR20220148981 A KR 20220148981A KR 1020210055800 A KR1020210055800 A KR 1020210055800A KR 20210055800 A KR20210055800 A KR 20210055800A KR 20220148981 A KR20220148981 A KR 20220148981A
Authority
KR
South Korea
Prior art keywords
user
computing system
natural language
satisfaction
logic
Prior art date
Application number
KR1020210055800A
Other languages
Korean (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 KR1020210055800A priority Critical patent/KR20220148981A/en
Publication of KR20220148981A publication Critical patent/KR20220148981A/en

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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

According to the present invention, a software agent used to assist in providing a service receives communication from a set of users attempting to use the software agent, wherein the communication includes communication interacting with the software agent and communication not interacting with the software agent. In addition, the software agent performs natural language processing on all communications to identify things such as user emotion, user interest, or other items in message contents, while identifying action taken by users to obtain a measure of user satisfaction with the software agent. Accordingly, one or more action signals are generated based on the identified user satisfaction with the software agent.

Description

대화형 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법{A natural language processing and analyzing method in interactive computing system}A natural language processing and analyzing method in interactive computing system

대화형 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법에 대한 것이다.It is about natural language processing and analysis techniques in an interactive computing system.

컴퓨팅 시스템은 현재 널리 사용되고 있다. 일부 컴퓨팅 시스템은 매우 다양한 다른 것들 중에서도 전자 메일(이메일) 컴퓨팅 시스템, 캘린더링 또는 스케줄링 컴퓨팅 시스템 같은 것들을 포함한다.Computing systems are now widely used. Some computing systems include such as electronic mail (email) computing systems, calendaring or scheduling computing systems, among a wide variety of others.

또한, 일부 컴퓨팅 시스템은 디지털 에이전트(digital agents), 또는 개인용 디지털 어시스턴트(personal digital assistants)를 포함한다. 이러한 유형의 에이전트 또는 어시스턴트는, 예를 들어, 자연어(natural language)를 사용한 인간 상호작용을 위한 인터페이스를 제공할 수 있고 다양한 태스크를 수행할 수 있는 컴퓨터 프로그램인 소프트웨어 에이전트 또는 다른 봇(bot)을 포함할 수 있다. 이들은 예시적으로 자연어 이해 로직(understanding logic)을 사용해서 자연어 입력의 언어적 의미를 식별하고, 해당 자연어 입력에 기초하여, 사용자를 위한 특정 태스크를 자동으로 수행한다. 예를 들면, 에이전트 또는 어시스턴트는 자연어 입력에 기초하여, 다른 무엇보다도 리마인더를 설정하고, 검색 수행에 의해 질문에 답하고, 다른 서비스들과 상호작용할 수 있다.Also, some computing systems include digital agents, or personal digital assistants. This type of agent or assistant includes, for example, a software agent or other bot, which is a computer program capable of performing a variety of tasks and may provide an interface for human interaction using natural language. can do. They illustratively use natural language understanding logic to identify the linguistic meaning of natural language input, and based on that natural language input, automatically perform a specific task for the user. For example, an agent or assistant may set reminders, answer questions by performing searches, and interact with other services, among other things, based on natural language input.

이러한 태스크를 수행함에 있어서, 이와 같은 에이전트 또는 봇은 서비스를 수행하기 위해 사용자와의 대화 수행에 관여되곤 한다. 예를 들면, 일부 봇 또는 에이전트는 사용자가 다른 사용자들과 대화하고 있을 때 사용될 수 있다. 예시로서, 제1 사용자가 다른 사용자들의 그룹에게 특정 날짜에 영화를 보고 싶어하는지 또는 다른 엔터테인먼트에 참석하고 싶어하는지를 묻는 전자 메일 메시지(이메일 메시지)를 보낸다고 가정한다. 이용 가능한 활동을 찾기 위해, 사용자들 중의 또는 그룹의 한 명이 다른 날짜에 다른 장소에서 일어나고 있는 엔터테인먼트를 식별하도록 구성된 소프트웨어 에이전트에 이메일 메시지(그룹 내의 다른 모든 사용자를 참조에 포함)를 보내는 것일 수도 있다. 이후, 소프트웨어 에이전트는 해당 날짜에 일어나고 있는 일련의 엔터테인먼트 활동을 그룹에게 표시하고, 그룹이 티켓을 취득하는 것을 도울 수도 있다. 예시로서, 소프트웨어 에이전트는 일련의 엔터테인먼트 활동을 표시하고 소프트웨어 에이전트가 티켓을 구해야만 하는지를 묻는 이메일을 그룹 전체에 보낼 수 있다. 그렇게 하도록 지시된 경우, 소프트웨어 에이전트는 사용자들 중 한 명 이상과 대화를 수행해서 다른 무엇보다도 티켓의 수, 티켓에 소비될 금액을 식별할 수 있다. 이후, 소프트웨어 에이전트는 티켓팅 사이트와 상호작용해서 티켓을 취득할 수 있다.In performing such a task, such an agent or bot is often involved in performing a conversation with a user in order to perform a service. For example, some bots or agents may be used when a user is talking to other users. As an example, suppose a first user sends an e-mail message (e-mail message) asking a group of other users whether they want to watch a movie or attend another entertainment on a specific date. To find available activities, one of the users or a group may send an email message (including all other users in the group in reference) to a software agent configured to identify entertainment taking place at different locations on different days. Thereafter, the software agent may indicate to the group the series of entertainment activities that are taking place on that day, and may help the group obtain a ticket. As an example, the software agent may send an email to the entire group indicating a series of entertainment activities and asking if the software agent should obtain a ticket. When instructed to do so, the software agent may conduct a conversation with one or more of its users to identify, among other things, the number of tickets, the amount to be spent on them. The software agent may then interact with the ticketing site to obtain a ticket.

이러한 컴퓨팅 시스템은 다양한 사용자들이 어떤 기능을 만족해 하는지, 그리고 어떤 기능을 불만족해 할 수 있으며, 왜 그런지에 대하여 알기 어려울 수 있기 때문에, 이러한 컴퓨팅 시스템을 개선하기는 어려울 수 있다. 현재의 일부 시스템은 사용자들에게 설문조사에 참여해서 피드백을 제공하라고 요청한다. 그러나, 사용자들에게는 설문조사가 번거롭고 시간 소모적인 것으로 여겨지곤 한다. 따라서, 비교적 적은 수의 사용자들만이 실제로 설문조사에 참여하므로 피드백이 상당히 제한적일 수 있다.It may be difficult to improve such a computing system because it may be difficult to know which functions various users are satisfied with, which functions may be dissatisfied, and why. Some current systems ask users to provide feedback by taking part in a survey. However, users often find surveys to be cumbersome and time-consuming. Therefore, feedback can be quite limited as only a relatively small number of users actually participate in the survey.

상기의 논의는 단지 일반적인 배경 정보를 위해 제공된 것이며 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함이 아니다.The above discussion is provided for general background information only and is not intended to help determine the scope of the claimed subject matter.

도 1은 컴퓨팅 시스템 아키텍처의 일 실시예의 블록도이다.
도 2a 및 도 2b(본 명세서에서는 총괄하여 도 2로 인용됨)는 상이한 신호들을 분석해서 사용자 만족도를 식별하고 식별된 사용자 만족도에 기초하여 제어 신호들을 생성함에 있어서의 도 1에 예시된 아키텍처의 동작의 일 실시예를 예시하는 흐름도를 도시한다.
도 3은 클라우드 컴퓨팅 아키텍처에 배치된, 도 1에 예시된 아키텍처의 일 실시예를 도시하는 블록도이다.
도 4 내지 도 6은 이전 도면들에 도시된 아키텍처들에서 사용될 수 있는 모바일 장치의 실시예들을 도시한다.
도 7은 이전의 도면들에 도시된 아키텍처들에서 사용될 수 있는 컴퓨팅 환경의 일 실시예를 도시하는 블록도이다.
1 is a block diagram of one embodiment of a computing system architecture.
2A and 2B (collectively referred to herein as FIG. 2 ) show operation of the architecture illustrated in FIG. 1 in analyzing different signals to identify user satisfaction and generate control signals based on the identified user satisfaction; shows a flow diagram illustrating one embodiment of
3 is a block diagram illustrating an embodiment of the architecture illustrated in FIG. 1 , deployed in a cloud computing architecture.
4-6 show embodiments of a mobile device that may be used in the architectures shown in the previous figures.
7 is a block diagram illustrating one embodiment of a computing environment that may be used in the architectures shown in the previous figures.

도 1은 컴퓨팅 시스템 아키텍처(100)의 일 실시예의 블록도이다. 아키텍처(100)는 예시적으로 사용자(108)에 의한 상호작용을 위한 사용자 입력 메커니즘(106)을 구비한 사용자 인터페이스(104)를 생성하는 컴퓨팅 시스템(102)을 포함한다. 사용자(108)는 예시적으로 컴퓨팅 시스템(102)의 부분들을 제어 및 조작하기 위해 사용자 입력 메커니즘(106)과 상호작용한다.1 is a block diagram of one embodiment of a computing system architecture 100 . Architecture 100 illustratively includes a computing system 102 that creates a user interface 104 having a user input mechanism 106 for interaction by a user 108 . The user 108 interacts with the user input mechanism 106 to control and manipulate portions of the computing system 102 , illustratively.

도 1에 예시된 실시예에 있어서, 컴퓨팅 시스템(102)은 예시적으로 하나 이상의 프로세서 또는 서버(110), 전자 메일(이메일) 시스템(112), 캘린더 시스템(114), 통신 시스템(116), 사용자 인터페이스 로직(118), 스케줄링 어시스턴스 시스템(120)을 포함하는 한편, 매우 다양한 기타 아이템(122)도 마찬가지로 포함할 수 있다. 캘린더 시스템(114)은 자체는, 예시적으로 스케줄링 로직(124), 캘린더 데이터 저장소(126)(사용자(108) 및/또는 다른 사용자들에 대한 캘린더 데이터 저장소일 수 있음)를 포함하는 한편, 매우 다양한 다른 캘린더 기능(128)을 포함할 수 있다.1 , computing system 102 illustratively includes one or more processors or servers 110 , electronic mail (email) system 112 , calendar system 114 , communication system 116 , User interface logic 118 , scheduling assistance system 120 , while may also include a wide variety of other items 122 as well. The calendar system 114 itself, illustratively includes scheduling logic 124, a calendar data store 126 (which may be a calendar data store for user 108 and/or other users), while very Various other calendar functions 128 may be included.

스케줄링 어시스턴스 시스템(120)은 예시적으로 스케줄링 동작을 수행하기 위해 캘린더 시스템(114) 및 다른 사용자들의 캘린더 시스템과 상호작용함에 있어서 사용자(108)를 지원하는 컴퓨팅 시스템이다. 일 실시예에 있어서, 사용자(108)는 예시적으로 이메일 시스템(112)을 사용해서 스케줄링 어시스턴스 시스템(120)의 받은메일함(inbox)에 메시지를 송신함으로써 스케줄링 어시스턴스 시스템(120)과 상호작용한다. 그러나, 다른 실시예들에 있어서는, 사용자(108)가 자연어 음성 입력, 다른 메시징 시스템 등과 같은 다른 유형의 통신을 사용해서 스케줄링 어시스턴스 시스템(120)과 통신할 수 있다.Scheduling assistance system 120 is illustratively a computing system that assists user 108 in interacting with calendar system 114 and other users' calendar systems to perform scheduling operations. In one embodiment, user 108 interacts with scheduling assistance system 120 by sending a message to an inbox of scheduling assistance system 120 , illustratively using email system 112 . works However, in other embodiments, the user 108 may communicate with the scheduling assistance system 120 using another type of communication, such as natural language voice input, another messaging system, or the like.

따라서, 스케줄링 어시스턴스 시스템(120)은 예시적으로 자연어 이해 시스템(130)(스케줄링 어시스턴스 시스템(120)의 일부로서 도시되어 있지만, 그것과 분리될 수 있거나 또는 시스템(120)에 의해 액세스된 원격 서비스일 수 있음), 스케줄링 어시스턴트 워크플로 처리 시스템(132), 사용자 만족도 신호 분석기 및 제어 시스템(134)을 포함하는 한편, 기타 아이템(136)을 포함할 수 있다. 아키텍처(100)의 동작을 더 상세하게 설명하기에 앞서, 아키텍처(100) 내의 아이템들 중 일부 및 그 동작의 간략한 개요가 먼저 제공된다.Accordingly, scheduling assistance system 120 is illustratively shown as part of natural language understanding system 130 (scheduling assistance system 120 ), but may be separate from it or remote accessed by system 120 . service), scheduling assistant workflow processing system 132 , user satisfaction signal analyzer and control system 134 , while other items 136 . Before describing the operation of architecture 100 in more detail, a brief overview of some of the items in architecture 100 and their operation is first provided.

이메일 시스템(112)은 예시적으로 사용자(108)에게 이메일 기능을 제공한다. 따라서, 일 실시예에 있어서, 사용자(108)는 이메일 메시지를 작성, 송신, 수신, 개봉, 및 삭제할 수 있다. 사용자(108)는 예시적으로 이메일 시스템(112)을 사용해서 자신의 메일함 및 이메일 계정을 구성하고, 필터를 설정하고, 서로 다른 이메일 메시지들에 다양한 첨부물을 첨부하고, 매우 다양한 다른 이메일 기능을 수행하기 위해 설정 동작을 수행할 수 있다.Email system 112 illustratively provides email functionality to user 108 . Thus, in one embodiment, user 108 may create, send, receive, open, and delete email messages. User 108 may illustratively use e-mail system 112 to configure his or her mailbox and e-mail account, set filters, attach various attachments to different e-mail messages, and provide a wide variety of other e-mail features. To do this, you can perform a setting operation.

캘린더 시스템(114) 내의 스케줄링 로직(124)은 예시적으로 사용자(108)가 자신의 캘린더 상의 아이템을 스케줄링할 수 있게 한다. 사용자(108)의 캘린더를 나타내는 캘린더 데이터는 예시적으로 캘린더 데이터 저장소(126)에 캘린더 데이터로서 저장된다. 캘린더 시스템(114)은 미팅 요청을 송신 및 수신하고, 태스크 및 약속을 스케줄링하고, 다양한 상이한 사용자들과의 미팅을 스케줄링하고, 다른 사용자들의 가용성을 확인하는 능력과 같은 매우 다양한 다른 캘린더 기능(128)을 제공할 수 있다.Scheduling logic 124 within calendar system 114 illustratively allows user 108 to schedule items on his or her calendar. Calendar data representing user 108's calendar is stored as calendar data, illustratively in calendar data store 126 . The calendar system 114 provides a wide variety of other calendar functions 128, such as the ability to send and receive meeting requests, schedule tasks and appointments, schedule meetings with a variety of different users, and check the availability of other users. can provide

통신 시스템(116)은 예시적으로 컴퓨팅 시스템(102)이 매우 다양한 다른 컴퓨팅 시스템들과 통신할 수 있게 한다. 예를 들면, 와이드 에어리어 네트워크, 로컬 에어리어 네트워크, 셀룰러 통신 네트워크, 근거리 통신 네트워크, 또는 매우 다양한 다른 네트워크들 또는 네트워크들의 조합을 통해 통신할 수 있게 하는 통신 시스템일 수 있다.Communication system 116 illustratively enables computing system 102 to communicate with a wide variety of other computing systems. For example, it may be a communication system that enables communication over a wide area network, a local area network, a cellular communication network, a short-range communication network, or a wide variety of other networks or combinations of networks.

사용자 인터페이스 로직(118)은 예시적으로 사용자 입력 메커니즘(106)을 구비한 사용자 인터페이스(104)를 생성한다. 또한, 이것은 예시적으로 사용자 입력 메커니즘(106)과의 또는 임의의 매우 다양한 다른 사용자 입력 메커니즘과의 사용자 상호작용을 검출한다. 이것은 해당 사용자 상호작용의 표시를 생성하여 컴퓨팅 시스템(102)의 다른 부분들에도 제공할 수 있다.User interface logic 118 creates a user interface 104 , illustratively with a user input mechanism 106 . It also detects user interaction, illustratively with user input mechanism 106 or with any of a wide variety of other user input mechanisms. This may create an indication of that user interaction and provide it to other parts of the computing system 102 as well.

스케줄링 어시스턴스 시스템(120)은 예시적으로 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 사용해서, 사용자(108)가 시스템(120)에 미팅, 전화 통화 등과 같은 이벤트의 스케줄링을 지원하도록 요청하는 경우를 검출한다. 일 실시예에 있어서, 사용자(108)는 자연어 이메일 메시지를 작성하여 스케줄링 어시스턴스 시스템(120)에 대응하는 이메일 시스템(112)의 메일함에 송신함으로써 이를 행할 수 있다. 시스템(120)은 그 메일함에 메시지를 수신할 경우, 예시적으로 자연어 이해 시스템(130)을 사용하여 메시지를 파싱하고 이메일 메시지 내의 내용의 언어적 내용(예컨대, 의미)을 식별한다. 이후, 해당 메시지를 시스템(120)과의 상호작용을 구하는 메시지로서 또는 상호작용을 구하지는 않지만, 시스템(120)이 메시지에 복사된 메시지로서 식별할 수 있다.Scheduling assistance system 120 illustratively uses scheduling assistant workflow processing system 132 to describe when a user 108 requests system 120 to assist in scheduling an event, such as a meeting, phone call, or the like. detect In one embodiment, user 108 may do this by composing a natural language email message and sending it to a mailbox of email system 112 corresponding to scheduling assistance system 120 . When system 120 receives a message in its mailbox, exemplarily using natural language understanding system 130 , system 120 parses the message and identifies the linguistic content (eg, meaning) of the content within the email message. Thereafter, the message may be identified as a message seeking interaction with the system 120 or as a message that does not seek interaction, but is copied into the message.

시스템(120)이 이메일 메시지를 시스템(120)과의 상호작용을 구하는 메시지(예를 들면, 스케줄링 동작을 수행함에 있어서 사용자(108)를 지원하기 위한 요청)로서 식별하는 경우, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 예시적으로 (예컨대, 이메일 시스템(112) 또는 다른 것을 통해) 사용자(108)와의 대화를 수반할 수 있는 워크플로를 수행하여 사용자(108)가 시스템(120)이 무엇을 수행하기를 바라는지에 대하여 식별할 수 있다. 이는 수행될 태스크를 식별하기 위해 사용자(108)에게 질문하는 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 포함할 수 있다.Scheduling assistant workflow processing when system 120 identifies the email message as a message seeking interaction with system 120 (eg, a request to assist user 108 in performing a scheduling operation). System 132 may illustratively perform a workflow that may involve a conversation with user 108 (eg, via email system 112 or otherwise) so that user 108 asks what system 120 does. You can identify what you want to do. This may include a scheduling assistant workflow processing system 132 that queries the user 108 to identify a task to be performed.

이후, 시스템(132)은 정보 검색의 수행, 다양한 사용자의 캘린더 시스템의 검색, 다른 컴퓨팅 시스템 또는 데이터베이스의 검색, 및 결과 반환과 같은 동작을 수행할 수 있다. 이후, 미팅 또는 다른 이벤트를 스케줄링하기 위해 사용자(108) 및 다른 사용자들에 대한 스케줄링 로직(124)과의 상호작용과 같은 다른 액션을 수행하 수 있거나, 또는 다른 컴퓨팅 시스템과 상호작용하여 다른 기능(예를 들면, 매우 다양한 다른 것들 중에서도 티켓 구매, 예약)을 수행할 수 있다.Thereafter, the system 132 may perform operations such as performing information retrieval, retrieving various users' calendar systems, retrieving other computing systems or databases, and returning results. It may then perform other actions, such as interacting with scheduling logic 124 for user 108 and other users, to schedule meetings or other events, or interact with other computing systems to perform other functions ( for example, purchasing tickets, booking, among a wide variety of others.

스케줄링 어시스턴스 시스템(120)과 같은 시스템으로는, 해당 시스템에 대하여 사용자(108)가 느끼는 만족도 수준을 결정하기가 어려울 수 있다. 따라서, 사용자 만족도 신호 분석기 및 제어 시스템(134)이 예시적으로 사용자(108)로부터의 다양한 신호 및 액션을 모니터링하여 사용자의 만족도를 결정한다. 이후, 해당 만족도에 기초하여 제어 신호를 생성해서 액션을 취할 수 있다.With a system such as the scheduling assistance system 120 , it can be difficult to determine the level of satisfaction the user 108 feels for the system. Accordingly, the user satisfaction signal analyzer and control system 134 illustratively monitors various signals and actions from the user 108 to determine the user's satisfaction. Thereafter, an action may be taken by generating a control signal based on the corresponding satisfaction level.

본 실시예를 위해, 스케줄링 어시스턴스 시스템(120)은 스케줄링 어시스턴스 시스템일 필요가 없으며, 대신 그 서비스를 렌더링할 때 하나 이상의 사용자와의 대화에 참여하는 다른 소프트웨어 에이전트 또는 봇일 수 있다는 점을 이해할 것이다. 예를 들면, 시스템은 스케줄링 동작을 수행함에 있어서 사용자를 지원하는 시스템이 아니라, 다른 언어를 사용하는 다수의 사용자 사이의 이메일 토론에서 사용자가 번역 작업을 수행하는 것을 지원하는 시스템일 수 있다. 시스템은 사용자가 점심을 주문하거나, 하나 이상의 상이한 장소를 스케줄링하거나, 항공 티켓 또는 이벤트 티켓을 구매하는 것을 지원하는 시스템이거나, 또는 원하는 서비스를 수행하기 위해 일련의 사용자들과의 대화에 참여하는 매우 다양한 다른 시스템일 수 있다. 단지 예시의 목적으로, 본 설명은 하나 이상의 사용자가 아이템을 스케줄링하는 것을 지원하는 시스템인 스케줄링 어시스턴스 시스템(120)과 관련하여 설명된다. 그러나, 시스템이 제공하는 서비스를 사용하고 있는 사용자들과의 토론에 참여하는 다른 유형의 보조 시스템 또는 다른 소프트웨어 에이전트 또는 소프트웨어 프로그램에 동일한 처리가 적용될 수 있다.It will be appreciated that, for the purposes of this embodiment, the scheduling assistance system 120 need not be a scheduling assistance system, but may instead be another software agent or bot that engages in a conversation with one or more users when rendering its service. . For example, the system may not be a system that supports a user in performing a scheduling operation, but a system that supports a user in performing a translation task in an email discussion among multiple users who speak different languages. A system may be a system that assists a user to order lunch, schedule one or more different locations, purchase an air ticket or event ticket, or may be a system that supports a wide variety of users participating in a conversation with a set of users to perform a desired service. It could be another system. For purposes of example only, the present description is described in the context of scheduling assistance system 120 , a system that supports one or more users to schedule items. However, the same treatment may apply to other types of auxiliary systems or other software agents or software programs participating in discussions with users who are using the services provided by the system.

사용자 만족도 신호 분석기 및 제어 시스템(134)은 예시적으로 사용자 관심사 검출 로직(138), 감정 분석 로직(140), 사용자 추천 검출 로직(142), 캘린더 마이닝 로직(144), 만족도 수준 검출 로직(145), 특징 발견 관여 로직(146), 이슈 식별 로직(147), 제어 신호 생성기 로직(148)을 포함하는 한편, 매우 다양한 기타 아이템(150)을 포함할 수 있다. 캘린더 마이닝 로직(144) 자체는, 예시적으로 미팅 분류 로직(152), 서비스 커버리지 결정 로직(154), 경향 식별 로직(156), 설문조사 로직(158)을 포함하는 한편, 기타 아이템(160)을 포함할 수 있다. 제어 신호 생성기 로직(148) 자체는, 예시적으로 공유 프롬프팅 로직(162)을 포함하는 한편, 매우 다양한 기타 아이템(164)을 포함할 수 있다.User satisfaction signal analyzer and control system 134 exemplarily includes user interest detection logic 138 , sentiment analysis logic 140 , user recommendation detection logic 142 , calendar mining logic 144 , and satisfaction level detection logic 145 . ), feature discovery involvement logic 146 , issue identification logic 147 , control signal generator logic 148 , while may include a wide variety of other items 150 . Calendar mining logic 144 itself illustratively includes meeting classification logic 152 , service coverage determination logic 154 , trend identification logic 156 , survey logic 158 , while other items 160 . may include Control signal generator logic 148 itself, illustratively includes shared prompting logic 162 , while may include a wide variety of other items 164 .

일 실시예에 있어서, 스케줄링 어시스턴스 시스템(120)은, 시스템(120)에 의해 제공된 스케줄링 어시스턴스 서비스에 직접 관련되고 시스템(120)과의 상호작용을 명시적으로 구하는 메시지들 뿐만 아니라, 반드시 시스템(120)과의 상호작용을 구할 필요가 없는 통신 스레드에서의 다른 메시지들에 포함 또는 복사될 수 있다는 점에 먼저 주목해야 한다. 예를 들면, 사용자(108)가 시스템(120)에게 해당 그룹이 미팅을 스케줄링하는 것을 지원하도록 구체적으로 요청하는 이메일 메시지를 다른 사용자들의 그룹에, 또한 시스템(120)에 송신하는 것일 수 있다. 예시로서, 사용자는 "스케줄링 어시스턴트, 우리가 미팅을 스케줄링하는 것을 도와주세요.(Scheduling Assistant, please help us schedule a meeting.)"라고 입력할 수 있다. 그러면, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 그 워크플로를 실행해서 미팅의 상세를 식별하고, 미팅이 스케줄링될 수 있는 다양한 미팅 기회를 식별한다. 그렇게 함으로써, 해당 시스템은 대화 중인 사용자들의 그룹에 회신하는 이메일을 생성하고, 해당 사용자들로부터 응답을 수신할 수 있다.In one embodiment, the scheduling assistance system 120 not only requires messages that are directly related to the scheduling assistance service provided by the system 120 and that explicitly seek interaction with the system 120 , the system 120 . It should be noted first that it may be included or copied to other messages in the communication thread that do not need to seek interaction with 120 . For example, the user 108 may be sending an email message to the group of other users and also to the system 120 specifically requesting the system 120 to assist the group in scheduling a meeting. As an example, the user may enter "Scheduling Assistant, please help us schedule a meeting." The scheduling assistant workflow processing system 132 then executes the workflow to identify details of the meeting and various meeting opportunities for which the meeting may be scheduled. By doing so, the system can generate an email replying to the group of users being chatted with, and receive responses from those users.

그러나, 대화에 참여하고 있는 사용자들이 시스템(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)에 대한 해당 사용자의 만족도 수준을 식별하도록 분석될 수 있다.However, it may be that the users participating in the conversation copy the system 120 to the message but create a message to each other that does not seek direct interaction with the system 120 . For example, one of the users may be sending the question "What is your favorite restaurant near the meeting location?" to the entire group of users. Although this communication may be copied to the system 120 , it does not require any interaction with the system 120 . Instead, it is seeking interaction with other users. Similarly, one of the users may enter and copy to the system 120 a message for all of the other users providing an indication of the user's level of satisfaction with the system 120 . For example, assuming the name of the system 120 is “The ACME Scheduling Assistant,” one of the users will say “This ACME Scheduling Assistant is very slow.” Or you can send a message like "This ACME Scheduling Assistant is really helpful." Thus, even if the originator of the message is not seeking interaction with the system 120 , the content of the message itself can be analyzed to identify the user's level of satisfaction with the system 120 .

유사하게, 대화에서의 사용자들의 액션이 시스템(120)에 대한 그들의 만족도 수준에 대한 표시를 제공할 수도 있다. 예를 들면, 사용자들 중 하나가 다른 사용자들에게 "ACME 스케줄링 어시스턴트"를 사용하라고 추천하는 이메일을 송신할 경우, 이는 해당 메시지의 작성자의 만족도 수준이 상대적으로 높다는 것을 나타낼 수 있다. 그러나, 사용자가 "우리가 사용할 만한 다른 스케줄링 어시스턴트를 알고 있으신가요?(Do you know of any other scheduling assistants that we might user?)"와 같은 메시지를 송신할 경우, 이는 해당 사용자의 만족도가 상대적으로 낮다는 것을 나타낼 수 있다.Similarly, actions of users in a conversation may provide an indication of their level of satisfaction with the system 120 . For example, if one of the users sends an email recommending other users to use the “ACME Scheduling Assistant”, this may indicate that the level of satisfaction of the creator of the message is relatively high. However, when a user sends a message such as "Do you know of any other scheduling assistants that we might user?", the user's satisfaction is relatively low. can indicate that

또한, 사용자가 대부분의 자신의 약속을 자신의 캘린더에 스케줄링하기 위해 시스템(120)을 사용하고 있을 경우, 이는 사용자가 시스템(120)에 대하여 비교적 만족한다는 것을 나타낼 수 있을 것이다. 그러나, 사용자가 사용자의 스케줄에 있는 모든 약속에 비해 적은 수의 약속만을 자신의 캘린더에 스케줄링하기 위해 시스템(120)을 사용하고 있을 경우에는, 이는 사용자가 시스템(120)에 대하여 비교적 불만족한다는 것을 나타낼 수 있다.Also, if the user is using the system 120 to schedule most of his or her appointments in his or her calendar, this may indicate that the user is relatively satisfied with the system 120 . However, if the user is using the system 120 to schedule only a small number of appointments in his or her calendar compared to all appointments in the user's schedule, this would indicate that the user is relatively dissatisfied with the system 120 . can

또한, 사용자가 시스템(120)을 사용해서 한 가지 카테고리(예를 들면, 업무 미팅)의 특정 비율의 자신의 미팅을 스케줄링하고 있지만, 시스템(120)을 사용해서 다른 카테고리(예를 들면, 개인적인 미팅 또는 전화 통화 등)의 크게 다른 비율의 자신의 미팅을 스케줄링하고 있는 것일 수 있다. 이는 사용자가 시스템(120)을 사용해서 특정 동작 카테고리의 동작을 수행하는 경우에는 비교적 만족하지만, 시스템(120)을 사용해서 하나 이상의 다른 동작 카테고리의 동작을 수행하는 경우에는 비교적 불만족한다는 것을 나타낼 수 있다.Additionally, while a user is using system 120 to schedule a certain percentage of his or her meetings in one category (eg, business meetings), the system 120 may be used to schedule meetings in another category (eg, personal meetings). Or they may be scheduling their meetings at a significantly different rate (such as phone calls). This may indicate that the user is relatively satisfied when using the system 120 to perform an action in a particular action category, but relatively dissatisfied when using the system 120 to perform an action in one or more other action categories. .

유사하게, 시스템(120)을 사용함에 있어서의 사용자의 사용 경향이 또한 도움이 될 수 있다. 사용자가 시스템(120)을 자주 사용하는 경향이 있으면, 이는 사용자가 시스템(120)에 대하여 비교적 만족한다는 것을 나타내는 긍정적인 경향일 수 있다. 그러나, 사용자가 시스템(120)을 덜 자주 사용하고 있다는 점에서 경향이 부정적이면, 이는 사용자가 시스템(120)에 대하여 충분히 만족하고 있지 않다는 것을 나타낼 수 있다.Similarly, a user's usage tendencies in using the system 120 may also be helpful. If a user tends to use the system 120 frequently, this may be a positive trend indicating that the user is relatively satisfied with the system 120 . However, if the trend is negative in that the user is using the system 120 less frequently, this may indicate that the user is not sufficiently satisfied with the system 120 .

또한, 사용자(108)가 다른 방식으로 시스템(120)에 관여하고 있는 것일 수 있다. 예를 들면, 사용자가 하나의 기능 세트를 수행(예를 들면, 미팅을 스케줄링)하기 위해 시스템(120)에 관여하고 있지만, 시스템(120)을 사용해서 수행할 수 있는 어떤 다른 유형의 기능이 있는지를 찾으려고 시도함에 있어서도 시스템(120)에 관여하고 있는 것일 수 있다. 예시로서, 사용자(108)가 시스템(120)을 사용해서 "엔터테인먼트 옵션을 찾을 수 있는지(Find entertainment options)" 내지는 "전화 회의를 스케줄링할 수 있는지(Schedule phone conferences)" 등의 여부도 (예를 들면, 이메일을 작성하여 시스템(120)에 대한 메일함에 송신하는 것에 의해) 시스템(120)에 요청하는 것일 수 있다. 사용자(108)가 시스템(120)을 어떻게 달리 사용할 수 있는지를 찾기 위해 사용자(108)가 시스템(120)에 관여하고 있으면, 이는 사용자(108)가 시스템(120)에 대하여 비교적 만족한다는 것을 나타내는 것일 수 있거나, 또는 부가적인 또는 다른 기능이 시스템(120)에서 가능해지거나 추가되어야 한다는 것을 나타내는 것일 수 있다.Also, the user 108 may be engaging with the system 120 in another way. For example, while a user is engaged in system 120 to perform one set of functions (eg, to schedule a meeting), what other types of functions may be performed using system 120 ? It may also be engaging the system 120 in an attempt to find By way of example, whether user 108 can “find entertainment options” or “schedule phone conferences” using system 120 (eg, For example, it may be a request to the system 120 (by composing an email and sending it to a mailbox for the system 120 ). If the user 108 engages the system 120 to discover how the user 108 could otherwise use the system 120 , this would indicate that the user 108 is relatively satisfied with the system 120 . or may indicate that additional or other functionality is enabled or should be added to the system 120 .

따라서, 사용자의 만족도 수준을 결정함에 있어서 도움이 되는 것이 시스템(120)의 성능 또는 만족도 수준에 대한 직접적인 피드백만은 아니라는 것을 알 수 있다. 대신에, 메시지가 사용자 만족도 수준을 나타내고 있는지의 여부를 결정하기 위해 시스템(120)이 수신하는 모든 메시지의 내용이 분석될 수 있다. 시스템(120)에 의해 수신되지만, 그 관여를 구하고 있지 않은 통신 뿐만 아니라, 그 관여를 직접 구하고 있는 시스템(120)과의 통신이 이와 관련하여 도움이 될 수 있다. 또한, 사용자 만족도를 결정하기 위해 다양한 사용자들로부터의 통신 내용이 사용될 수 있을 뿐만 아니라, 사용자 액션도 사용될 수 있다. 일 실시예에 있어서, 사용자 만족도 신호 분석기 및 제어 시스템(134)은 통신 내용 및 사용자 액션을 나타내는 신호를 캡처하고, 하나 이상의 사용자 만족도 수준을 식별한다. 식별된 사용자 만족도에 기초하여 액션 또는 제어 단계를 취하기 위해 제어 신호를 생성할 수도 있다.Thus, it can be seen that it is not only direct feedback on the performance or satisfaction level of the system 120 that is helpful in determining the user's satisfaction level. Instead, the content of all messages received by system 120 may be analyzed to determine whether the messages represent a level of user satisfaction. Communications received by the system 120 but not seeking involvement, as well as communications with the system 120 directly seeking involvement may be helpful in this regard. In addition, not only communication content from various users may be used to determine user satisfaction, but also user actions may be used. In one embodiment, the user satisfaction signal analyzer and control system 134 captures signals indicative of communication content and user actions, and identifies one or more user satisfaction levels. A control signal may be generated to take an action or control step based on the identified user satisfaction.

예를 들면, 사용자 관심사 검출 로직(138)은 사용자의 메시지 내용이 사용자가 시스템(120)의 특정 기능 또는 특징 또는 일부분에 대하여 관심이 있음을 나타내는 경우를 검출할 수 있다. 예시로서, 사용자가 "이 ACME 스케줄링 어시스턴트는 사용하기가 너무 복잡해요.(This ACME Scheduling Assistant is very complicated to use.)"라고 입력하는 것일 수 있다. 이는 사용자가 시스템(120)에 의해 제공되는 인터페이스에, 또는 상호적인 프로세스의 다른 부분들에 관심이 있음을 나타낼 수 있다. 감정 분석 로직(140)을 사용해서 사용자의 메시지 내용에서 사용자의 감정을 검출할 수 있다. 예를 들면, 텍스트에서 감정을 분석하는 데 사용될 수 있는 매우 다양한 여러 유형의 감정 분석기가 존재한다. 감정 분석 로직(140)은 예시적으로 사용자의 메시지에서 식별되는 사용자 감정과 시스템(120) 사이의 상관관계를 결정한다. 감정이 시스템(120)에 밀접하게 상관되면, 메시지는 시스템(120)의 성능에 대한 사용자의 감정을 나타낼 수 있다. 사용자 추천 검출 로직(142)은 예시적으로 사용자가 다른 사용자들에게 시스템(120)을 사용하라고 추천하는 경우를 검출한다. 사용자가 다른 사용자들에게 시스템(120)을 사용하지 않게 영향을 주려고 시도하고 있는 경우를 검출할 수도 있다.For example, the user interest detection logic 138 may detect when the content of the user's message indicates that the user is interested in a particular function or feature or portion of the system 120 . As an example, the user may input "This ACME Scheduling Assistant is very complicated to use." This may indicate that the user is interested in an interface provided by system 120 , or other parts of an interactive process. The emotion analysis logic 140 may be used to detect the user's emotion from the user's message content. For example, there are many different types of sentiment analyzers that can be used to analyze sentiment in text. Sentiment analysis logic 140 exemplarily determines a correlation between user emotion identified in the user's message and system 120 . If emotions are closely correlated to system 120 , the message may represent the user's feelings about the performance of system 120 . The user recommendation detection logic 142 exemplarily detects when a user recommends other users to use the system 120 . It may be possible to detect instances where a user is attempting to influence other users not to use the system 120 .

캘린더 마이닝 로직(144)은 예시적으로 시스템(120)을 사용하고 있는 다양한 사용자들에 대한 캘린더 데이터 저장소(126) 내의 캘린더 데이터를 마이닝한다. 미팅 분류 로직(152)은 사용자의 캘린더에 있는 상이한 미팅 카테고리들(예를 들면, 대면 미팅, 전화 회의, 비즈니스 점심 미팅, 개인적인 미팅 등)을 식별할 수 있다. 서비스 커버리지 결정 로직(154)은 상이한 카테고리들에서, 사용자가 시스템(120)을 얼마나 자주 사용하고 있지 않은지에 대하여, 사용자(108)가 시스템(120)을 얼마나 자주 사용해서 해당 미팅을 스케줄링했는지를 나타내는 척도를 결정할 수 있다. 경향 식별 로직(156)은 예시적으로 시간의 경과에 따른 사용자(108)(또는 시스템(120)의 다른 사용자들)에 의한 사용 경향을 식별한다.Calendar mining logic 144 illustratively mines calendar data in calendar data store 126 for various users using system 120 . The meeting classification logic 152 may identify different meeting categories in the user's calendar (eg, face-to-face meetings, conference calls, business lunch meetings, personal meetings, etc.). The service coverage determination logic 154 may indicate, in different categories, how often the user 108 used the system 120 to schedule a corresponding meeting, relative to how often the user was not using the system 120 . scale can be determined. Trend identification logic 156 exemplarily identifies usage trends by user 108 (or other users of system 120 ) over time.

설문조사 로직(158)은 사용자에게 시스템(120)에 대한 사용자의 만족도 수준에 관한 보다 상세한 질문을 하는 설문조사를 완료하도록 요청하기 위해 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 제어하는 데 사용될 수 있다. 사용자들은 사용자에 대하여 결정된 만족도 수준에 기초하거나, 사용자의 시스템(120) 사용에 기초하거나, 또는 다른 방식으로 설문조사에 참여하도록 식별될 수 있다.The survey logic 158 may be used to control the scheduling assistant workflow processing system 132 to request the user to complete a survey that asks more detailed questions regarding the user's level of satisfaction with the system 120 . . Users may be identified to participate in a survey based on a level of satisfaction determined for the user, based on the user's use of the system 120 , or otherwise.

특징 발견 관여 로직(146)은 예시적으로 사용자(108)가 시스템(120)에 의해 제공될 수 있는 부가적인 특징을 식별하려고 하는 방식으로 시스템(120)에 관여하고 있는 통신을 식별한다. 시스템(120)과의 이 관여 카테고리는 사용자 만족도를 나타낼 수 있다.Feature discovery engagement logic 146 identifies communications engaging system 120 , illustratively in such a way that user 108 seeks to identify additional features that may be provided by system 120 . This category of engagement with system 120 may indicate user satisfaction.

만족도 수준 검출 로직(145)은 예시적으로, 사용자 관심사 검출 로직(138), 감정 분석 로직(140), 사용자 추천 검출 로직(142), 캘린더 마이닝 로직(144), 설문조사 로직(158), 특징 발견 관여 로직(146), 및 임의의 다른 정보 아이템 중 하나 이상에 의해 검출되는 정보가 주어지면, 사용자(108)에 대한 만족도 수준을 검출한다. 이슈 식별 로직(147)은 동일한 또는 상이한 정보를 사용하여, 사용자가 시스템(120)과의 상호작용 및 사용에 대하여 관심을 가질 수 있는 임의의 특정 이슈를 식별할 수 있다.Satisfaction level detection logic 145 may include, for example, user interest detection logic 138 , sentiment analysis logic 140 , user recommendation detection logic 142 , calendar mining logic 144 , survey logic 158 , features Given the information detected by one or more of the discovery engagement logic 146 , and any other items of information, detect a level of satisfaction for the user 108 . The issue identification logic 147 may use the same or different information to identify any particular issue that the user may be interested in interacting with and using the system 120 .

이후, 제어 신호 생성기 로직(148)은 정해진 사용자에 대한 만족도 수준에 기초하거나, 정해진 사용자에 대하여 식별되는 이슈에 기초하거나, 또는 다른 아이템들에 기초하여 다양한 제어 신호를 생성할 수 있다. 예를 들면, 공유 프롬프팅 로직(162)은 스케줄링 어시스턴트 워크플로 처리 시스템(132)을 제어해서, 사용자가 다른 사용자들에게 시스템(120)을 추천하도록 촉구 또는 제안하는 사용자(108)와의 통신을 생성할 수 있다. 예를 들면, 사용자가 시스템(120)에 대하여 매우 만족하는 것으로 결정되면, 사용자가 해당 제안 또는 촉구에 따라서 시스템(120)을 다른 사용자들에게 추천할 가능성이 있을 수 있다. 식별된 사용자 만족도 수준 및 특정 사용자에 대하여 식별된 임의의 이슈에 기초하여 매우 다양한 다른 제어 신호가 생성될 수 있다.The control signal generator logic 148 may then generate various control signals based on a level of satisfaction for a given user, based on issues identified for a given user, or other items. For example, the shared prompting logic 162 controls the scheduling assistant workflow processing system 132 to create a communication with the user 108 prompting or suggesting that the user recommends the system 120 to other users. can do. For example, if a user is determined to be very satisfied with the system 120 , it may be possible for the user to recommend the system 120 to other users in accordance with that suggestion or prompt. A wide variety of other control signals may be generated based on the identified level of user satisfaction and any issues identified for a particular user.

도 2는 도 1에 도시된 아키텍처의 동작의 일 실시예를 더욱 상세하게 예시하는 흐름도이다. 이제, 도 1 및 도 2가 서로 연계하여 설명될 것이다.FIG. 2 is a flow diagram illustrating in more detail one embodiment of the operation of the architecture shown in FIG. 1 ; 1 and 2 will now be described in conjunction with each other.

먼저, 스케줄링 어시스턴스 시스템(120)이 실행되고 있고 사용자(108)에 의한 상호작용에 이용 가능하다고 가정한다. 이는 도 2의 흐름도에서 블록(180)에 의해 지시된다. 전술한 바와 같이, 시스템(120)은 소프트웨어 에이전트, 또는 지능형 디지털 어시스턴트 또는 웹 봇 또는 그 밖의 이러한 컴퓨팅 시스템일 수 있다. 예시적으로 시스템이 제공하는 서비스를 사용하려고 시도하고 있는 사용자 그룹으로부터의 통신을 수신하는 시스템이다. 시스템은, 사용자들이 시스템(120)과 상호작용하려고 직접적으로 시도하고 있지 않더라도, 시스템(120)에게 서비스 제공을 지원하도록 요청했으면, 해당 사용자들로부터 통신을 수신한다.First, assume that scheduling assistance system 120 is running and available for interaction by user 108 . This is indicated by block 180 in the flowchart of FIG. As noted above, system 120 may be a software agent, or an intelligent digital assistant or web bot or other such computing system. Exemplary is a system that receives communications from a group of users attempting to use a service provided by the system. The system receives communications from the users if they have requested the system 120 to assist in providing a service, even if the users are not directly attempting to interact with the system 120 .

이후, 자연어 이해 시스템(130)은 예시적으로 스케줄링 어시스턴스 시스템(120)을 사용하려고 요청하는 사용자로부터의 요청 메시지를 검출한다. 이는 블록(182)에 의해 지시된다. 예시로서, 시스템(120)이 블록(184)에 의해 지시된 바와 같이 그 받은메일함에 송신된 이메일 메시지를 검출하는 것일 수 있다. 시스템은 음성 명령(186) 또는 다른 유형의 통신(188)을 검출할 수 있다. 이후, 자연어 이해 시스템(130)은 해당 요청의 언어적 의미를 시스템(120)에 의한 지원 요청으로서 식별한다.Thereafter, the natural language understanding system 130 detects a request message from a user requesting to use the scheduling assistance system 120 , illustratively. This is indicated by block 182 . As an example, the system 120 may detect an email message sent to its inbox as indicated by block 184 . The system may detect a voice command 186 or other type of communication 188 . The natural language understanding system 130 then identifies the linguistic meaning of the request as a request for assistance by the system 120 .

이후, 스케줄링 어시스턴트 워크플로 처리 시스템(130)은 요청에 기초하여 사용자들을 위해 무엇인가를 스케줄링하는 것을 지원하도록 (예를 들면, 사용자 그룹과의 토론에 참여함으로써) 대화를 수행한다. 물론, 시스템(120)이 다른 유형의 어시스턴트, 봇, 컴퓨터 에이전트 등일 경우에는, 다른 유형의 서비스를 제공하는 것을 지원하기 위해 대화를 수행한다. 대화 수행은 도 2의 흐름도에서 블록(190)에 의해 지시된다.The scheduling assistant workflow processing system 130 then conducts a conversation (eg, by participating in a discussion with a group of users) to assist in scheduling something for users based on the request. Of course, if system 120 is another type of assistant, bot, computer agent, etc., it conducts a conversation to assist in providing the other type of service. Conversation performance is indicated by block 190 in the flowchart of FIG. 2 .

일 실시예에 있어서, 스케줄링 어시스턴트 워크플로 처리 시스템(132)은 스케줄링-특정 메시지(또는 사용자들이 시스템(120)과 상호작용하려고 시도하고 있다는 메시지)를 송신 및 수신한다. 이는 블록(192)에 의해 지시된다. 또한, 일 실시예에 있어서, 시스템(120)은 비-스케줄링-특정 메시지(또는 사용자들이 서로 통신하고 있을 수 있지만, 시스템(120)과 상호작용하려고 시도하고 있지 않다는 메시지)를 수신한다. 이는 블록(194)에 의해 지시된다. 다시, 전술한 바와 같이, 이는 사용자들이 서로 통신하고 있지만, 반드시 시스템(120)이 이들 메시지에 작용하거나, 내지는 메시지와 상호작용하도록 의도하는 것은 아니라는 메시지일 수 있다.In one embodiment, the scheduling assistant workflow processing system 132 sends and receives scheduling-specific messages (or messages that users are attempting to interact with the system 120 ). This is indicated by block 192 . Also, in one embodiment, system 120 receives a non-scheduling-specific message (or a message stating that users may be communicating with each other but are not attempting to interact with system 120 ). This is indicated by block 194 . Again, as noted above, this may be a message that users are communicating with each other, but not necessarily the system 120 intends to act on, or interact with these messages.

이후, 자연어 이해 시스템(130)은 자연어 이해를 수행하여 모든 수신된 메시지(시스템(120)과의 상호작용이 의도된 또는 추구된 메시지만이 아님)의 메시지 내용의 언어적 의미를 취득한다. 메시지 내용의 언어적 의미를 취득하는 것은 블록(196)에 의해 지시된다. 대화는 물론 매우 다양한 다른 방식으로 수행될 수 있고, 이는 블록(198)에 의해 지시된다.The natural language understanding system 130 then performs natural language understanding to obtain the linguistic meaning of the message content of all received messages (not just the messages for which interaction with the system 120 is intended or sought). Obtaining the linguistic meaning of the message content is indicated by block 196 . Conversation may of course be conducted in a wide variety of other ways, as indicated by block 198 .

사용자 관심사 검출 로직(138)은 내용의 언어적 의미를 수신하고 모든 수신 메시지에 대하여 언어적 처리를 수행하여 시스템(120)에 대한 임의의 사용자 관심사를 검출한다. 이는 블록(200)에 의해 지시된다. 예를 들면, 특정 단어들(또는 다른 언어 단위)이 관심사의 이슈들에 맵핑하는 규칙 또는 맵핑을 트리거하는 것일 수 있다. 사용자 관심사 검출 로직(138)이 메시지의 내용의 언어적 의미에서 해당 단어를 발견하면, 해당 맵핑 또는 규칙에 액세스하여 사용자에 의해 표현된 관심사를 식별한다. 사용자 관심사는 동적 모델에 의해 또는 다른 방식들로도 식별될 수 있다.User interest detection logic 138 receives the linguistic meaning of the content and performs linguistic processing on all incoming messages to detect any user interests for system 120 . This is indicated by block 200 . For example, it may be that certain words (or other linguistic units) trigger a mapping or rule that maps to issues of interest. When the user interest detection logic 138 finds the word in the linguistic meaning of the content of the message, it accesses the corresponding mapping or rule to identify the interest expressed by the user. User interests may be identified by a dynamic model or in other manners as well.

또한, 감정 분석 로직(140)은 수신 메시지의 내용에서 감정 분석을 수행한다. 예를 들면, 수신 메시지의 내용에 기초하여, 선호, 강한 선호, 비-선호, 강한 비-선호, 부정적, 긍정적, 화난, 또는 매우 다양한 다른 감정들과 같은 상이한 감정 카테고리들을 식별할 수 있다. 감정 분석을 수행하여 모든 수신 메시지에서 감정을 검출하는 것은 블록(202)에 의해 지시된다. 사용자 관심사 검출 로직(138) 및 감정 분석 로직(140)은 모두 예시적으로 임의의 검출된 감정 및 사용자 관심사를 나타내는 출력 신호를 제공한다. 일 실시예에 있어서, 이들은 정보를 특정 사용자에 상관시키는 한편, 어시스턴스 시스템(120)의 임의의 특정 동작 카테고리 또는 특징에 상관시킨다. 예시로서, 시스템(120)의 특정한 특징이 매우 유용하다거나, 또는 별로 유용하지 않다는 등을 사용자가 코멘트하는 것일 수 있다. 그 경우, 사용자 관심사 검출 로직(138)은 전술한 바와 같이 사용자가 관심을 갖는 특정한 특징을 식별할 수 있고, 감정 분석 로직(140)은 해당 사용자에 대한 해당 특징과 연관되는 강한 긍정적 또는 강한 부정적(또는 그 밖의) 감정을 식별할 수 있다.In addition, the emotion analysis logic 140 performs emotion analysis on the content of the received message. For example, based on the content of the received message, different emotion categories may be identified, such as preference, strong preference, non-preference, strong non-preference, negative, positive, angry, or a wide variety of other emotions. Performing sentiment analysis to detect emotions in all incoming messages is indicated by block 202 . User interest detection logic 138 and sentiment analysis logic 140 both provide output signals representative of, illustratively, any detected sentiments and user interests. In one embodiment, they correlate information to a particular user, while correlating it to any particular action category or characteristic of the assistance system 120 . As an example, a user may be commenting that a particular feature of the system 120 is very useful, not very useful, and the like. In that case, the user interest detection logic 138 may identify a particular characteristic of interest to the user, as described above, and the emotion analysis logic 140 may generate a strong positive or strong negative ( or otherwise).

또한, 사용자 추천 검출 로직(142)은 다른 사용자들에 의한 사용을 위해 사용자가 시스템(120)을 추천하고 있다는 임의의 메시지를 검출한다. 또한, 사용자가 시스템(120)을 추천했다는 사실을 나타내는 출력 신호를 생성한다. 다른 무엇보다도, 시스템(120)을 추천받은 사용자의 수와 같은 다른 정보도 제공할 수 있다. 사용자가 다른 사용자에게 서비스(예컨대, 시스템(120))를 추천하는 임의의 메시지를 검출하는 것은 블록(204)에 의해 지시된다.In addition, the user recommendation detection logic 142 detects any message that the user is recommending the system 120 for use by other users. It also generates an output signal indicative of the fact that the user has recommended the system 120 . Other information may also be provided, such as, among other things, the number of users who have been recommended to system 120 . Detecting any message that the user recommends a service (eg, system 120 ) to another user is indicated by block 204 .

이후, 캘린더 마이닝 로직(144)은 캘린더 데이터 저장소(126)에서 캘린더 정보를 마이닝하여, 다른 방식의 스케줄링에 비해, 서비스가 사용자에 의해 얼마나 자주 사용되고 있는지를 나타내는 척도를 생성한다. 이는 블록(206)에 의해 지시된다. 일 실시예에 있어서, 시스템(120)은 사용자의 캘린더 데이터에 액세스할 수 있으므로, 스케줄링된 미팅 또는 다른 캘린더 아이템들의 수를 카운트할 수 있다. 또한, 예시적으로 해당 아이템들 중 어느 것이 시스템(120)을 사용해서 사용자(108)에 의해 스케줄링되었는지를 추적한다. 이후, 사용자(108)가 상이한 캘린더 아이템들을 스케줄링하기 위해 시스템(120)을 사용하고 있는 시간이 어느 정도 되는지를 나타내는 척도를 생성할 수 있다.The calendar mining logic 144 then mines the calendar information in the calendar data store 126 to generate a measure of how often the service is being used by users, as compared to other methods of scheduling. This is indicated by block 206 . In one embodiment, system 120 may have access to the user's calendar data and thus count the number of scheduled meetings or other calendar items. It also tracks which of those items have, for example, been scheduled by the user 108 using the system 120 . A metric can then be created that indicates how much time the user 108 is using the system 120 to schedule different calendar items.

일 실시예에 있어서, 미팅 분류 로직(152)은 사용자가 스케줄링하고 있는 상이한 카테고리의 미팅과 같이, 상이한 사용 시나리오를 검출한다. 여기에는 업무 미팅, 개인적인 미팅, 전화 통화, 대면 미팅, 원격 미팅 등이 포함될 수 있다. 상이한 사용 시나리오 또는 카테고리를 검출하는 것은 블록(208)에 의해 지시된다.In one embodiment, the meeting classification logic 152 detects different usage scenarios, such as different categories of meetings that the user is scheduling. This may include business meetings, personal meetings, phone calls, face-to-face meetings, and remote meetings. Detecting different usage scenarios or categories is indicated by block 208 .

이후, 서비스 커버리지 결정 로직(154)은 식별된 카테고리들 각각에서 비율 또는 다른 사용 척도를 결정한다. 예를 들면, 사용자(108)가 개인적인 미팅을 스케줄링하기 위해서는 (시스템(120)을 사용하지 않고 스케줄링하는 사용자에 비해) 비교적 많은 시간을, 그리고 업무 미팅을 스케줄링하기 위해서는 비교적 적은 시간을 시스템(120)을 사용하고 있다는 것일 수 있다. 각각의 카테고리 또는 시나리오에서 사용 비율을 결정하는 것은 블록(210)에 의해 지시된다.The service coverage determination logic 154 then determines a rate or other usage measure in each of the identified categories. For example, user 108 spends relatively more time (compared to a user scheduling without using system 120) to schedule a personal meeting and relatively little time to schedule a business meeting. may be that you are using Determining the percentage of usage in each category or scenario is indicated by block 210 .

경향 식별 로직(156)은 예시적으로, 상이한 카테고리들에서의 사용자(108)의 사용량이 해당 상이한 카테고리들에서 스케줄링된 미팅 또는 캘린더 아이템의 수의 비율로서 증가 또는 감소하고 있는지의 여부를 결정하기 위해, 시간의 경과에 따라, 사용 비율(또는 커버리지 정보)을 집계한다. 이는 블록(212)에 의해 지시된다. 다른 방식으로 스케줄링하는 것에 비해 서비스가 얼마나 자주 사용되고 있는지를 나타내는 척도를 검출 또는 생성하는 것은, 전술한 것들에 더하여 또는 대신하여, 매우 다양한 상이한 방식으로 수행될 수 있다. 이는 블록(214)에 의해 지시된다.Trend identification logic 156 is illustratively configured to determine whether usage of user 108 in different categories is increasing or decreasing as a percentage of the number of meetings or calendar items scheduled in those different categories. , aggregate usage rates (or coverage information) over time. This is indicated by block 212 . Detecting or generating a measure of how often a service is being used as compared to scheduling in other ways may be performed in a wide variety of different ways, in addition to or in lieu of those described above. This is indicated by block 214 .

캘린더 마이닝 로직(144)은 예시적으로 검출된 다양한 것들을 나타내는 출력 신호를 생성한다. 예를 들면, 로직(152)에 의해 식별되는 상이한 미팅 카테고리들 또는 시나리오들을 나타내는 신호를 출력할 수 있다. 로직(124)에 의해 결정되는 서비스 커버리지, 및 로직(156)에 의해 식별되는 다양한 경향을 나타내는 신호를 출력할 수 있다. 매우 다양한 다른 정보도 출력할 수 있다.The calendar mining logic 144 generates output signals representative of the various examples detected. For example, it may output a signal representing different meeting categories or scenarios identified by logic 152 . It may output a signal representing the service coverage determined by logic 124 , and various trends identified by logic 156 . A wide variety of other information can also be output.

또한, 특징 발견 관여 로직(146)은 예시적으로 사용자가 부가적인 기능을 발견하기 위해 서비스(120)에 관여하는 경우를 검출한다. 이는 블록(216)에 의해 지시된다. 예를 들면, 이 로직은 사용자(108)가 시스템(120)에 관여하기 위해 사용하는 상이한 카테고리 또는 유형의 관여를 식별할 수 있다. 이러한 유형의 관여는, 예를 들면, 업무 미팅을 스케줄링하는 것을 지원하기 위해 시스템(120)에 관여하는 것을 포함할 수 있다. 또한, 어떤 다른 유형의 서비스 또는 특징을 시스템(120)이 제공할 수 있는지를 문의하기 위한 관여를 포함할 수도 있다. 스케줄링 의도를 갖지 않는 것으로서의 관여(또는 사용자가 시스템(120)을 사용해서 미팅을 스케줄링하려고 시도하지 않는 관여)를 식별하는 것은 블록(218)에 의해 지시된다. 다양한 유형의 관여는 블록(220)에 의해 지시된 바와 같이 상이한 카테고리들로 분류될 수 있다. 이어서, 어떤 다양한 특징들이 시스템(120)에 의해 제공될 수 있는지를 문의하는 특정 관여가 식별될 수 있다. 이는 블록(222)에 의해 지시된다. 관여 횟수(또는 다른 방식으로 측정된 해당 관여의 레벨)는 사용자 만족도를 나타낼 수 있다. 부가적인 기능을 발견하기 위해 서비스에 대한 관여를 검출하는 것도 다른 방식으로 수행될 수 있다. 이는 블록(224)에 의해 지시된다.In addition, the feature discovery involvement logic 146 detects when the user engages the service 120 to discover additional functionality, for example. This is indicated by block 216 . For example, this logic may identify different categories or types of engagement that user 108 uses to engage with system 120 . This type of engagement may include engaging the system 120 to assist in scheduling a business meeting, for example. It may also include involvement to inquire about what other types of services or features the system 120 may provide. Identification of an engagement as having no scheduling intent (or an engagement in which the user does not attempt to schedule a meeting using the system 120 ) is indicated by block 218 . Various types of involvement may be classified into different categories as indicated by block 220 . A specific engagement may then be identified that inquires what various features may be provided by the system 120 . This is indicated by block 222 . The number of engagements (or the level of that engagement as measured in some other way) may indicate user satisfaction. Detecting involvement in a service to discover additional functionality may also be performed in other ways. This is indicated by block 224 .

또한, 특징 발견 관여 로직(146)은 다양한 상이한 출력 신호들을 생성할 수 있다. 예를 들면, 이 로직은 특정 사용자가 사용하고 있는 상이한 관여 카테고리들을 나타내는 출력 신호를 생성할 수 있다. 이 로직은 사용자가 부가적인 특징을 구하고 있는 관여의 레벨을 나타내는 신호를 출력할 수 있다. 다른 신호들도 출력할 수 있다.Additionally, the feature discovery involvement logic 146 may generate a variety of different output signals. For example, this logic may generate an output signal indicative of the different engagement categories being used by a particular user. This logic may output a signal indicating the level of involvement for which the user is seeking additional features. Other signals can also be output.

전술한 상이한 로직 부분들 또는 시스템에 의해 출력되는 다양한 신호에 기초하여, 만족도 수준 검출 로직(145)은 예시적으로 스케줄링 어시스턴트 시스템(120)에 대한 사용자 만족도 수준을 결정한다. 이는 도 2의 흐름도에서 블록(226)에 의해 지시된다. 다시, 이는 검출된 관심사, 사용자 감정, 추천, 커버리지의 척도, 비-스케줄링 관여, 및 매우 다양한 다른 아이템에 기초할 수 있다. 이는 블록(228)에 의해 지시된다.Based on the different logic portions described above or various signals output by the system, the satisfaction level detection logic 145 determines, illustratively, a user satisfaction level for the scheduling assistant system 120 . This is indicated by block 226 in the flowchart of FIG. Again, this may be based on detected interests, user sentiment, recommendations, measures of coverage, non-scheduling engagements, and a wide variety of other items. This is indicated by block 228 .

또한, 만족도 수준 검출 로직(145)은 계속해서 부가적인 상세한 정보를 결정할 수 있다. 예를 들면, 이 로직은 시스템(120)의 상이한 카테고리들 또는 특징들 각각에 대하여, 또는 복수의 상이한 방식 각각에서 또는 상이한 시나리오들 하에서 시스템(120)을 사용하는 것으로, 정해진 사용자의 만족도를 나타내는 출력을 생성할 수 있다. 이는 블록(230)에 의해 지시된다. 사용자 만족도는 매우 다양한 다른 방식들로도 결정될 수 있으며, 이는 블록(232)에 의해 지시된다.Further, satisfaction level detection logic 145 may continue to determine additional detailed information. For example, this logic may output an output indicative of a given user's satisfaction with each of the different categories or features of the system 120 , or using the system 120 in each of a plurality of different ways or under different scenarios. can create This is indicated by block 230 . User satisfaction may also be determined in a wide variety of other ways, as indicated by block 232 .

이후, 만족도 수준 검출 로직(145)은 예시적으로 결정된 사용자 만족도를 나타내는 하나 이상의 신호를 출력한다. 예를 들면, 이 로직은 시스템(120)에 대한 사용자(108)의 전체 사용자 만족도를 나타내는 신호를 출력할 수 있다. 이 로직은 상이한 특징들에 대응하는 사용자 만족도, 사용자 만족도 전체에서 상이한 특징들 또는 카테고리들 또는 사용 시나리오들에 대응하는 경향을 나타내는 신호를 출력할 수 있다. 또한, 식별된 사용자 만족도 수준에 대하여 얼마나 신뢰하는지를 나타내는 신호를 출력할 수도 있다. 예를 들면, 사용자 만족도 수준이 비교적 많은 양의 데이터에 기초하여 결정되면, 시스템은 더욱 신뢰할 수 있을 것이다. 또한, 메시지의 내용 또는 액션이 덜 모호하면, 결정된 만족도 수준의 신뢰도가 더욱 높아질 수 있음은 물론이다.Thereafter, the satisfaction level detection logic 145 outputs one or more signals representative of the exemplary determined user satisfaction. For example, this logic may output a signal indicative of the overall user satisfaction of the user 108 with the system 120 . This logic may output a signal indicative of user satisfaction corresponding to different features, a tendency to correspond to different features or categories or usage scenarios across user satisfaction. In addition, a signal indicating how much trust is in the identified user satisfaction level may be output. For example, if the user satisfaction level is determined based on a relatively large amount of data, the system will be more reliable. In addition, if the content or action of the message is less ambiguous, it goes without saying that the reliability of the determined level of satisfaction may be higher.

만족도 수준 검출 로직(145)에 의해 출력되는 정보, 및 임의의 다른 정보에 기초하여, 제어 신호 생성기 로직(148)은 하나 이상의 제어 신호를 생성한다. 이는 블록(234)에 의해 지시된다. 예를 들면, 로직(148)은 사용자 만족도에 기초하여, 설문조사 로직(158), 또는 사용자 인터페이스 로직(118), 또는 둘 모두를 제어해서 하나 이상의 사용자에 대한 자연어 설문조사를 수행할 수 있다. 이는 블록(236)에 의해 지시된다. 공유 프롬프팅 로직(162)은 사용자 인터페이스 로직(118)을 제어해서 특정 사용자가 다른 사용자들에게 서비스를 추천하도록 제안할 수 있다. 이는 블록(238)에 의해 지시된다. 예를 들면, 이 로직은 사용자 인터페이스 로직(118)을 사용해서 메시지(예를 들면, 이메일 메시지 또는 다른 메시지)를 생성하고, 해당 메시지를 사용자(108)에게 표시해서 사용자(108)가 하나 이상의 다른 사용자에게 시스템(120)의 사용을 추천하도록 제안할 수 있다. 이 로직은 단순히 사용자(108)가 다른 사용자들에게 전달하면 되는 미리 정의된 제안으로서 메시지를 생성할 수 있다. 메시지는 다른 사용자들이 시스템(120)을 스스로, 또는 다른 방식으로 쉽게 구성할 수 있는 링크를 가질 수 있다.Based on the information output by satisfaction level detection logic 145 , and any other information, control signal generator logic 148 generates one or more control signals. This is indicated by block 234 . For example, logic 148 may control survey logic 158 , or user interface logic 118 , or both, to perform a natural language survey of one or more users based on user satisfaction. This is indicated by block 236 . Share prompting logic 162 may control user interface logic 118 to suggest a particular user to recommend a service to other users. This is indicated by block 238 . For example, this logic may use the user interface logic 118 to generate a message (eg, an email message or other message) and display the message to the user 108 so that the user 108 can use one or more other messages. A user may be offered recommendations for use of the system 120 . This logic may simply generate the message as a predefined suggestion that the user 108 needs to pass on to other users. The message may have links through which other users may easily configure system 120 themselves, or otherwise.

또한, 제어 신호 생성기 로직(148)은 예시적으로 통신 시스템(116)을 제어해서 사용자 만족도 수준이 보증하는 개입 통신을 생성할 수 있다. 예를 들면, 사용자가 매우 불만족하는 경우, 로직(148)은 통신 시스템(116)을 제어해서 불만족한 사용자에게, 또는 불만족한 사용자와 접촉할 수 있는 서포트 담당자에게 통신을 생성할 수 있다. 통신 시스템(116)을 제어해서 사용자, 서포트 담당자 등에게 개입 통신을 생성하는 것은 블록(242)에 의해 지시된다.In addition, the control signal generator logic 148 may illustratively control the communication system 116 to generate an intervening communication guaranteed by a user satisfaction level. For example, if the user is highly dissatisfied, the logic 148 may control the communication system 116 to generate a communication to the dissatisfied user, or to a support person who may contact the dissatisfied user. Controlling the communication system 116 to generate intervening communications to users, support personnel, etc. is indicated by block 242 .

또한, 제어 신호 생성기 로직(148)은 예시적으로, 다수의 사용자에 대하여 다양한 로직 아이템들 및 시스템들의 결과를 집계하고, 집계된 결과를 표시하는, 컴퓨팅 시스템의 원격 시스템 또는 다른 부분에 제공되는 제어 신호를 생성할 수도 있다. 이는 블록(244)에 의해 지시된다. 예를 들면, 결과의 집계는 상대적으로 많은 수의 사용자가 시스템(120) 상의 동일한 특징 또는 기능 세트에 대하여 이슈가 있음을 드러낼 수 있다. 또한, 상대적으로 많은 수의 사용자가 시스템(120)으로부터 하나 이상의 부가적인 기능 아이템을 구하고 있음을 나타낼 수 있다. 상대적으로 많은 수의 사용자가 시스템(120)에 대하여 동일한 유형의 이슈 또는 관심사를 갖는다는 것을 나타낼 수 있다. 이것은, 그리고 매우 다양한 다른 정보는, 집계된 만족도 결과로부터 취득될 수 있다.In addition, the control signal generator logic 148 may, illustratively, aggregate the results of various logical items and systems for multiple users, and control provided to a remote system or other portion of the computing system to display the aggregated results. It can also generate a signal. This is indicated by block 244 . For example, aggregation of results may reveal that a relatively large number of users have issues with the same feature or set of functions on system 120 . It may also indicate that a relatively large number of users are seeking one or more additional functional items from the system 120 . It may indicate that a relatively large number of users have the same type of issue or interest with respect to the system 120 . This, and a wide variety of other information, can be obtained from the aggregated satisfaction results.

제어 신호 생성기 로직(148)은 매우 다양한 다른 방식으로도 제어 신호를 생성할 수 있다. 이는 블록(246)에 의해 지시된다.Control signal generator logic 148 may generate control signals in a wide variety of other ways. This is indicated by block 246 .

따라서, 본 논의는 컴퓨팅 시스템 자체를 향상시킨다는 것을 알 수 있다. 컴퓨팅 시스템은 사용 또는 조합될 수 있는 일련의 신호를 캡처해서, 컴퓨팅 시스템의 상이한 특징들 또는 상이한 부분들에 대한 사용자 만족도를 식별하도록 구성된다. 이는 사용자들이 컴퓨팅 시스템에 관여하려고 시도하고 있는 통신으로부터 취득될 수 있을 뿐만 아니라, 사용자들이 해당 시스템에 직접 관여하려고 시도하고 있지 않은 경우에도 취득될 수 있다. 또한, 캡처된 신호에 기초하여 매우 다양한 상이한 유형의 제어 신호들이 생성될 수 있다.Accordingly, it can be seen that the present discussion enhances the computing system itself. The computing system is configured to capture a series of signals that can be used or combined to identify user satisfaction with different features or different portions of the computing system. This can be obtained from communications that users are attempting to engage with the computing system, as well as when users are not attempting to engage directly with the system. Also, a wide variety of different types of control signals may be generated based on the captured signal.

상기 논의는 다양한 상이한 시스템들, 컴포넌트들 및/또는 로직을 설명했다는 점에 유의한다. 이러한 시스템들, 컴포넌트들 및/또는 로직이 이들 시스템, 컴포넌트 및/또는 로직과 연관되는 기능들을 수행하는 하드웨어 아이템들(예를 들면, 프로세서 및 연관 메모리, 또는 그 밖의 처리 컴포넌트, 그 중 일부는 후술됨)로 구성될 수 있음을 이해할 것이다. 또한, 시스템들, 컴포넌트들 및/또는 로직은, 후술되는 바와 같이, 메모리에 로딩되고 나서 프로세서 또는 서버, 또는 다른 컴퓨팅 컴포넌트에 의해 실행되는 소프트웨어로 구성될 수 있다. 또한, 시스템들, 컴포넌트들 및/또는 로직은 하드웨어, 소프트웨어, 펌웨어 등의 상이한 조합들로 구성될 수 있으며, 그 중 일부 실시예는 후술된다. 이들은 전술한 시스템들, 컴포넌트들 및/또는 로직을 형성하는 데 사용될 수 있는 상이한 구조들의 일부 실시예들일 뿐이다. 다른 구조들도 사용될 수 있다.Note that the above discussion has described a variety of different systems, components, and/or logic. Hardware items in which such systems, components, and/or logic perform functions associated with these systems, components, and/or logic (eg, a processor and associated memory, or other processing components, some of which are described below It will be understood that it may consist of Further, systems, components, and/or logic may consist of software loaded into memory and then executed by a processor or server, or other computing component, as described below. In addition, systems, components, and/or logic may be configured in different combinations of hardware, software, firmware, and the like, some embodiments of which are described below. These are just some embodiments of different structures that may be used to form the systems, components and/or logic described above. Other structures may also be used.

본 논의는 프로세서 및 서버를 언급했다. 일 실시형태에 있어서, 프로세서 및 서버는 별도로 도시되지 않은 연관 메모리 및 타이밍 회로를 구비한 컴퓨터 프로세서를 포함한다. 이들은 이들이 속하고 그것에 의해 활성화되는 시스템 또는 장치의 기능 부분이며, 이러한 시스템에 있는 다른 컴포넌트 또는 아이템의 기능을 가능하게 한다.This discussion referred to processors and servers. In one embodiment, the processor and server include a computer processor with associated memory and timing circuitry not separately shown. These are the functional parts of a system or device to which they belong and which are activated by it, and enable the functionality of other components or items in such a system.

또한, 다수의 사용자 인터페이스 디스플레이가 논의되었다. 이들은 매우 다양한 상이한 형태를 취할 수 있고, 매우 다양한 상이한 사용자 작동식 입력 메커니즘이 거기에 배치될 수 있다. 예를 들면, 사용자 작동식 입력 메커니즘은 텍스트 상자, 체크 박스, 아이콘, 링크, 드롭다운 메뉴, 검색 상자 등일 수 있다. 이들은 매우 다양한 다른 방식으로 작동될 수도 있다. 예를 들면, 이들은 포인트 및 클릭 장치(예를 들면, 트랙 볼 또는 마우스)를 사용해서 작동될 수 있다. 이들은 하드웨어 버튼, 스위치, 조이스틱 또는 키보드, 엄지 스위치(thumb switches) 또는 엄지 패드(thumb pads) 등을 사용해서 작동될 수 있다. 이들은 가상 키보드 또는 다른 가상 액추에이터를 사용해서 작동될 수도 있다. 또한, 이들이 디스플레이되는 스크린이 터치 감응식 스크린일 경우, 이들은 터치 동작을 사용해서 작동될 수 있다. 또한, 이들을 디스플레이하는 장치가 음성 인식 컴포넌트를 가질 경우, 이들은 음성 명령을 사용해서 작동될 수 있다.A number of user interface displays have also been discussed. They can take a wide variety of different forms, and a wide variety of different user-actuated input mechanisms can be placed therein. For example, the user-actuated input mechanism may be a text box, check box, icon, link, drop-down menu, search box, and the like. They may be operated in a wide variety of different ways. For example, they may be operated using a point and click device (eg, a track ball or mouse). These may be operated using hardware buttons, switches, joysticks or keyboards, thumb switches or thumb pads, and the like. They may also be operated using a virtual keyboard or other virtual actuator. Also, if the screen on which they are displayed is a touch-sensitive screen, they can be actuated using touch gestures. Also, if the device displaying them has a voice recognition component, they can be operated using voice commands.

다수의 데이터 저장소가 또한 논의되었다. 이들은 각각 다수의 데이터 저장소로 나뉠 수 있다는 점에 유의한다. 모두 이들에 액세스하는 시스템에 대하여 로컬일 수 있거나, 모두 원격일 수 있거나, 또는 일부는 로컬이고 나머지는 원격일 수 있다. 이들 구성 모두가 본 명세서에서 고려된다.A number of data stores have also been discussed. Note that each of these can be divided into multiple data stores. All may be local to the system accessing them, all may be remote, or some may be local and others may be remote. All of these configurations are contemplated herein.

또한, 도면은 기능이 각각의 블록에 할당되어 있는 다수의 블록을 도시한다. 보다 적은 수의 블록이 사용될 수 있으므로 기능은 보다 적은 수의 컴포넌트에 의해 수행된다는 점에 유의한다. 또한, 기능이 더 많은 컴포넌트들 사이에 분산되면 더 많은 블록이 사용될 수 있다.Also, the figure shows a number of blocks in which a function is assigned to each block. Note that functions are performed by fewer components as fewer blocks can be used. Also, more blocks can be used if functionality is distributed among more components.

도 3은, 요소들이 클라우드 컴퓨팅 아키텍처(500)에 배치된다는 점을 제외하면, 도 1에 도시된 아키텍처(100)의 블록도이다. 클라우드 컴퓨팅은 서비스를 제공하는 시스템의 물리적 위치 또는 구성을 최종 사용자가 알 필요가 없는 계산, 소프트웨어, 데이터 액세스, 및 스토리지 서비스를 제공한다. 다양한 실시형태들에 있어서, 클라우드 컴퓨팅은 적절한 프로토콜을 사용해서 인터넷과 같은 와이드 에어리어 네트워크롤 통해 서비스를 제공한다. 예를 들면, 클라우드 컴퓨팅 제공자는 와이드 에어리어 네트워크를 통해 애플리케이션을 제공하고, 웹 브라우저 또는 임의의 다른 컴퓨팅 컴포넌트를 통해 액세스될 수 있다. 아키텍처(100)의 소프트웨어 또는 컴포넌트 뿐만 아니라 상응하는 데이터는 원격 위치에 있는 서버에 저장될 수 있다. 클라우드 컴퓨팅 환경에서의 컴퓨팅 리소스는 원격 데이터 센터 위치에 통합될 수 있거나 또는 이들은 분산될 수 있다. 클라우드 컴퓨팅 인프라는 사용자에게 단일의 액세스 지점처럼 보이더라도 공유 데이터 센터를 통해 서비스를 제공할 수 있다. 따라서, 본 명세서에서 설명되는 컴포넌트 및 기능은 클라우드 컴퓨팅 아키텍처를 사용해서 원격 위치에서 서비스 제공자로부터 제공될 수 있다. 대안으로서, 이들은 종래의 서버로부터 제공될 수 있거나, 또는 클라이언트 장치에 직접 또는 다른 방식으로 인스톨될 수 있다.FIG. 3 is a block diagram of the architecture 100 shown in FIG. 1 , except that elements are placed in a cloud computing architecture 500 . Cloud computing provides compute, software, data access, and storage services that do not require the end user to know the physical location or configuration of the system providing the service. In various embodiments, cloud computing provides services over a wide area network, such as the Internet, using appropriate protocols. For example, a cloud computing provider may provide the application via a wide area network, and may be accessed via a web browser or any other computing component. The software or components of architecture 100 as well as corresponding data may be stored on a server at a remote location. Computing resources in a cloud computing environment may be consolidated at remote data center locations or they may be distributed. Cloud computing infrastructure can provide services through a shared data center, even if it appears to the user as a single point of access. Accordingly, the components and functions described herein may be provided from a service provider at a remote location using a cloud computing architecture. Alternatively, they may be provided from a conventional server, or may be installed directly or otherwise on the client device.

본 설명은 공공 클라우드 컴퓨팅 및 개인 클라우드 컴퓨팅을 모두 포함하도록 의도된다. 클라우드 컴퓨팅(공공 및 개인 모두)은 실질적으로 원활한 리소스 풀링을 제공할 뿐만 아니라 기본 하드웨어 인프라를 관리 및 구성할 필요성이 감소된다.This description is intended to encompass both public cloud computing and private cloud computing. Cloud computing (both public and private) not only provides substantially seamless pooling of resources, but also reduces the need to manage and configure the underlying hardware infrastructure.

공공 클라우드는 벤더에 의해 관리되고, 일반적으로 동일 인프라를 사용해서 다수의 소비자를 지원한다. 또한, 개인 클라우드와 달리, 공공 클라우드는 최종 사용자들을 하드웨어 관리로부터 해방시킬 수 있다. 개인 클라우드는 계통 자체에 의해 관리될 수 있고, 인프라는 일반적으로 다른 계통들과 공유되지 않는다. 계통은 여전히 설치 및 수리 등과 같은 일부 범위까지는 하드웨어를 유지한다.Public clouds are managed by a vendor and typically serve multiple consumers using the same infrastructure. Also, unlike private clouds, public clouds can free end users from hardware management. The private cloud can be managed by the grid itself, and the infrastructure is usually not shared with other grids. The system still maintains the hardware to some extent, such as installation and repair.

도 3에 도시된 실시예에 있어서, 일부 아이템들은 도 1에 도시된 것들과 유사하고, 유사하게 번호가 매겨진다. 도 3은 구체적으로 컴퓨팅 시스템(102)이 클라우드(502)(공공 클라우드, 개인 클라우드, 또는 일부는 공공 클라우드이고 나머지는 개인 클라우드인 조합일 수 있음)에 위치될 수 있음을 도시한다. 따라서, 사용자(108)는 사용자 장치(504)를 사용해서 클라우드(502)를 통해 이러한 시스템에 액세스한다.3 , some items are similar to those shown in FIG. 1 and are numbered similarly. 3 specifically shows that computing system 102 may be located in cloud 502 (which may be a public cloud, a private cloud, or a combination of some public clouds and others private clouds). Accordingly, the user 108 uses the user device 504 to access such a system via the cloud 502 .

또한, 도 3은 클라우드 아키텍처의 다른 실시예를 묘사한다. 도 3은 컴퓨팅 시스템(102)의 일부 요소가 클라우드(502)에 배치될 수 있지만, 다른 요소들은 그렇지 않을 수도 있다는 것이 고려됨을 도시한다. 예시로서, 데이터 저장소(126)는 클라우드(502) 외부에 배치되고, 클라우드(502)를 통해 액세스될 수 있다. 다른 실시예에 있어서, 시스템(134)(또는 다른 아이템)은 클라우드(502) 외부에 있을 수 있다. 이들이 위치되는 장소에 관계없이, 이들은 네트워크(와이드 에어리어 네트워크 또는 로컬 에어리어 네트워크)를 통해 장치(504)에 의해 직접 액세스될 수 있거나, 이들은 서비스에 의해 원격 위치에서 호스팅될 수 있거나, 또는 이들은 클라우드를 통해 서비스로서 제공될 수 있거나 또는 클라우드에 상주하는 연결 서비스에 의해 액세스될 수 있다. 이들 아키텍처가 모두 본 명세서에서 고려된다.3 also depicts another embodiment of a cloud architecture. 3 illustrates that it is contemplated that some elements of computing system 102 may be located in cloud 502 , while other elements may not. By way of example, data store 126 may be located external to cloud 502 and accessed through cloud 502 . In other embodiments, system 134 (or other item) may be external to cloud 502 . Regardless of where they are located, they may be accessed directly by the device 504 over a network (wide area network or local area network), they may be hosted at a remote location by a service, or they may be via the cloud It may be provided as a service or accessed by a connection service residing in the cloud. Both of these architectures are contemplated herein.

또한, 아키텍처(100), 또는 그 부분들은 매우 다양한 상이한 장치들에 배치될 수 있다는 점에 유의한다. 이들 장치의 일부는 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 또는 팜탑 컴퓨터, 휴대폰, 스마트폰, 멀티미디어 플레이어, 개인용 디지털 어시스턴트 등과 같은 다른 모바일 장치를 포함한다.It is also noted that architecture 100, or portions thereof, may be deployed in a wide variety of different devices. Some of these devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices such as palmtop computers, cell phones, smartphones, multimedia players, personal digital assistants, and the like.

도 4는 본 시스템(또는 그 부분들)이 배치될 수 있는 사용자 또는 클라이언트의 핸드헬드 장치(16)로서 사용될 수 있는 핸드헬드 또는 모바일 컴퓨팅 장치의 예시적인 일 실시예의 간략화된 블록도이다. 도 5 및 도 6은 핸드헬드 또는 모바일 장치의 실시예이다.4 is a simplified block diagram of one exemplary embodiment of a handheld or mobile computing device that may be used as the handheld device 16 of a user or client on which the present system (or portions thereof) may be deployed. 5 and 6 are embodiments of a handheld or mobile device.

도 4는 컴포넌트 컴퓨팅 시스템(102) 또는 사용자 장치(504) 또는 시스템(134)을 실행할 수 있거나 또는 아키텍처(100)와 상호작용하거나, 또는 이들 둘 모두가 가능한 클라이언트 장치(16)의 컴포넌트의 일반적인 블록도를 제공한다. 장치(16)에 있어서, 핸드헬드 장치가 다른 컴퓨팅 장치들과 통신할 수 있게 하고, 일부 실시형태 하에서는, 예를 들면 스캐닝에 의해 정보를 자동으로 수신하기 위한 채널을 제공하는 통신 링크(13)가 제공된다. 통신 링크(13)의 실시예들은 적외선 포트, 직렬/USB 포트, 이더넷 포트와 같은 케이블 네트워크 포트, 및 네트워크에 대한 셀룰러 액세스를 제공하는 데 사용되는 무선 서비스인 GPRS(General Packet Radio Service), LTE, HSPA, HSPA+ 및 그 밖의 3G 및 4G 무선 프로토콜, 1Xrtt, 및 단문 메시지 서비스 뿐만 아니라 네트워크에 대한 로컬 무선 연결을 제공하는 Wi-Fi 프로토콜, 및 블루투스 프로토콜을 포함하는 하나 이상의 통신 프로토콜을 통한 통신을 허용하는 무선 네트워크 포트를 포함한다.4 is a general block diagram of components of a component computing system 102 or a client device 16 capable of executing a user device 504 or system 134 or interacting with the architecture 100, or both. provides a diagram In device 16, there is a communication link 13 that enables the handheld device to communicate with other computing devices and, in some embodiments, provides a channel for automatically receiving information, for example, by scanning. is provided Embodiments of the communication link 13 include an infrared port, a serial/USB port, a cable network port such as an Ethernet port, and General Packet Radio Service (GPRS), LTE, a wireless service used to provide cellular access to the network; Allows communication over one or more communication protocols, including HSPA, HSPA+ and other 3G and 4G wireless protocols, 1Xrtt, and short message services, as well as the Wi-Fi protocol that provides local wireless connectivity to networks, and the Bluetooth protocol. Includes a wireless network port.

다른 실시예들에 있어서, 애플리케이션 또는 시스템은 보안 디지털(SD) 카드 인터페이스(15)에 연결된 착탈식 SD 카드에서 수신된다. SD 카드 인터페이스(15) 및 통신 링크(13)는 메모리(21) 및 입력/출력(I/O) 컴포넌트(23) 뿐만 아니라 클록(25) 및 위치확인 시스템(27)에도 연결된 버스(19)를 따라 프로세서(17)(다른 도면들로부터 프로세서 또는 서버를 구체화할 수도 있음)와 통신한다.In other embodiments, the application or system is received on a removable SD card coupled to a secure digital (SD) card interface 15 . SD card interface 15 and communication link 13 connect bus 19 to memory 21 and input/output (I/O) components 23 as well as clock 25 and positioning system 27 and a processor 17 (which may also embodied a processor or server from other figures).

일 실시형태에 있어서, I/O 컴포넌트(23)는 입력 및 출력 동작을 가능하게 하기 위해 제공된다. 장치(16)의 다양한 실시형태들에 대한 I/O 컴포넌트(23)는 버튼, 터치 센서, 멀티-터치 센서, 광학 또는 비디오 센서, 음성 센서, 터치 스크린, 근접도 센서, 마이크로폰, 기울기 센서, 및 중력 스위치와 같은 입력 컴포넌트, 및 디스플레이 장치, 스피커, 및/또는 프린터 포트와 같은 출력 컴포넌트를 포함할 수 있다. 다른 I/O 컴포넌트(23)도 사용될 수 있다.In one embodiment, an I/O component 23 is provided to enable input and output operations. I/O components 23 for various embodiments of device 16 include buttons, touch sensors, multi-touch sensors, optical or video sensors, voice sensors, touch screens, proximity sensors, microphones, tilt sensors, and It may include input components such as gravity switches, and output components such as display devices, speakers, and/or printer ports. Other I/O components 23 may also be used.

클록(25)은 예시적으로 시간과 날짜를 출력하는 실시간 클록 컴포넌트를 포함한다. 또한, 예시적으로 프로세서(17)에 타이밍 기능을 제공할 수도 있다.Clock 25 illustratively includes a real-time clock component that outputs time and date. In addition, a timing function may be provided to the processor 17 by way of example.

위치확인 시스템(27)은 예시적으로 장치(16)의 현재 지리적 위치를 출력하는 컴포넌트를 포함한다. 이는, 예를 들면, GPS(global positioning system) 수신기, LORAN 시스템, 추측 항법 시스템, 셀룰러 삼각측량 시스템, 또는 다른 포지셔닝 시스템을 포함할 수 있다. 예를 들어, 원하는 맵, 내비게이션 경로 및 다른 지리적 기능을 생성하는 맵핑 소프트웨어 또는 내비게이션 소프트웨어를 포함할 수도 있다.The positioning system 27 illustratively includes a component that outputs the current geographic location of the device 16 . This may include, for example, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It may include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.

메모리(21)는 운영 체제(29), 네트워크 설정(31), 애플리케이션(33), 애플리케이션 구성 설정(35), 데이터 저장소(37), 통신 드라이버(39), 및 통신 구성 설정(41)을 저장한다. 메모리(21)는 모든 타입의 유형(tangible)의 휘발성 및 비-휘발성 컴퓨터-판독 가능 메모리 장치를 포함할 수 있다. 컴퓨터 스토리지 매체(후술됨)를 포함할 수도 있다. 메모리(21)는, 프로세서(17)에 의한 실행시에, 프로세서로 하여금 명령어에 따라 컴퓨터-구현 단계 또는 기능을 수행하게 하는 컴퓨터 판독 가능 명령어를 저장한다. 유사하게, 장치(16)는 다양한 애플리케이션을 실행할 수 있거나 아키텍처(100)의 일부 또는 전부를 구체화할 수 있는 클라이언트 시스템(24)을 가질 수 있다. 프로세서(17)는 그 기능을 가능하게 하기 위해 다른 컴포넌트들에 의해서도 활성화될 수 있다.Memory 21 stores operating system 29 , network settings 31 , applications 33 , application configuration settings 35 , data store 37 , communication drivers 39 , and communication configuration settings 41 . do. Memory 21 may include all types of tangible volatile and non-volatile computer-readable memory devices. It may also include computer storage media (discussed below). Memory 21 stores computer readable instructions that, when executed by processor 17 , cause the processor to perform computer-implemented steps or functions according to the instructions. Similarly, device 16 may have a client system 24 that may execute various applications or may embody some or all of architecture 100 . The processor 17 may also be activated by other components to enable its function.

네트워크 설정(31)의 실시예들은 프록시 정보, 인터넷 연결 정보, 및 맵핑과 같은 것들을 포함한다. 애플리케이션 구성 설정(35)은 애플리케이션을 특정 기업 또는 사용자에게 맞게 조정하는 설정을 포함한다. 통신 구성 설정(41)은 다른 컴퓨터들과의 통신을 위한 파라미터를 제공하고, GPRS 파라미터, SMS 파라미터, 연결 사용자 이름 및 패스워드와 같은 아이템을 포함한다.Embodiments of network settings 31 include such things as proxy information, Internet connection information, and mapping. Application configuration settings 35 include settings for tailoring an application to a specific enterprise or user. Communication configuration setting 41 provides parameters for communication with other computers and includes items such as GPRS parameters, SMS parameters, connection user name and password.

애플리케이션(33)은 사전에 장치(16)에 저장된 애플리케이션 또는 사용하는 동안 인스톨되는 애플리케이션일 수 있지만, 이들은 운영 체제(29)의 일부분일 수 있거나, 또는 장치(16) 외부에서 호스팅될 수도 있다.Applications 33 may be applications previously stored on device 16 or applications installed during use, but they may be part of operating system 29 or may be hosted external to device 16 .

도 5는 장치(16)가 태블릿 컴퓨터(600)인 일 실시예를 도시한다. 도 5에서, 컴퓨터(600)는 사용자 인터페이스 디스플레이 스크린(602)과 함께 도시된다. 스크린(602)은 터치 스크린(따라서, 사용자의 손가락으로부터의 터치 제스처가 애플리케이션과 상호작용하는 데 사용될 수 있음)일 수 있거나, 또는 펜 또는 스타일러스로부터의 입력을 수신하는 펜-가능 인터페이스일 수 있다. 온-스크린(on-screen) 가상 키보드를 사용할 수도 있다. 물론, 예를 들면, 무선 링크 또는 USB 포트와 같은 적절한 부착 메커니즘을 통해 키보드 또는 다른 사용자 입력 장치에 부착될 수도 있다. 또한, 컴퓨터(600)는 예시적으로 음성 입력도 수신할 수 있다.5 shows an embodiment in which the device 16 is a tablet computer 600 . In FIG. 5 , a computer 600 is shown with a user interface display screen 602 . Screen 602 may be a touch screen (thus, touch gestures from the user's finger may be used to interact with the application), or may be a pen-enabled interface that receives input from a pen or stylus. An on-screen virtual keyboard can also be used. Of course, it may also be attached to a keyboard or other user input device via an appropriate attachment mechanism, such as, for example, a wireless link or USB port. Also, the computer 600 may, for example, receive a voice input.

도 6은 장치가 스마트폰(71)일 수 있음을 도시한다. 스마트폰(71)은 아이콘 또는 타일 또는 다른 사용자 입력 메커니즘(75)을 디스플레이하는 터치 감응식 디스플레이(73)를 갖는다. 메커니즘(75)은 애플리케이션을 실행하거나, 전화를 걸거나, 데이터 전송 동작을 수행하는 등을 위해 사용자에 의해 사용될 수 있다. 일반적으로, 스마트폰(71)은 모바일 운영 체제를 기반으로 하고 피처폰보다 더 진보된 컴퓨팅 능력 및 연결성을 제공한다.6 shows that the device may be a smartphone 71 . The smartphone 71 has a touch-sensitive display 73 that displays an icon or tile or other user input mechanism 75 . Mechanism 75 may be used by a user to launch an application, make a phone call, perform a data transfer operation, and the like. In general, a smartphone 71 is based on a mobile operating system and provides more advanced computing power and connectivity than a feature phone.

다른 형태의 장치(16)가 가능하다는 점에 유의한다.Note that other types of devices 16 are possible.

도 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의 상응하는 부분들에 배치될 수 있다.7 is an embodiment of a computing environment in which architecture 100, or a portion thereof, may be (eg) deployed. Referring to FIG. 7 , an exemplary system for implementing some embodiments includes a general purpose computing device in the form of a computer 810 . The components of computer 810 include processing unit 820 (which may include a processor or server from the previous figures), system memory 830, and various system components, including system memory, processing unit 820 . may include, but is not limited to, a system bus 821 that couples to The system bus 821 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures are also referred to as Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Mezzanine bus. Includes the known Peripheral Component Interconnect (PCI) bus. The memory and programs described with respect to FIG. 1 may be located in corresponding portions of FIG. 7 .

컴퓨터(810)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(810)에 의해 액세스될 수 있는 임의의 가용 매체일 수 있으며, 휘발성 및 비휘발성 매체와, 착탈식 및 고정식 매체를 모두 포함한다. 제한이 아닌 예시로서, 컴퓨터 판독 가능 매체는 컴퓨터 스토리지 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 스토리지 매체는 변조 데이터 신호 또는 반송파와 다르며, 이를 포함하지 않는다. 컴퓨터 스토리지 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의, 착탈식 및 고정식 매체를 모두 포함하는 하드웨어 스토리지 매체를 포함한다. 컴퓨터 스토리지 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 원하는 정보를 저장하는 데 사용될 수 있으며 컴퓨터(810)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들에 한정되는 것은 아니다. 통신 매체는 일반적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 데이터를 전송 메커니즘으로 구체화하고 임의의 정보 전달 매체를 포함한다. 용어 "변조 데이터 신호(modulated data signal)"는 신호 내의 정보를 인코딩하는 바와 같은 방식으로 설정 또는 변경되는 하나 이상의 특성을 갖는 신호를 의미한다. 제한이 아닌 예시로서, 통신 매체는 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들의 임의의 조합들도 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.Computer 810 generally includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may include computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. Computer storage media includes hardware storage including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. includes media. A computer storage medium may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or including, but not limited to, any other medium that can be used to store desired information and that can be accessed by computer 810 . Communication media generally embodies computer readable instructions, data structures, program modules, or other data as a transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal having one or more characteristics that are set or changed in such a way as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.

시스템 메모리(830)는 리드 온리 메모리(ROM)(831) 및 랜덤 액세스 메모리(RAM)(832)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 스토리지 매체를 포함한다. 예를 들면, 시동하는 동안, 컴퓨터(810) 내부의 요소들 사이에서 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(833)(BIOS)은 ROM(831)에 저장되는 것이 일반적이다. RAM(832)은 일반적으로 처리 유닛(820)에 의해 즉시 액세스 가능하거나 및/또는 현재 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아닌 예시로서, 도 7은 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)를 예시한다.System memory 830 includes computer storage media in the form of volatile and/or non-volatile memory, such as read only memory (ROM) 831 and random access memory (RAM) 832 . For example, during startup, basic input/output system 833 (BIOS) containing basic routines that help transfer information between elements inside computer 810 are typically stored in ROM 831 . to be. RAM 832 generally contains data and/or program modules that are immediately accessible and/or currently being operated on by processing unit 820 . By way of example and not limitation, FIG. 7 illustrates an operating system 834 , application programs 835 , other program modules 836 , and program data 837 .

또한, 컴퓨터(810)는 다른 착탈식/고정식의 휘발성/비휘발성 컴퓨터 스토리지 매체를 포함할 수 있다. 단지 예시로서, 도 7은 고정식의 비휘발성 자기 매체에 대하여 판독 또는 기입하는 하드 디스크 드라이브(841), 및 CD ROM 또는 기타 광학 매체와 같은 착탈식의 비휘발성 광학 디스크(856)에 대하여 판독 또는 기입하는 광학 디스크 드라이브(855)를 예시한다. 예시적인 동작 환경에서 사용될 수 있는 다른 착탈식/고정식의 휘발성/비휘발성 컴퓨터 스토리지 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다기능 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하지만, 이들에 한정되는 것은 아니다. 하드 디스크 드라이브(841)는 일반적으로 인터페이스(840)와 같은 고정식 메모리 인터페이스를 통해 시스템 버스(821)에 연결되고, 광학 디스크 드라이브(855)는 일반적으로 인터페이스(850)와 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(821)에 연결된다.In addition, computer 810 may include other removable/removable, volatile/non-volatile computer storage media. By way of example only, FIG. 7 shows a hard disk drive 841 that reads from or writes to a fixed nonvolatile magnetic medium, and a hard disk drive 841 that reads or writes to or from a removable nonvolatile optical disk 856 such as a CD ROM or other optical medium. An optical disk drive 855 is illustrated. Other removable/removable volatile/nonvolatile computer storage media that may be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tapes, solid state RAM, solid state ROM, and the like. is not limited to Hard disk drive 841 is typically connected to system bus 821 via a fixed memory interface, such as interface 840 , and optical disk drive 855 is typically connected to the system via a removable memory interface, such as interface 850 . connected to the bus 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) 등을 포함한다.Alternatively, or additionally, the functions described herein may be performed, at least in part, by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that may be used include Field-Programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-SOCs (SOCs). a-chip systems), and Complex Programmable Logic Devices (CPLD).

상기에서 논의되고 도 7에 예시된 드라이브 및 그 연관 컴퓨터 스토리지 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 그 밖의 데이터의 스토리지를 컴퓨터(810)에 제공한다. 도 7에서, 예를 들어, 하드 디스크 드라이브(841)는 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)를 저장하는 것으로 예시된다. 이들 컴포넌트는 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)와 동일하거나 또는 다를 수 있다는 점에 유의한다. 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)는, 최소한, 이들이 서로 다른 카피임을 설명하기 위해 여기서는 서로 다른 번호가 주어진다.The drives discussed above and illustrated in FIG. 7 and their associated computer storage media provide storage of computer readable instructions, data structures, program modules, and other data to the computer 810 . In FIG. 7 , for example, a hard disk drive 841 is illustrated as storing an operating system 844 , application programs 845 , other program modules 846 , and program data 847 . Note that these components may be the same as or different from the operating system 834 , application programs 835 , other program modules 836 , and program data 837 . Operating system 844 , application programs 845 , other program modules 846 , and program data 847 are given different numbers herein to illustrate, at a minimum, that they are different copies.

사용자는 키보드(862), 마이크로폰(863), 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치(861)와 같은 입력 장치를 통해 명령 및 정보를 컴퓨터(810)에 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는, 흔히 시스템 버스에 결합되는 사용자 입력 인터페이스(860)를 통해 처리 유닛(820)에 연결되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 연결될 수 있다. 또한, 시각적 디스플레이(891) 또는 다른 타입의 디스플레이 장치가 비디오 인터페이스(890)와 같은 인터페이스를 통해 시스템 버스(821)에 연결된다. 모니터 이외에도, 컴퓨터는 출력 주변 장치 인터페이스(895)를 통해 연결될 수 있는 스피커(897) 및 프린터(896)와 같은 다른 주변 출력 장치를 또한 포함할 수 있다.A user may enter commands and information into the computer 810 through input devices such as a keyboard 862 , a microphone 863 , and a pointing device 861 , such as a mouse, trackball, or touch pad. Other input devices (not shown) may include joysticks, gamepads, satellite antennas, scanners, and the like. These and other input devices are connected to the processing unit 820 through a user input interface 860, which is often coupled to a system bus, but other interface and bus structures such as a parallel port, game port, or Universal Serial Bus (USB). can be connected by A visual display 891 or other type of display device is also coupled to the system bus 821 via an interface, such as a video interface 890 . In addition to the monitor, the computer may also include other peripheral output devices, such as speakers 897 and printer 896 , which may be connected via an output peripheral interface 895 .

컴퓨터(810)는 원격 컴퓨터(880)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 연결을 사용하여 네트워크화된 환경에서 동작된다. 원격 컴퓨터(880)는 개인용 컴퓨터, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 디바이스 또는 그 밖의 공통 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(810)에 대하여 위에서 설명한 많은 또는 모든 요소들을 포함할 수 있다. 도 7에 묘사된 논리적 연결은 LAN(871) 및 WAN(873)을 포함하지만, 다른 네트워크들을 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 일반적이다.Computer 810 operates in a networked environment using logical connections to one or more remote computers, such as remote computer 880 . Remote computer 880 may be a personal computer, handheld device, server, router, network PC, peer device, or other common network node, and may generally include many or all of the elements described above with respect to computer 810 . may include The logical connections depicted in FIG. 7 include a LAN 871 and a WAN 873, but may include other networks. Such networking environments are common in offices, enterprise computer networks, intranets, and the Internet.

LAN 네트워킹 환경에서 사용될 경우, 컴퓨터(810)는 네트워크 인터페이스 또는 어댑터(870)를 통해 LAN(871)에 연결된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(810)는 일반적으로 인터넷과 같은 WAN(873)을 통해 통신을 확립하기 위한 모뎀(872) 또는 다른 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(872)은 사용자 입력 인터페이스(860), 또는 다른 적절한 메커니즘을 통해 시스템 버스(821)에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(810) 또는 그 일부에 관하여 묘사된 프로그램 모듈은 원격 메모리 스토리지 디바이스에 저장될 수 있다. 제한이 아닌 예시로서, 도 7은 원격 애플리케이션 프로그램(885)을 원격 컴퓨터(880)에 상주하는 것으로 예시한다. 도시된 네트워크 연결은 예시이며, 컴퓨터들 사이에 통신 링크를 확립하는 다른 수단들이 사용될 수 있음을 이해할 것이다.When used in a LAN networking environment, computer 810 is connected to LAN 871 through a network interface or adapter 870 . When used in a WAN networking environment, computer 810 typically includes a modem 872 or other means for establishing communications over a WAN 873, such as the Internet. Modem 872 , which may be internal or external, may be coupled to system bus 821 via user input interface 860 , or other suitable mechanism. In a networked environment, program modules depicted relative to computer 810 or portions thereof may be stored in a remote memory storage device. By way of example and not limitation, FIG. 7 illustrates a remote application program 885 residing on a remote computer 880 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used.

또한, 본 명세서에서 설명되는 상이한 실시형태들은 상이한 방식들로 결합될 수 있다는 점에 유의해야 한다. 즉, 하나 이상의 실시형태의 일부는 하나 이상의 다른 실시형태의 일부와 결합될 수 있다. 본 명세서에서는 이 모두가 고려된다.It should also be noted that the different embodiments described herein may be combined in different ways. That is, portions of one or more embodiments may be combined with portions of one or more other embodiments. All of these are contemplated herein.

실시예 1은 컴퓨팅 시스템으로서,Embodiment 1 is a computing system comprising:

사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템;a messaging system for sending and receiving group messages among a plurality of different users within a group of users;

어시스턴스 시스템과의 상호작용을 위한 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타내는 자연어 요청 메시지를 메시징 시스템으로부터 수신하고, 자연어 요청 메시지에 응답하여 메시징 시스템을 사용해서 사용자와의 대화를 수행하여 서비스를 렌더링하는 어시스턴스 컴퓨팅 시스템;Receive from a messaging system a natural language request message representing a user request from a requesting user within a group of users to interact with the assistance system, and in response to the natural language request message, perform a conversation with the user using the messaging system to provide a service a rendering assistance computing system;

사용자 그룹 내의 복수의 상이한 사용자들로부터, 자연어 요청 메시지 및 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하고, 해당 다른 자연어 메시지들, 자연어 요청 메시지 및 대화에서의 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 분석기 시스템; 및Detect, from a plurality of different users in a user group, in addition to the natural language request message and messages in the conversation, other natural language messages, and provide assistance based on the content of the other natural language messages, the natural language request message and messages in the conversation an analyzer system that generates a satisfaction indication indicative of user satisfaction corresponding to the computing system; and

만족도 표시에 기초하여 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 제어 신호 생성기 로직을 포함한다.and control signal generator logic to generate a control signal for controlling the computing system based on the indication of satisfaction.

실시예 2는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 제어 신호 생성기 로직은 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 요청 사용자에게 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하라고 촉구하도록 구성된다.Embodiment 2 is the computing system of any or all previous embodiments, wherein the control signal generator logic is configured to generate a control signal for controlling the messaging system to prompt the requesting user to recommend the assistance computing system to another user.

실시예 3은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:Embodiment 3 is the computing system of any or all previous embodiments, wherein the analyzer system comprises:

어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하고 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하도록 구성되는 특징 발견 관여 로직; 및feature discovery engagement logic configured to identify a feature discovery natural language message that inquires about additional functionality provided by the assistance computing system and generate a feature discovery engagement indicator indicative of the feature discovery natural language message; and

특징 발견 관여 지표에 기초하여 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함한다.and satisfaction level detection logic configured to generate an indication of satisfaction based on the feature discovery involvement indicator.

실시예 4는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 분석기 시스템은:Embodiment 4 is the computing system of any or all previous embodiments, wherein the assistance computing system comprises a scheduling assistant configured to render a scheduling assistance service, the analyzer system comprising:

요청 사용자에 대응하는 캘린더 정보에 액세스해서 요청 사용자에 의한 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하도록 구성되는 캘린더 마이닝 로직; 및calendar mining logic configured to access calendar information corresponding to the requesting user to identify a usage level indicative of a level of usage of the scheduling assistant by the requesting user; and

사용 레벨에 기초하여 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함한다.and satisfaction level detection logic configured to generate the satisfaction indication based on the usage level.

실시예 5는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:Embodiment 5 is the computing system of any or all previous embodiments, wherein the calendar mining logic comprises:

캘린더 정보에 액세스하고, 사용자가 커버리지 지표를 취득하기 위해 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별하도록 구성되는 서비스 커버리지 결정 로직을 포함하고, 만족도 수준 검출 로직은 커버리지 지표에 기초하여 만족도 표시를 생성한다.access calendar information, and identify how often the requesting user used the scheduling assistant in performing the scheduling action relative to how often the user performed the scheduling action without using the scheduling assistant to obtain a coverage indicator and service coverage determination logic, wherein the satisfaction level detection logic generates an indication of satisfaction based on the coverage indicator.

실시예 6은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:Embodiment 6 is the computing system of any or all previous embodiments, wherein the calendar mining logic comprises:

캘린더 정보에 액세스하고, 요청 사용자가 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하도록 구성되는 미팅 분류 로직을 포함한다.and meeting classification logic configured to access calendar information and identify different categories of scheduling items for which the requesting user performed a scheduling operation.

실시예 7은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 서비스 커버리지 결정 로직은 스케줄링 아이템들의 각각의 카테고리에 대응하는 커버리지 지표를 취득하도록 구성된다.Embodiment 7 is the computing system of any or all previous embodiments, wherein the service coverage determining logic is configured to obtain a coverage indicator corresponding to each category of scheduling items.

실시예 8은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 캘린더 마이닝 로직은:Embodiment 8 is the computing system of any or all previous embodiments, wherein the calendar mining logic comprises:

사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을 식별하도록 구성되는 경향 식별 로직을 포함한다.and trend identification logic configured to identify a trend of how often the requesting user used the scheduling assistant in performing the scheduling operation relative to how often the user performed the scheduling operation without using the scheduling assistant.

실시예 9는 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:Embodiment 9 is the computing system of any or all previous embodiments, wherein the analyzer system comprises:

요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하여 추천 검출 지표를 생성하도록 구성되는 사용자 추천 검출 로직을 포함하고, 만족도 수준 검출 로직은 추천 검출 지표에 기초하여 만족도 표시를 생성하도록 구성된다.user recommendation detection logic configured to detect whether the requesting user has recommended the assistance computing system to other users to generate a recommendation detection metric, wherein the satisfaction level detection logic generates a satisfaction indication based on the recommendation detection metric; configured to do

실시예 10은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 분석기 시스템은:Embodiment 10 is the computing system of any or all previous embodiments, wherein the analyzer system comprises:

메시지들의 내용에서 요청 사용자의 감정을 식별하고 식별된 감정과 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하도록 구성되는 감정 분석 로직을 포함하고, 만족도 수준 검출 로직은 식별된 감정 및 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 만족도 표시를 생성한다.and sentiment analysis logic configured to identify an emotion of the requesting user in the content of the messages and to identify a correlation between the identified emotion and the assistance computing system, wherein the satisfaction level detection logic is configured to: A satisfaction indication is generated based on the correlation.

실시예 11은 임의의 또는 모든 이전 실시예들의 컴퓨팅 시스템으로서, 감정 분석 로직은 메시지들의 내용에서 요청 사용자의 감정을 식별하고 식별된 감정과 어시스턴스 컴퓨팅 시스템의 개별 특징 사이의 상관관계를 식별하도록 구성되고, 만족도 수준 검출 로직은 식별된 감정 및 어시스턴스 컴퓨팅 시스템의 개별 특징에 대한 상관관계에 기초하여 만족도 표시를 생성한다.Embodiment 11 is the computing system of any or all previous embodiments, wherein the sentiment analysis logic is configured to identify an emotion of the requesting user in the content of the messages and to identify a correlation between the identified emotion and a respective characteristic of the assistance computing system. and the satisfaction level detection logic generates an indication of satisfaction based on the identified emotions and correlations to individual characteristics of the assistance computing system.

실시예 12는 컴퓨터 구현 방법으로서,Embodiment 12 is a computer implemented method comprising:

어시스턴스 컴퓨팅 시스템에서, 사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템으로부터 자연어 요청 메시지를 수신― 자연어 요청 메시지는 어시스턴스 시스템과의 상호작용을 위한 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타냄 ―하는 단계;In the assistance computing system, receive a natural language request message from a messaging system that sends and receives group messages among a plurality of different users within the group of users, wherein the natural language request message is a requesting user within a group of users for interaction with the assistance system. indicating a user request from;

자연어 요청 메시지에 응답하여 사용자와 대화를 수행해서 서비스를 렌더링하도록 메시징 시스템을 제어하는 단계;controlling the messaging system to render a service by performing a conversation with the user in response to the natural language request message;

사용자 그룹 내의 복수의 상이한 사용자들로부터, 자연어 요청 메시지 및 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하는 단계;detecting, from a plurality of different users within the user group, in addition to the natural language request message and messages in the conversation, other natural language messages;

다른 자연어 메시지들, 자연어 요청 메시지 및 대화에서의 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 단계; 및generating a satisfaction indication indicative of user satisfaction corresponding to the assistance computing system based on content of other natural language messages, natural language request messages, and messages in the conversation; and

만족도 표시에 기초하여 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 단계를 포함한다.and generating a control signal for controlling the computing system based on the indication of satisfaction.

실시예 13은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 제어 신호를 생성하는 단계는:Embodiment 13 is the computer-implemented method of any or all previous embodiments, wherein generating a control signal comprises:

메시징 시스템을 제어하기 위한 제어 신호를 생성해서 요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하도록 촉구하는 단계를 포함한다.generating a control signal for controlling the messaging system to prompt the requesting user to recommend the assistance computing system to another user.

실시예 14는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:Embodiment 14 is the computer-implemented method of any or all previous embodiments, wherein generating the satisfaction indication comprises:

어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하는 단계;identifying a feature discovery natural language message that inquires about additional functionality provided by the assistance computing system;

특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하는 단계; 및generating a feature discovery involvement indicator representing a feature discovery natural language message; and

특징 발견 관여 지표에 기초하여 만족도 표시를 생성하는 단계를 포함한다.and generating an indication of satisfaction based on the feature discovery engagement index.

실시예 15는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 만족도 표시를 생성하는 단계는:Embodiment 15 is the computer-implemented method of any or all previous embodiments, wherein the assistance computing system comprises a scheduling assistant configured to render a scheduling assistance service, wherein generating the satisfaction indication comprises:

요청 사용자에 대응하는 캘린더 정보에 액세스하는 단계;accessing calendar information corresponding to the requesting user;

요청 사용자에 의한 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하는 단계; 및identifying a usage level indicative of a level of usage of the scheduling assistant by the requesting user; and

사용 레벨에 기초하여 만족도 표시를 생성하는 단계를 포함한다.and generating an indication of satisfaction based on the level of usage.

실시예 16은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 사용 레벨을 식별하는 단계는:Embodiment 16 is the computer-implemented method of any or all previous embodiments, wherein identifying the usage level comprises:

사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별함으로써, 캘린더 정보로부터, 사용의 레벨을 식별하는 단계; 및identifying, from the calendar information, a level of usage, by identifying how often the requesting user used the scheduling assistant in performing the scheduling operation relative to how often the user performed the scheduling operation without using the scheduling assistant; and

사용의 레벨에 기초하여 커버리지 지표를 식별하는 단계를 포함한다.and identifying a coverage metric based on the level of usage.

실시예 17은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 사용 레벨을 식별하는 단계는:Embodiment 17 is the computer-implemented method of any or all previous embodiments, wherein identifying the usage level comprises:

캘린더 정보로부터, 요청 사용자가 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하는 단계; 및identifying, from the calendar information, different categories of scheduling items for which the requesting user performed a scheduling operation; and

스케줄링 아이템들의 각각의 카테고리에 대응하는 커버리지 지표를 식별하는 단계를 포함한다.and identifying a coverage indicator corresponding to each category of scheduling items.

실시예 18은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서,Embodiment 18 is the computer-implemented method of any or all previous embodiments, comprising:

사용자가 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 요청 사용자가 스케줄링 동작을 수행함에 있어서 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을, 스케줄링 아이템들의 카테고리들 각각에서, 스케줄링 아이템들의 카테고리들 각각에 대응하는 일련의 커버리지 지표에 기초하여 식별하는 단계를 더 포함한다.In each of the categories of scheduling items, the categories of scheduling items, a trend of how often the requesting user used the scheduling assistant in performing the scheduling operation, relative to how often the user performed the scheduling operation without using the scheduling assistant. The method further includes identifying based on a set of coverage indicators corresponding to each.

실시예 19는 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:Embodiment 19 is the computer-implemented method of any or all previous embodiments, wherein generating the satisfaction indication comprises:

요청 사용자가 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하는 단계;detecting whether the requesting user has recommended the assistance computing system to other users;

추천 검출 지표를 생성하는 단계; 및generating a recommended detection indicator; and

추천 검출 지표에 기초하여 만족도 표시를 생성하는 단계를 포함한다.and generating an indication of satisfaction based on the recommended detection indicator.

실시예 20은 임의의 또는 모든 이전 실시예들의 컴퓨터 구현 방법으로서, 만족도 표시를 생성하는 단계는:Embodiment 20 is the computer-implemented method of any or all previous embodiments, wherein generating the satisfaction indication comprises:

메시지들의 내용에서 요청 사용자의 감정을 식별하는 단계;identifying the emotion of the requesting user in the content of the messages;

식별된 감정과 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하는 단계; 및identifying a correlation between the identified emotion and the assistance computing system; and

식별된 감정 및 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 만족도 표시를 생성하는 단계를 포함한다.generating an indication of satisfaction based on the identified emotion and the correlation to the assistance computing system.

실시예 21은 컴퓨팅 시스템으로서,Embodiment 21 is a computing system comprising:

상호작용 요청을 나타내는 자연어 요청 메시지를 수신하고 자연어 상호작용 요청에 기초하여 서비스를 제공하는 소프트웨어 에이전트;a software agent that receives a natural language request message indicating the interaction request and provides a service based on the natural language interaction request;

사용자로부터 소프트웨어 에이전트에 송신된 일련의 메시지를 갖는 대화를 수행― 일련의 메시지 중 적어도 하나의 메시지는 자연어 요청 메시지를 포함함 ―하는 메시징 시스템;a messaging system for conducting a conversation having a series of messages sent from a user to a software agent, wherein at least one of the series of messages comprises a natural language request message;

일련의 메시지 중 자연어 요청 메시지 및 다른 메시지들의 내용을 분석하고 일련의 메시지 중 자연어 요청 메시지 및 다른 메시지들의 내용에 기초하여 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 신호 분석기; 및a signal analyzer that analyzes contents of the natural language request message and other messages in the series of messages and generates a satisfaction indication indicating user satisfaction corresponding to the assistance computing system based on contents of the natural language request message and other messages in the series of messages; and

만족도 표시에 기초하여 메시징 시스템을 제어하는 제어 신호 생성기 로직을 포함한다.and control signal generator logic to control the messaging system based on the satisfaction indication.

청구 대상을 구조적인 특징들 및/또는 방법론적 동작들에 특정되는 언어로 설명했지만, 청구범위에서 규정되는 청구 대상이 반드시 전술한 특정한 특징들 또는 동작들에 한정되는 것은 아니라는 점을 이해해야 한다. 오히려, 전술한 특정한 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태로서 개시된다.Although claimed subject matter has been described in language specific to structural features and/or methodological acts, it should be understood that the subject matter defined in the claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (15)

컴퓨팅 시스템으로서,
사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템;
어시스턴스 컴퓨팅 시스템과의 상호작용을 위한 상기 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타내는 자연어 요청 메시지를 상기 메시징 시스템으로부터 수신하고, 상기 자연어 요청 메시지에 응답하여 상기 메시징 시스템을 사용해서 사용자와의 대화를 수행하여 서비스를 렌더링하는 상기 어시스턴스 컴퓨팅 시스템;
상기 사용자 그룹 내의 복수의 상이한 사용자들로부터, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하고, 상기 다른 자연어 메시지들, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 분석기 시스템; 및
상기 만족도 표시에 기초하여 상기 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 제어 신호 생성기 로직을 포함하는
컴퓨팅 시스템.
A computing system comprising:
a messaging system for sending and receiving group messages among a plurality of different users within a group of users;
Receive from the messaging system a natural language request message representing a user request from a requesting user within the group of users to interact with an assistance computing system, and in response to the natural language request message, interact with a user using the messaging system the assistance computing system to render a service by performing ;
Detect, from a plurality of different users in the user group, in addition to the natural language request message and messages in the conversation, other natural language messages, and content of the other natural language messages, the natural language request message and messages in the conversation an analyzer system that generates a satisfaction indication indicative of user satisfaction corresponding to the assistance computing system based on ; and
and control signal generator logic to generate a control signal for controlling the computing system based on the satisfaction indication.
computing system.
제1항에 있어서,
상기 제어 신호 생성기 로직은 상기 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 상기 요청 사용자에게 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하라고 촉구하도록 구성되는
컴퓨팅 시스템.
According to claim 1,
wherein the control signal generator logic is configured to generate a control signal for controlling the messaging system to prompt the requesting user to recommend the assistance computing system to another user.
computing system.
제1항에 있어서,
상기 분석기 시스템은:
상기 어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하고 상기 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하도록 구성되는 특징 발견 관여 로직; 및
상기 특징 발견 관여 지표에 기초하여 상기 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함하는
컴퓨팅 시스템.
According to claim 1,
The analyzer system comprises:
feature discovery engagement logic configured to identify a feature discovery natural language message that inquires about additional functionality provided by the assistance computing system and generate a feature discovery engagement indicator indicative of the feature discovery natural language message; and
satisfaction level detection logic configured to generate the satisfaction indication based on the feature discovery involvement indicator;
computing system.
제1항에 있어서,
상기 어시스턴스 컴퓨팅 시스템은 스케줄링 어시스턴스 서비스를 렌더링하도록 구성되는 스케줄링 어시스턴트를 포함하고, 상기 분석기 시스템은:
상기 요청 사용자에 대응하는 캘린더 정보에 액세스해서 상기 요청 사용자에 의한 상기 스케줄링 어시스턴트의 사용의 레벨을 나타내는 사용 레벨을 식별하도록 구성되는 캘린더 마이닝 로직; 및
상기 사용 레벨에 기초하여 상기 만족도 표시를 생성하도록 구성되는 만족도 수준 검출 로직을 포함하는
컴퓨팅 시스템.
According to claim 1,
The assistance computing system comprises a scheduling assistant configured to render a scheduling assistance service, the analyzer system comprising:
calendar mining logic configured to access calendar information corresponding to the requesting user to identify a usage level indicative of a level of usage of the scheduling assistant by the requesting user; and
satisfaction level detection logic configured to generate the satisfaction indication based on the usage level;
computing system.
제4항에 있어서,
상기 캘린더 마이닝 로직은:
상기 캘린더 정보에 액세스하고, 사용자가 커버리지 지표를 취득하기 위해 상기 스케줄링 어시스턴트를 사용하지 않고 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 상기 요청 사용자가 스케줄링 동작을 수행함에 있어서 상기 스케줄링 어시스턴트를 얼마나 자주 사용했는지를 식별하도록 구성되는 서비스 커버리지 결정 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 커버리지 지표에 기초하여 상기 만족도 표시를 생성하는
컴퓨팅 시스템.
5. The method of claim 4,
The calendar mining logic is:
how often the requesting user used the scheduling assistant in performing a scheduling operation to access the calendar information and how often the user performed a scheduling operation without using the scheduling assistant to obtain a coverage indicator service coverage determination logic configured to identify, wherein the satisfaction level detection logic generates the satisfaction indication based on the coverage metric.
computing system.
제5항에 있어서,
상기 캘린더 마이닝 로직은:
상기 캘린더 정보에 액세스하고, 상기 요청 사용자가 상기 스케줄링 동작을 수행한 스케줄링 아이템들의 상이한 카테고리들을 식별하도록 구성되는 미팅 분류 로직을 포함하는
컴퓨팅 시스템.
6. The method of claim 5,
The calendar mining logic is:
and meeting classification logic configured to access the calendar information and identify different categories of scheduling items for which the requesting user performed the scheduling operation.
computing system.
제6항에 있어서,
상기 서비스 커버리지 결정 로직은 스케줄링 아이템들의 각각의 카테고리에 대응하는 상기 커버리지 지표를 취득하도록 구성되는
컴퓨팅 시스템.
7. The method of claim 6,
wherein the service coverage determination logic is configured to obtain the coverage indicator corresponding to each category of scheduling items.
computing system.
제5항에 있어서,
상기 캘린더 마이닝 로직은:
사용자가 상기 스케줄링 어시스턴트를 사용하지 않고 상기 스케줄링 동작을 얼마나 자주 수행했는지에 대하여 상기 요청 사용자가 상기 스케줄링 동작을 수행함에 있어서 상기 스케줄링 어시스턴트를 얼마나 자주 사용했는지의 경향을 식별하도록 구성되는 경향 식별 로직을 포함하는
컴퓨팅 시스템.
6. The method of claim 5,
The calendar mining logic is:
and trend identification logic configured to identify a trend of how often the requesting user used the scheduling assistant in performing the scheduling operation with respect to how often the user performed the scheduling operation without using the scheduling assistant. doing
computing system.
제3항에 있어서,
상기 분석기 시스템은:
상기 요청 사용자가 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자들에게 추천했는지의 여부를 검출하여 추천 검출 지표를 생성하도록 구성되는 사용자 추천 검출 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 추천 검출 지표에 기초하여 상기 만족도 표시를 생성하도록 구성되는
컴퓨팅 시스템.
4. The method of claim 3,
The analyzer system comprises:
and user recommendation detection logic, configured to detect whether the requesting user has recommended the assistance computing system to other users to generate a recommendation detection indicator, wherein the satisfaction level detection logic is configured to: configured to generate the satisfaction indication.
computing system.
제3항에 있어서,
상기 분석기 시스템은:
상기 메시지들의 내용에서 상기 요청 사용자의 감정을 식별하고 상기 식별된 감정과 상기 어시스턴스 컴퓨팅 시스템 사이의 상관관계를 식별하도록 구성되는 감정 분석 로직을 포함하고, 상기 만족도 수준 검출 로직은 상기 식별된 감정 및 상기 어시스턴스 컴퓨팅 시스템에 대한 상관관계에 기초하여 상기 만족도 표시를 생성하는
컴퓨팅 시스템.
4. The method of claim 3,
The analyzer system comprises:
and sentiment analysis logic configured to identify an emotion of the requesting user in the content of the messages and to identify a correlation between the identified emotion and the assistance computing system, wherein the satisfaction level detection logic is configured to: generating the satisfaction indication based on the correlation to the assistance computing system;
computing system.
제10항에 있어서,
상기 감정 분석 로직은 상기 메시지들의 내용에서 상기 요청 사용자의 감정을 식별하고 상기 식별된 감정과 상기 어시스턴스 컴퓨팅 시스템의 개별 특징 사이의 상관관계를 식별하도록 구성되고, 상기 만족도 수준 검출 로직은 상기 식별된 감정 및 상기 어시스턴스 컴퓨팅 시스템의 개별 특징에 대한 상관관계에 기초하여 상기 만족도 표시를 생성하는
컴퓨팅 시스템.
11. The method of claim 10,
wherein the sentiment analysis logic is configured to identify an emotion of the requesting user in the content of the messages and to identify a correlation between the identified emotion and a respective characteristic of the assistance computing system, and wherein the satisfaction level detection logic is configured to: generating the satisfaction indication based on emotion and correlation to individual characteristics of the assistance computing system;
computing system.
컴퓨터 구현 방법으로서,
어시스턴스 컴퓨팅 시스템에서, 사용자 그룹 내의 복수의 상이한 사용자들 사이에서 그룹 메시지를 송신 및 수신하는 메시징 시스템으로부터 자연어 요청 메시지를 수신― 상기 자연어 요청 메시지는 상기 어시스턴스 컴퓨팅 시스템과의 상호작용을 위한 상기 사용자 그룹 내의 요청 사용자로부터의 사용자 요청을 나타냄 ―하는 단계;
상기 자연어 요청 메시지에 응답하여 사용자와 대화를 수행해서 서비스를 렌더링하도록 상기 메시징 시스템을 제어하는 단계;
상기 사용자 그룹 내의 복수의 상이한 사용자들로부터, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들에 더하여, 다른 자연어 메시지들을 검출하는 단계;
상기 다른 자연어 메시지들, 상기 자연어 요청 메시지 및 상기 대화에서의 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 단계; 및
상기 만족도 표시에 기초하여 상기 컴퓨팅 시스템을 제어하기 위한 제어 신호를 생성하는 단계를 포함하는
컴퓨터 구현 방법.
A computer implemented method comprising:
In an assistance computing system, receive a natural language request message from a messaging system that sends and receives group messages among a plurality of different users within a group of users, wherein the natural language request message is configured for interaction with the assistance computing system. indicating a user request from a requesting user in the group;
controlling the messaging system to render a service by performing a conversation with a user in response to the natural language request message;
detecting, in addition to the natural language request message and messages in the conversation, other natural language messages from a plurality of different users in the user group;
generating a satisfaction indication indicative of user satisfaction corresponding to the assistance computing system based on content of the other natural language messages, the natural language request message, and messages in the conversation; and
generating a control signal for controlling the computing system based on the satisfaction indication;
How to implement a computer.
제12항에 있어서,
상기 제어 신호를 생성하는 단계는:
상기 메시징 시스템을 제어하기 위한 제어 신호를 생성해서 상기 요청 사용자가 상기 어시스턴스 컴퓨팅 시스템을 다른 사용자에게 추천하도록 촉구하는 단계를 포함하는
컴퓨터 구현 방법.
13. The method of claim 12,
The step of generating the control signal comprises:
generating a control signal for controlling the messaging system to prompt the requesting user to recommend the assistance computing system to another user;
How to implement a computer.
제12항에 있어서,
상기 만족도 표시를 생성하는 단계는:
상기 어시스턴스 컴퓨팅 시스템에 의해 제공되는 부가적인 기능에 대하여 문의하는 특징 발견 자연어 메시지를 식별하는 단계;
상기 특징 발견 자연어 메시지를 나타내는 특징 발견 관여 지표를 생성하는 단계; 및
상기 특징 발견 관여 지표에 기초하여 상기 만족도 표시를 생성하는 단계를 포함하는
컴퓨터 구현 방법.
13. The method of claim 12,
The step of generating the satisfaction indication comprises:
identifying a feature discovery natural language message that inquires about additional functionality provided by the assistance computing system;
generating a feature discovery involvement indicator representing the feature discovery natural language message; and
generating the satisfaction indication based on the feature discovery involvement index
How to implement a computer.
컴퓨팅 시스템으로서,
상호작용 요청을 나타내는 자연어 요청 메시지를 수신하고 상기 자연어 상호작용 요청에 기초하여 서비스를 제공하는 소프트웨어 에이전트;
사용자로부터 상기 소프트웨어 에이전트에 송신된 일련의 메시지를 갖는 대화를 수행― 상기 일련의 메시지 중 적어도 하나의 메시지는 상기 자연어 요청 메시지를 포함함 ―하는 메시징 시스템;
상기 일련의 메시지 중 상기 자연어 요청 메시지 및 다른 메시지들의 내용을 분석하고 상기 일련의 메시지 중 상기 자연어 요청 메시지 및 다른 메시지들의 내용에 기초하여 상기 어시스턴스 컴퓨팅 시스템에 대응하는 사용자 만족도를 나타내는 만족도 표시를 생성하는 신호 분석기; 및
상기 만족도 표시에 기초하여 상기 메시징 시스템을 제어하는 제어 신호 생성기 로직을 포함하는
컴퓨팅 시스템.
A computing system comprising:
a software agent that receives a natural language request message indicating an interaction request and provides a service based on the natural language interaction request;
a messaging system for conducting a conversation having a series of messages sent from a user to the software agent, wherein at least one of the series of messages includes the natural language request message;
Analyze the contents of the natural language request message and other messages of the series of messages, and generate a satisfaction indication indicating user satisfaction corresponding to the assistance computing system based on the contents of the natural language request message and other messages of the series of messages signal analyzer; and
and control signal generator logic to control the messaging system based on the satisfaction indication.
computing system.
KR1020210055800A 2021-04-29 2021-04-29 A natural language processing and analyzing method in interactive computing system KR20220148981A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210055800A KR20220148981A (en) 2021-04-29 2021-04-29 A natural language processing and analyzing method in interactive computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210055800A KR20220148981A (en) 2021-04-29 2021-04-29 A natural language processing and analyzing method in interactive computing system

Publications (1)

Publication Number Publication Date
KR20220148981A true KR20220148981A (en) 2022-11-08

Family

ID=84041174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210055800A KR20220148981A (en) 2021-04-29 2021-04-29 A natural language processing and analyzing method in interactive computing system

Country Status (1)

Country Link
KR (1) KR20220148981A (en)

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
CN110753911B (en) Automatic context transfer between applications
US11055647B2 (en) Resource conflict detection and communication
US10656930B2 (en) Dynamic deployment target control
US20160026944A1 (en) Identifying new display elements in a unified thread
US10430412B2 (en) Retrieval of enterprise content that has been presented
US9373148B2 (en) Connect social networking users who simultaneously check-in at a geolocation
US11038832B2 (en) Response status management in a social networking environment
US20180276621A1 (en) Controlling a computing system to generate a pre-accept cache for calendar sharing
WO2021076335A1 (en) Contextual meeting participant suggestion platform
KR102683169B1 (en) Natural language processing and analysis techniques in interactive scheduling assistant computing systems
KR20220148981A (en) A natural language processing and analyzing method in interactive computing system
US10909138B2 (en) Transforming data to share across applications
US20170329494A1 (en) Electronic mail control system integrating timeslot functionality