BR112020002532A2 - processamento e análise de linguagem natural em um sistema de computação assistente de programação conversacional - Google Patents

processamento e análise de linguagem natural em um sistema de computação assistente de programação conversacional Download PDF

Info

Publication number
BR112020002532A2
BR112020002532A2 BR112020002532-1A BR112020002532A BR112020002532A2 BR 112020002532 A2 BR112020002532 A2 BR 112020002532A2 BR 112020002532 A BR112020002532 A BR 112020002532A BR 112020002532 A2 BR112020002532 A2 BR 112020002532A2
Authority
BR
Brazil
Prior art keywords
user
satisfaction
natural language
messages
programming
Prior art date
Application number
BR112020002532-1A
Other languages
English (en)
Inventor
Benjamin Gene Cheung
Andres Monroy-Hernandez
Todd Daniel Newman
Mayerber Loureiro De Carvalho Neto
Michael Brian Palmer
Pamela Bhattacharya
Justin Brooks Cranshaw
Charles Yin-che Lee
Original Assignee
Microsoft Technology Licensing, Llc
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 Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112020002532A2 publication Critical patent/BR112020002532A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

A presente invenção refere-se a um agente de software, que é utilizado para auxiliar no fornecimento de um serviço, recebe comunicações de um conjunto de usuários que está tentando utilizar o agente de software. As comunicações incluem comunicações que estão interagindo com o agente de software e comunicações que não estão interagindo com o agente de software. O agente de software realiza o processamento de linguagem natural em todas as comunicações para identificar itens como sentimento do usuário, preocupações do usuário ou outros itens no teor das mensagens, e também para identificar ações realizadas pelos usuários a fim de obter uma medida da satisfação do usuário com o agente de software. Um ou mais sinais de ação são, então, gerados com base na satisfação de usuário identificada com o agente de software.

Description

Relatório Descritivo da Patente de Invenção para "PRO-
CESSAMENTO E ANÁLISE DE LINGUAGEM NATURAL EM UM
SISTEMA DE COMPUTAÇÃO ASSISTENTE DE PROGRAMAÇÃO CONVERSACIONAL". Antecedentes
[0001] Sistemas de computação estão atualmente em ampla utili- zação. Alguns sistemas de computação incluem sistemas de computa- ção de correio eletrônico (e-mail), sistemas de computação de calen- dário e programação, dentre uma ampla variedade de outros sistemas.
[0002] Além disso, alguns sistemas de computação incluem agen- tes digitais, ou assistentes digitais pessoais. Esses tipos de agentes ou assistentes podem incluir, por exemplo, agentes de software ou outros bots, que são programas de computador que podem fornecer uma in- terface para interação humana, utilizando linguagem natural, e que pode realizar várias tarefas. Utilizam, de forma ilustrativa, a lógica de compreensão da linguagem natural para identificar um significado lin- guístico dos registros da linguagem natural e para realizar determina- das tarefas para o usuário, automaticamente, com base nesses regis- tros de linguagem natural. Por exemplo, com base em um registro de linguagem natural, o agente ou assistente pode configurar lembretes, responder a questões para realização de buscas, interagir com outros serviços, entre outras coisas.
[0003] Na realização dessas tarefas, tais agentes ou bots estão frequentemente envolvidos na condução de uma conversa com um usuário a fim de realizar um serviço. Por exemplo, alguns bots ou agentes podem ser utilizados quando um usuário está tendo uma con- versa com outros usuários. Por meio de exemplo, assume-se que um primeiro usuário envie uma mensagem de correio eletrônico (uma mensagem de e-mail) para um grupo de outros usuários perguntando se gostariam de assistir a um filme ou fazer outro programa em uma data particular. A fim de encontrar atividades disponíveis, um dos usu- ários ou o grupo também pode enviar uma mensagem de e-mail (copi- ando todos os outros usuários do grupo) para um agente de software, configurado para identificar entretenimento em diferentes locais em diferentes datas. O agente de software, então, envia, para o grupo, um conjunto de atividades de entretenimento que estão acontecendo e em que datas, e também pode auxiliar o grupo na obtenção de ingressos. Por meio de exemplo, o agente de software pode enviar um e-mail pa- ra todo o grupo indicando o conjunto de atividades de entretenimento e perguntando se o agente de software deve obter ingressos. Se for di- recionado nesse sentido, o agente de software pode conduzir um diá- logo com um ou mais dos usuários para identificar o número de in- gressos, a quantia a ser gasta nos ingressos, entre outras coisas. O agente de software pode, então, interagir com um local de compra de ingressos para obter os ingressos.
[0004] Pode ser difícil se aperfeiçoar tais sistemas de computação, visto que pode ser difícil se saber com quais características os vários usuários estão satisfeitos, e com quais características podem estar insatisfeitos, e por quê. Alguns sistemas atuais solicitam que os usuá- rios realizem uma pesquisa para fornecer um retorno. No entanto, as pesquisas são frequentemente percebidas pelos usuários como sendo trabalhosas e demoradas. Portanto, apenas um conjunto relativamente pequeno de usuários pode, de fato, realizar a pesquisa, logo, o retorno é bem limitado.
[0005] A discussão acima é basicamente fornecida como informa- ção de fundo geral e não deve ser utilizada como um assistente na de- terminação do escopo da presente matéria reivindicada. Sumário
[0006] Um agente de software, que é utilizado para auxiliar no for- necimento de um serviço, recebe comunicações de um conjunto de usuários que está tentando utilizar o agente de software. As comuni- cações incluem comunicações que estão interagindo com o agente de software, e comunicações que não estão interagindo com o agente de software. O agente de software realiza o processamento de linguagem natural em todas as comunicações para identificar coisas como o sen- timento do usuário, preocupações do usuário ou outros itens no conte- údo das mensagens, e também para identificar ações tomadas pelos usuários. O processamento é realizado a fim de obter uma medida de satisfação de usuário com o agente de software. Um ou mais sinais de ação são, então, gerados, com base na satisfação do usuário identifi- cado com o agente de software.
[0007] Esse Sumário é fornecido para introduzir uma seleção dos conceitos de uma forma simplificada que será descrita abaixo na Des- crição Detalhada. Esse Sumário não deve identificar características chave ou características essenciais da presente matéria reivindicada, nem pretende ser utilizado como um assistente na determinação do escopo da presente matéria reivindicada. A presente matéria reivindi- cada não está limitada às implementações que solucionam quaisquer ou todas as desvantagens notadas nos fundamentos. Breve Descrição dos Desenhos
[0008] A figura 1 é um diagrama em bloco de um exemplo de uma arquitetura de sistema de computação.
[0009] As figuras 2A e 2B (referidas coletivamente aqui como a figura 2) ilustram um fluxograma ilustrando um exemplo de operação da arquitetura ilustrada na figura 1 na análise de sinais diferentes para identificar a satisfação do usuário e gerar sinais de controle com base na satisfação de usuário identificada.
[0010] A figura 3 é um diagrama em bloco ilustrando um exemplo da arquitetura ilustrada na figura 1, desenvolvida em uma arquitetura de computação tipo nuvem.
[0011] As figuras de 4 a 6 ilustram exemplos de dispositivos mó- veis que podem ser utilizados nas arquiteturas ilustradas nas figuras anteriores.
[0012] A figura 7 é um diagrama em bloco ilustrando um exemplo de um ambiente de computação que pode ser utilizado nas arquitetu- ras ilustradas nas figuras anteriores. Descrição Detalhada
[0013] A figura 1 é um diagrama em bloco de um exemplo de uma arquitetura de sistema de computação 100. A arquitetura 100 inclui, de forma ilustrativa, o sistema de computação 102 que gera interfaces de usuário 104 com mecanismos de registro de usuário 106 para intera- ção pelo usuário 108. O usuário 108 interage, de forma ilustrativa, com os mecanismos de registro de usuário 106 a fim de controlar e manipu- lar partes do sistema de computação 102.
[0014] No exemplo ilustrado na figura 1, o sistema de computação 102 inclui, de forma ilustrativa, um ou mais processadores ou servido- res 110, sistema de correio eletrônico (e-mail) 112, sistema de calen- dário 114, sistema de comunicação 116, lógica de interface de usuário 118, sistema de assistência à programação 120, e pode incluir uma ampla variedade de outros itens 122, também. O sistema de calendá- rio 114, propriamente dito, inclui, de forma ilustrativa, a lógica de pro- gramação 124, os dados de calendário 126 (que podem ser dados de calendário para o usuário 108 e/ou outros usuários), e pode incluir uma ampla variedade de outras funcionalidades de calendário 128.
[0015] O sistema de assistência à programação 120 é, de forma ilustrativa, um sistema de computação que auxilia o usuário 108 na interação com o sistema de calendário 114, e sistemas de calendário de outros usuários, a fim de realizar as operações de programação. Em um exemplo, o usuário 108 interage, de forma ilustrativa, com o sistema de assistência à programação 120 pelo envio de mensagens para uma caixa de entrada do sistema de assistência à programação 120 utilizando o sistema de e-mail 112. No entanto, em outros exem- plos, o usuário 108 pode comunicar com o sistema de assistência à programação 120 utilizando outros tipos de comunicação, tal como o registro de fala de linguagem natural, outros sistemas de envio de mensagem, etc.
[0016] Dessa forma, o sistema de assistência à programação 120 inclui, de forma ilustrativa, o sistema de compreensão de linguagem natural 130 (que é ilustrado como parte do sistema de assistência à programação 120, mas que pode ser separado do mesmo, ou um ser- viço remoto que é acessado pelo sistema 120), o sistema de proces- samento de fluxo de trabalho de assistência à programação 132, ana- lisador de sinal de satisfação de usuário e sistema de controle 134, e pode incluir outros itens 136. Antes de descrever a operação da arqui- tetura 100 em maiores detalhes, uma breve visão geral de alguns dos itens na arquitetura 100, e sua operação, serão primeiramente forneci- dos.
[0017] O sistema de e-mail 112 fornece, de forma ilustrativa, a funcionalidade de e-mail para o usuário 108. Portanto, em um exem- plo, o usuário 108 pode criar, enviar, receber, abrir e eliminar mensa- gens de e-mail. O usuário 108 pode realizar, de forma ilustrativa, ope- rações de configuração para configurar seus filtros de configuração de conta de caixa de entrada e e-mail, anexar vários itens a diferentes mensagens de e-mail, e realizar uma ampla variedade de outras funci- onalidades de e-mail utilizando o sistema de e-mail 112.
[0018] A lógica de programação 124 no sistema de calendário 114 permite, de forma ilustrativa, que o usuário 108 programe os itens em seu calendário. Os dados de calendário representando o calendário do usuário 108 são armazenados, de forma ilustrativa, como dados de calendário no armazenador de dados de calendário 126. O sistema de calendário 114 pode fornecer uma ampla variedade de outras funcio- nalidades de calendário 128, tal como a capacidade de enviar e rece- ber solicitações de encontro, programar tarefas e compromissos, pro- gramar encontros com uma variedade de diferentes usuários, visuali- zar a disponibilidade de outros usuários, etc.
[0019] O sistema de comunicação 116 ilustra, de forma ilustrativa, o sistema de computação 102 para comunicar com uma ampla varie- dade de outros sistemas de computação. Por exemplo, pode ser um sistema de comunicação que permita a comunicação através de uma rede de área ampla, uma rede de área local, uma rede de comunica- ção celular, uma rede de comunicação de campo próximo, ou uma ampla variedade de outras redes ou combinações de redes.
[0020] A lógica de interface de usuário 118 gera, de forma ilustrati- va, interfaces de usuário 104 com os mecanismos de registro de usuá- rio 106. Também detecta, de forma ilustrativa, a interação de usuário com os mecanismos de registro de usuário 106 ou qualquer um dentre uma ampla variedade de outros mecanismos de registro de usuário. Pode gerar uma indicação dessas interações de usuário e fornecer as mesmas para outras partes do sistema de computação 102 também.
[0021] O sistema de assistência à programação 120 utiliza, de forma ilustrativa, o sistema de processamento de fluxo de trabalho de assistência à programação 132 para detectar quando um usuário 108 solicita que o sistema 120 auxilie na programação de um evento, tal como um encontro, uma chamada telefônica, etc. Em um exemplo, o usuário 108 pode fazer isso criando uma mensagem de e-mail de lin- guagem natural e enviando a mesma para uma caixa de correio no sistema de e-mail 120, correspondendo ao sistema de assistência à programação 120. Quando o sistema 120 recebe uma mensagem em sua caixa de correio, o mesmo utiliza, de forma ilustrativa, o sistema de compreensão de linguagem natural 130 para analisar a mensagem e identificar o teor linguístico (por exemplo, o significado) do teor da mensagem de e-mail. Pode, então, identificar a mensagem como uma mensagem que busca por interações com o sistema 120 ou uma que não busca, mas onde o sistema 120 foi copiado na mensagem.
[0022] Quando o sistema 120 identifica a mensagem de e-mail como uma que busca por interação com o sistema 120, (tal como uma solicitação para auxiliar o usuário 108 na realização de uma operação de programação),o sistema de processamento de fluxo de trabalho de assistência à programação 132 realiza, de forma ilustrativa, um fluxo de trabalho que pode envolver dialogar com o usuário 108 (por exem- plo, através do sistema de e-mail 112 ou de outra forma) para identifi- car que usuário 108 deseja que o sistema 120 se comporte assim. Isso pode incluir o sistema de processamento de fluxo de trabalho de assis- tência à programação 132 fazer ao usuário 108 perguntas para identi- ficar a tarefa a ser realizada.
[0023] O sistema 132 pode, então, realizar as operações, tal como conduzir buscas de recuperação de informação, buscas por sistemas de calendário de vários usuários, buscas por outros sistemas de com- putação ou bases de dados, e retorna os resultados. Pode, então, rea- lizar outras ações, tal como a interação com a lógica de programação 124 para o usuário 108 e outros usuários, a fim de programar um en- contro ou outro evento, ou pode interagir com outros sistemas de computação para realizar outras funções (tal como a compra de in- gressos, reservas, entre uma ampla variedade de outras coisas).
[0024] Com sistemas tal como o sistema de assistência à progra- mação 120, pode ser difícil se determinar o nível de satisfação que o usuário 108 tem com o sistema. Portanto, o analisador de sinal de sa- tisfação de usuário no sistema de controle 132 monitora, de forma ilus- trativa, vários sinais e ações do usuário 108 para determinar a satisfa- ção do usuário. Pode, então, gerar os sinais de controle para realizar ações, com base na satisfação.
[0025] Será apreciado que, para fins do presente exemplo, o sis- tema de assistência à programação 120 não precisa ser um sistema de assistência à programação, mas pode ser outro agente de software ou bot que seja um participante de uma conversa com um ou mais usuários, quando oferece seu serviço. Por exemplo, em vez de ser um sistema que auxilia os usuários na realização das operações de pro- gramação, pode ser um sistema que auxilia o usuário na realização das operações de tradução em uma discussão por e-mail entre vários usuários que falam línguas diferentes. Pode ser um sistema que auxi- lia os usuários em pedidos de almoço, programa um ou mais locais diferentes, compra passagens aéreas ou ingressos para eventos, ou uma ampla variedade de outros sistemas que participam de uma con- versa com um conjunto de usuários, a fim de realizar o serviço deseja- do. Para fins ilustrativos apenas, a presente descrição prossegue com relação ao sistema de assistência à programação 120 que é um siste- ma que auxilia um ou mais usuários na programação de itens. No en- tanto, o mesmo processamento pode ser aplicado a outros tipos de sistemas de assistência ou outros agentes de software ou programas de software que participam de uma discussão com os usuários que estão utilizando o serviço que fornece.
[0026] O sistema analisador e de controle de sinal de satisfação de usuário 134 inclui, de forma ilustrativa, a lógica de detecção de pre- ocupação do usuário 138, lógica de análise de sentimento 140, lógica de detecção de recomendação de usuário 142, lógica de mining de calendário 144, lógica de detecção de nível de satisfação 145, lógica de engajamento em descoberta de característica 146, lógica de identi- ficação de problemas 147, lógica de gerador de sinal de controle 148 e pode incluir uma ampla variedade de outros itens 150. A lógica de mi- ning de calendário 144, propriamente dita, inclui, de forma ilustrativa, a lógica de categorização de encontro 152, a lógica de determinação de cobertura de serviço 154, a lógica de identificação de tendência 156, a lógica de pesquisa 158, e pode incluir outros itens 160. A lógica de ge- rador de sinal de controle 148, propriamente dita, inclui, de forma ilus- trativa, a lógica de aviso de compartilhamento 162, e pode incluir uma ampla variedade de outros itens 164.
[0027] Será notado primeiramente que em um exemplo o sistema de assistência à programação 120 pode ser incluído ou copiado nas mensagens que não apenas se relacionam diretamente com o serviço de assistência à programação que é fornecido pelo sistema 120, e que buscam expressamente a interação com o sistema 120, mas também em outras mensagens em uma sequência de comunicação que não estão necessariamente buscando a interação com o sistema 120. Por exemplo, pode ser que o usuário 108 envie uma mensagem de e-mail para um grupo de outros usuários, e também para o sistema 120, soli- citando, especialmente, que o sistema 120 auxilie o grupo na progra- mação de um encontro. Por meio de exemplo, um usuário pode digitar "Assistente de Programação, favor ajude-nos a programar um encon- tro”. O sistema de processamento de fluxo de trabalho de assistência à programação 132 então começa e executar seu fluxo de trabalho para identificar os detalhes do encontro, e para identificar várias oportuni- dades de encontro durante as quais o encontro pode ser programado. Fazendo-se isso, pode gerar e-mails de volta para o grupo de usuários na conversa, e receber respostas desses usuários.
[0028] No entanto, também pode acontecer de os usuários que estão participando da conversa gerarem mensagens um para o outro, copiando o sistema 120 nas mensagens, mas não buscando a intera- ção direta com o sistema 120. Por exemplo, pode ser que um dos usuários envie uma pergunta para todo o grupo de usuários dizendo "Qual seu restaurante preferido perto do local de encontro?" Enquanto essa comunicação pode ser copiada para o sistema 120, não está buscando qualquer interação com o sistema 120. De fato, está bus- cando interação com outros usuários. Da mesma forma, um dos usuá- rios pode digitar uma mensagem para todos os outros usuários, e co- piar o sistema 120, que fornece uma indicação quanto ao nível de sa- tisfação do usuário com o sistema 120. Por exemplo, assumindo-se que o sistema 120 seja chamado de "O Assistente de Programação ACME", um dos usuários pode digitar uma mensagem tal como "Esse Assistente de Programação ACME é muito lento”. Ou "Esse Assistente de Programação ACME é realmente muito útil”. Dessa forma, apesar de o autor dessa mensagem não estar buscando interação com o sis- tema 120, o conteúdo da mensagem, propriamente dito, pode ser ana- lisado para identificar o nível de satisfação desse usuário, com o sis- tema 120.
[0029] De forma similar, as ações dos usuários na conversa tam- bém podem fornecer uma indicação quanto ao seu nível de satisfação com o sistema 120. Por exemplo, se um dos usuários enviar um e-mail recomendando que outros usuários utilizem "O Assistente de Progra- mação ACME", isso pode indicar que o nível de satisfação do autor dessa mensagem é relativamente alto. No entanto, se o usuário enviar uma mensagem tal como "Você conhece qualquer outro assistente de programação que podemos utilizar?", isso pode indicar que a satisfa- ção desse usuário é relativamente baixa.
[0030] Adicionalmente, pode ser que, se um usuário estiver utili- zando o sistema 120 para programar a maior parte de seus compro- missos em seu calendário, isso pode indicar que o usuário está relati- vamente satisfeito com o sistema 120. No entanto, se o usuário está utilizando o sistema 120 para programar apenas um pequeno número de seus compromissos em seu calendário, com relação a todos os compromissos que estão na agenda do usuário, isso pode indicar que o usuário está relativamente insatisfeito com o sistema 120.
[0031] Adicionalmente, pode ser que um usuário esteja utilizando o sistema 120 para programar um determinada percentual de seus en- contros em uma categoria (tal como encontros de trabalho), mas utili- zando o sistema 120 para programar um percentual muito diferente de seus compromissos em uma categoria diferente (tal como encontros pessoais ou chamadas telefônicas, etc.). Isso pode indicar que o usuá- rio está relativamente satisfeito quando utiliza o sistema 120 para rea- lizar operações em determinadas categorias de operação, mas está relativamente insatisfeito quando utiliza o sistema 120 para realizar as operações em uma ou mais outras categorias de operações.
[0032] De forma similar, a tendência de um usuário em sua utiliza- ção do sistema 120 pode ser útil também. Se o usuário tender a utilizar o sistema 120 com maior frequência, então, essa pode ser uma ten- dência positiva indicando que o usuário está relativamente satisfeito com o sistema 120. No entanto, se a tendência for negativa, visto que o usuário está utilizando o sistema 120 com menor frequência, então, isso pode indicar que o usuário não está muito satisfeito com o siste- ma 120.
[0033] Adicionalmente, pode ser que o usuário 108 esteja engaja- do com o sistema 120 de formas diferentes. Por exemplo, pode ser que o usuário esteja engajado com o sistema 120 para realizar um conjunto de funções (tal como para programar encontros), mas tam- bém esteja engajado com o sistema 120 em uma tentativa de desco- brir que outros tipos de características de sistema 120 podem ser utili- zados também para "Encontrar opções de entretenimento", para "Pro- gramar teleconferências", etc. Se o usuário 108 estiver engajado com o sistema 120 para descobrir como outro usuário 108 pode utilizar o sistema 120, essa pode ser uma indicação de que o usuário 108 está relativamente satisfeito com o sistema 120, ou pode ser uma indicação de que características adicionais ou diferentes devem ser ativadas ou adicionadas ao sistema 120.
[0034] Pode ser observado, dessa forma, que não é apenas o re- torno direto sobre o desempenho ou nível de satisfação do sistema 120, que é útil na determinação do nível de satisfação do usuário. Em vez disso, o teor de todas as mensagens que o sistema 120 recebe pode ser analisado para se determinar se indica um nível de satisfação do usuário. As comunicações com o sistema 120 que estão buscando diretamente seu engajamento, além de comunicações recebidas pelo sistema 120, mas que não estão buscando seu engajamento, podem ser úteis a esse respeito. Adicionalmente, não apenas pode o teor das comunicações de vários usuários ser utilizada para determinar a satis- fação do usuário, mas as ações do usuário também podem ser utiliza- das. Em um exemplo, o sistema de análise e controle de sinal de satis- fação de usuário 134 captura os sinais indicativos do teor das comuni- cações e das ações de usuário, e identifica um ou mais níveis de satis- fação de usuário. Também pode gerar sinais de controle para realizar ação ou etapas de controle com base na satisfação de usuário identifi- cada.
[0035] Por exemplo, a lógica de detecção de preocupação de usu- ário 138 pode detectar quando o teor de uma mensagem de usuário indica que o usuário está preocupado com uma função em particular, ou característica, ou parte do sistema 120. Por meio de exemplo, pode ser que os tipos de usuário "Esse Assistente de Programação ACME é muito complicado de usar”. Isso pode indicar que o usuário tem preo- cupações com a interface fornecida pelo sistema 120, ou com outras partes do processo interativo. A lógica de análise de sentimento 140 pode ser utilizada para detectar o sentimento do usuário no teor de suas mensagens. Por exemplo, existe uma ampla variedade de tipos diferentes de analisadores de sentimento que podem ser utilizados pa-
ra analisar sentimento no texto. A lógica de análise de sentimento 140 determina, de forma ilustrativa, a correlação entre os sentimentos do usuário, identificados nas mensagens dos usuários, e o sistema 120. Se o sentimento for altamente correlacionado com o sistema 120, en- tão a mensagem pode indicar o sentimento do usuário com relação ao desempenho do sistema 120. A lógica de detecção de recomendação de usuário 142 detecta, de forma ilustrativa, quando um usuário reco- menda que outros usuários utilizem o sistema 120. Também pode de- tectar quando um usuário está tentando influenciar outros usuários a não utilizarem o sistema 120.
[0036] A lógica de mining de calendário 144 extrai, de forma ilus- trativa, os dados de calendário no armazenador de dados de calendá- rio 126 para os vários usuários que estão utilizando o sistema 120. À lógica de categorização de encontro 152 pode identificar diferentes categorias de encontro que estão no calendário de um usuário (tal co- mo encontros pessoais, conferências telefônicas, almoço de negócios, encontros privados, etc.). A lógica de determinação de cobertura de serviço 154 pode determinar uma medida indicativa de com que fre- quência o usuário 108 utilizou o sistema 120 para programar esses encontros, em categorias diferentes, com relação a com que frequên- cia o usuário não está utilizando o sistema 120. A lógica de identifica- ção de tendência 156 identifica de forma ilustrativa as tendências de utilização, com o tempo, pelo usuário 108 (ou outros usuários do sis- tema 120).
[0037] A lógica de pesquisa 158 pode ser utilizada para controlar o sistema de processamento de fluxo de trabalho de assistência à pro- gramação 132 para solicitar que um usuário complete uma pesquisa que faz perguntas mais detalhadas sobre o nível de satisfação do usu- ário com o sistema 120. Os usuários podem ser identificados como tendo realizado a pesquisa com base no nível de satisfação que foi determinado para o usuário, com base na utilização do sistema 120 pelo usuário, ou de outras formas.
[0038] A lógica de engajamento na descoberta de característica 146 identifica, de forma ilustrativa, as comunicações que estão enga- jadas com o sistema 120 de uma forma na qual o usuário 108 está buscando identificar características adicionais que podem ser ofereci- das pelo sistema 120. Essa categoria de engajamento com o sistema 120 pode ser indicativa da satisfação de usuário.
[0039] A lógica de detecção de nível de satisfação 148 detecta, de forma ilustrativa, um nível de satisfação para um usuário 108, de acor- do com a informação detectada por uma ou mais dentre a lógica de detecção de preocupação de usuário 138, lógica de análise de senti- mento 140, lógica de detecção de recomendação de usuário 142, lógi- ca de mining de calendário 144, lógica de pesquisa 158, lógica de en- gajamento de descoberta de característica 146, e qualquer outro item de informação. A lógica de identificação de questão 147 pode utilizar a mesma ou outra informação para identificar quaisquer questões parti- culares com as quais o usuário pode se preocupar, com relação à inte- ração com, e utilizando, o sistema 120.
[0040] A lógica de gerador de sinal de controle 148 pode, então, gerar vários sinais de controle com base no nível de satisfação para um usuário determinado, com base nas questões identificadas para um usuário determinado, ou com base em outros itens. Por exemplo, a lógica de aviso de compartilhamento 162 pode controlar o sistema de processamento de fluxo de trabalho de assistência à programação 132 para gerar uma comunicação com o usuário 108 avisando, ou sugerin- do que o usuário recomende o sistema 120 para outros usuários. Por exemplo, se o usuário for determinado como estando altamente satis- feito com o sistema 120, então, pode ser o caso de o usuário seguir a sugestão ou aviso, e recomendar o sistema 120 para outros usuários.
Uma ampla variedade de outros sinais de controle pode ser gerada com base no nível de satisfação de usuário identificado e quaisquer questões identificadas para um usuário em particular.
[0041] A figura 2 é um fluxograma ilustrando um exemplo da ope- ração da arquitetura ilustrada na figura 1, em maiores detalhes. As fi- guras 1 e 2 serão descritas agora em conjunto uma com a outra.
[0042] É primeiramente assumido que o sistema de assistência à programação 120 esteja rodando e esteja disponível para interação pelo usuário 108. Isso é indicado pelo bloco 180 no fluxograma da fi- gura 2. Pode ser, como mencionado acima, que o sistema 120 seja um agente de software, ou um assistente digital inteligente ou bot de rede ou outro sistema de computação como esse. É ilustrativamente um sistema que recebe comunicações de um grupo de usuários que está tentando utilizar o serviço que é fornecido. Recebe comunicações des- ses usuários, mesmo quando não estão tentando, diretamente, intera- gir com o sistema 120, uma vez que solicitaram ao sistema 120 auxílio no fornecimento de um serviço.
[0043] O sistema de compreensão de linguagem natural 130, en- tão, detecta, de forma ilustrativa, uma mensagem de solicitação de um usuário, solicitando a utilização do sistema de assistência à programa- ção 120. Isso é indicado pelo bloco 182. Por meio de exemplo, pode ser que o sistema 120 detecte uma mensagem de e-mail enviada para Sua caixa de entrada, como indicado pelo bloco 184. Pode detectar um comando de voz 186 ou outro tipo de comunicação 188. O sistema de compreensão de linguagem natural 130, então, identifica o significado linguístico dessa solicitação como uma solicitação de assistência pelo sistema 120.
[0044] O sistema de processamento de fluxo de trabalho de assis- tência à programação 130, então, conduz um diálogo (tal como pela participação em uma discussão com um grupo de usuários) para auxi-
liar na programação de algo para os usuários, com base na solicita- ção. Obviamente, onde o sistema 120 é outro tipo de assistente, bot, agente de computador, etc., então, o mesmo conduz um diálogo para auxiliar no fornecimento de outro tipo de serviço. A condução do diálo- go é indicada pelo bloco 190 no fluxograma da figura 2.
[0045] Em um exemplo, o sistema de processamento de fluxo de trabalho de assistência à programação 132 envia e recebe mensagens específicas de programação (ou mensagens nas quais os usuários es- tão tentando interagir com o sistema 120). Isso é indicado pelo bloco
192. Além disso, em um exemplo, o sistema 120 recebe mensagens específicas de não programação (ou mensagens nas quais os usuá- rios podem estar se comunicando entre si, mas não estão tentando interagir com o sistema 120). Isso é indicado pelo bloco 194. Nova- mente, como discutido acima, essas podem ser mensagens nas quais os usuários estão se comunicando entre si, mas não necessariamente pretendendo que o sistema 120 aja nessas mensagens, ou interaja, de outra forma, com eles.
[0046] O sistema de compreensão de linguagem natural 130, en- tão, realiza a compreensão da linguagem natural para obter o signifi- cado linguístico do teor da mensagem de todas as mensagens recebi- das (e não apenas das mensagens nas quais a interação com o siste- ma 120 é pretendida ou buscada). A obtenção do significado linguísti- co do teor da mensagem é indicada pelo bloco 196. O diálogo pode ser conduzido em uma ampla variedade de formas também, e isso é indicado pelo bloco 198.
[0047] A lógica de detecção de preocupação de usuário 138 rece- be o significado linguístico do teor e realiza o processamento linguísti- co em todas as mensagens recebidas para detectar quaisquer preocu- pações do usuário com relação ao sistema 120. Isso é indicado pelo bloco 200. Por exemplo, pode ser que determinadas palavras (ou ou-
tras unidades linguísticas) acionem regras ou mapeamentos que ma- peiam os motivos da preocupação. Quando a lógica de detecção de preocupação de usuário 138 observa essas palavras no significado linguístico do teor das mensagens, então, pode acessar esses mape- amentos ou regras para identificar as preocupações expressas pelo usuário. As preocupações do usuário podem ser identificadas por um modelo dinâmico ou de outras formas também.
[0048] A lógica de análise de sentimento 140 também realiza a análise de sentimento sobre o teor das mensagens recebidas. Por exemplo, pode identificar diferentes categorias de entretenimento, tal como sentimentos favoráveis, fortemente favoráveis, desfavoráveis, fortemente desfavoráveis, negativos, positivos, irados, ou uma ampla variedade de outros sentimentos, com base no teor das mensagens recebidas. A realização da análise de sentimento para detectar o sen- timento em todas as mensagens recebidas é indicada pelo bloco 202. Ambas a lógica de detecção de preocupação de usuário 138 e a lógica de análise de sentimento 140 fornecem, de forma ilustrativa, um sinal de saída indicativo de qualquer sentimento detectado e preocupações do usuário. Em um exemplo, correlacionam a informação com o usuá- rio em particular e com quaisquer categorias particulares ou caracterís- ticas da operação do sistema de assistência 120. Por meio de exem- plo, pode ser que um usuário comente que uma característica em par- ticular do sistema 120 é muito útil, ou não muito útil, etc. Nesse caso, a lógica de detecção de preocupação de usuário 138 pode identificar a característica particular com a qual o usuário se preocupa, como des- crito acima, e a lógica de análise de sentimento 140 pode identificar um sentimento positivo forte ou negativo forte (ou outro) associado com essa característica, para esse usuário.
[0049] A lógica de detecção de recomendação de usuário 142 também detecta quaisquer mensagens onde um usuário está reco-
mendando o sistema 120 para uso por outros usuários. Também gera um sinal de saída indicativo do fato de que o usuário recomendou o sistema 120. Pode fornecer outras informações também, tal como o número de usuários para os quais o sistema 120 foi recomendado, en- tre outras coisas. A detecção de quaisquer mensagens nas quais o usuário recomenda o serviço (por exemplo, o sistema 120) para outro usuário é indicada pelo bloco 204.
[0050] A lógica de mining de calendário 144, então, extrai a infor- mação de calendário no armazenador de dados de calendário 126 pa- ra gerar uma medida indicativa de com que frequência o serviço está sendo utilizado pelo usuário, com relação à programação de outras formas. Isso é indicado pelo bloco 206. Em um exemplo, o sistema 120 tem acesso aos dados de calendário do usuário, e pode, portanto, contar o número de encontros ou outros itens de calendário que foram programados. Também rastreia de forma ilustrativa quais desses itens foram programados pelo usuário 108 utilizando o sistema 120. Pode, então, gerar uma medida indicativa do percentual de tempo que o usuário 108 gasta utilizando o sistema 120 para programar diferentes itens de calendário.
[0051] Em um exemplo, a lógica de categorização de encontros 152 detecta diferentes situações de utilização, tal como diferentes ca- tegorias de encontros que o usuário está programando. As mesmas podem incluir encontros de trabalho, encontros pessoais, chamadas telefônicas, encontros em pessoa, encontros off-site, etc. A detecção de diferentes situações ou categorias de utilização é indicada pelo blo- co 208.
[0052] A lógica de determinação de cobertura de serviço 154, en- tão, determina uma proporção ou outra medida de utilização, em cada uma das categorias identificadas. Por exemplo, pode ser que o usuário 108 esteja utilizando o sistema 120 por uma quantidade de tempo rela-
tivamente grande (com relação à programação do usuário sem o uso do sistema 120) a fim de programar encontros pessoais, mas uma quantidade de tempo relativamente pequena para programar encon- tros de trabalho. A determinação de uma proporção de utilização em cada categoria ou situação é indicada pelo bloco 210.
[0053] A lógica de identificação de tendência 156 agrega, de forma ilustrativa, as proporções de utilização (ou informação de cobertura), com o tempo, a fim de determinar se a utilização do usuário 108, nas diferentes categorias, está aumentando ou diminuindo como uma pro- porção do número de encontros ou itens de calendário programados nessas categorias diferentes. Isso é indicado pelo bloco 212. A detec- ção ou geração de uma medida indicativa da frequência com a qual o serviço está sendo utilizado com relação à programação de outras formas pode ser realizada em uma ampla variedade de formas diferen- tes, em adição a ou ao invés das discutidas acima. Isso é indicado pe- lo bloco 214.
[0054] A lógica de mining de calendário 144 gera, de forma ilustra- tiva, sinais de saída indicativos das várias coisas detectadas. Por exemplo, pode enviar um sinal indicativo de diferentes categorias de encontro ou situações identificadas pela lógica 152. Pode enviar um sinal indicativo da cobertura de serviço determinada pela lógica 124 e várias tendências identificadas pela lógica 156. Pode enviar uma am- pla variedade de outras informações também.
[0055] A lógica de engate de descoberta de característica 146 também detecta, de forma ilustrativa, quando o usuário engaja no ser- viço 120 para descobrir funcionalidade adicional. Isso é indicado pelo bloco 216. Por exemplo, pode identificar as diferentes categorias ou tipos de engajamento que o usuário 108 utiliza para se engajar ao sis- tema 120. Esses tipos de engajamento podem incluir, por exemplo, o sistema de engajamento 120 para auxiliar na programação de um en-
contro de trabalho. Também pode incluir o engajamento para pesqui- sar que outros tipos de serviços ou características o sistema 120 pode fornecer. A identificação do engajamento, como não apresentando uma intenção de programação (ou como um engajamento no qual o usuário não está tentando utilizar o sistema 120 para programar um encontro), é indicada pelo bloco 218. Os vários tipos de engajamento podem ser classificados em diferentes categorias, como indicado pelo bloco 220. Os engajamentos particulares que são pesquisa sobre quais das várias características podem ser fornecidos pelo sistema 120 podem, então, ser identificados. Isso é indicado pelo bloco 222. O número de engajamentos (ou o nível desses engajamentos medidos de outra forma) pode ser indicativo da satisfação do usuário. A detec- ção dos engajamentos com o serviço para descobrir funcionalidade adicional pode ser realizada de outras formas também. Isso é indicado pelo bloco 224.
[0056] A lógica de engajamento de descoberta de características 146 também pode gerar uma variedade de diferentes sinais de saída. Por exemplo, pode gerar sinais de saída indicativos de diferentes ca- tegorias de engajamento que um usuário em particular está utilizando. Pode enviar um sinal indicativo do nível de engajamento onde o usuá- rio está buscando por características adicionais. Pode enviar outros sinais também.
[0057] Com base em vários sinais enviados por diferentes partes da lógica ou sistemas discutidos acima, a lógica de detecção de satis- fação 145, então, determina, de forma ilustrativa, um nível de satisfa- ção de usuário para programar o sistema de assistência 120. Isso é indicado pelo bloco 226 no fluxograma da figura 2. Novamente, pode ser baseado em preocupações detectadas, sentimento do usuário, re- comendações, e medida de cobertura, engajamentos de não progra- mação e uma ampla variedade de outros itens. Isso é indicado pelo bloco 228.
[0058] A lógica de detecção de nível de satisfação 145 também pode passar para a determinação da informação detalhada adicional. Por exemplo, pode gerar uma saída indicativa da satisfação de um usuário determinado com cada uma das diferentes categorias ou ca- racterísticas do sistema 120, ou com a utilização do sistema 120 em cada uma dentre uma pluralidade de diferentes formas ou sob diferen- tes situações. Isso é indicado pelo bloco 230. A satisfação de usuário pode ser determinada em uma ampla variedade de outras formas tam- bém, e isso é indicado pelo bloco 232.
[0059] A lógica de detecção de nível de satisfação 145, então, en- via, de forma ilustrativa, um ou mais sinais indicativos da satisfação de usuário determinada. Por exemplo, pode enviar um sinal indicativo da satisfação geral de usuário, do usuário 108, com relação ao sistema
120. Pode enviar sinais indicativos da satisfação de usuário corres- pondendo às diferentes características, as tendências na satisfação geral do usuário e correspondendo às características ou categorias diferentes ou situações de utilização. Também pode enviar um sinal indicativo de o quão confiante está com relação aos níveis de satisfa- ção de usuário identificados. Por exemplo, se os níveis de satisfação de usuário forem determinados com base em uma quantidade relati- vamente grande de dados, então, o sistema pode ser mais confiável. Além disso, se o conteúdo de mensagens ou ações for menos ambí- guo, então, a confiança no nível de satisfação determinado pode ser maior também.
[0060] Com base na informação enviada pela lógica de detecção de nível de satisfação 145, e qualquer outra informação, a lógica de gerador de sinal de controle 148, então, gera um ou mais sinais de controle. Isso é indicado pelo bloco 234. Por exemplo, a lógica 148 pode controlar a lógica de pesquisa 158, ou lógica de interface de usuário 118, ou ambas, para conduzir uma pesquisa de linguagem na- tural com um ou mais usuários, com base em sua satisfação de usuá- rio. Isso é indicado pelo bloco 236. A lógica de aviso de compartilha- mento 162 pode controlar a lógica de interface de usuário 118 para sugerir que um usuário em particular recomende o serviço para outros usuários. Isso é indicado pelo bloco 238. Por exemplo, pode utilizar a lógica de interface de usuário 118 para gerar uma mensagem (tal co- mo uma mensagem de e-mail ou outra mensagem) e envia essa men- sagem para o usuário 108 sugerindo que o usuário 108 recomende a utilização do sistema 120 para um ou mais outros usuários. Pode gerar a mensagem como uma sugestão predefinida de que o usuário 108 precisa simplesmente enviar para outros usuários. A mensagem pode apresentar um link no qual os outros usuários podem configurar com facilidade um sistema 120 para si mesmos, ou de outra forma.
[0061] A lógica de gerador de sinal de controle 148 também pode controlar, de forma ilustrativa, o sistema de comunicação 116 para ge- rar uma comunicação de intervenção, que o nível de satisfação do usuário garanta. Por exemplo, onde um usuário está altamente insatis- feito, então, a lógica 148 pode controlar o sistema de comunicação 116 para gerar uma comunicação com o usuário insatisfeito, ou para uma pessoa de suporte que pode contatar o usuário insatisfeito. O controle do sistema de comunicação 116 para gerar uma comunicação de intervenção para o usuário, uma pessoa de suporte, etc. é indicado pelo bloco 242.
[0062] A lógica de gerador de sinal de controle 148 também pode gerar, de forma ilustrativa, um sinal de controle que é fornecido para um sistema remoto ou outra parte do sistema de computação 102 que agrega os resultados dos vários itens de lógica e sistemas, através de múltiplos usuários, e envia os resultados agregados. Isso é indicado pelo bloco 244. Por exemplo, a agregação de resultados pode divulgar que um número relativamente grande de usuários tem questões com um mesmo conjunto de características ou funcionalidade no sistema
120. Também pode indicar que um número relativamente grande de usuários está buscando um ou mais itens adicionais de funcionalidade do sistema 120. Pode indicar que um número relativamente grande de usuários apresentam os mesmos tipos de questões ou preocupações com relação ao sistema 120. Isso, e uma ampla variedade de outras informações, pode ser obtido a partir dos resultados de satisfação agregados.
[0063] A lógica de gerador de sinal de controle 148 pode gerar si- nais de controle em uma ampla variedade de outras formas também. Isso é indicado pelo bloco 246.
[0064] Pode, dessa forma, ser observado que a presente discus- são aperfeiçoa o sistema de computação propriamente dito. O sistema de computação é configurado para capturar um conjunto de sinais que pode ser utilizado, ou combinado, para identificar a satisfação de usuá- rio para diferentes características ou partes diferentes de um sistema de computação. Isso pode ser obtido não apenas a partir das comuni- cações onde os usuários estão tentando engajar no sistema de com- putação, mas mesmo onde os usuários não estão tentando engajar diretamente nesse sistema. Adicionalmente, uma ampla variedade de diferentes tipos de sinais de controle pode ser gerada com base nos sinais capturados.
[0065] Será notado que a discussão acima descreveu uma varie- dade de diferentes sistemas, componentes e/ou lógica. Será apreciado que tais sistemas, componentes e/ou lógica podem ser compreendidos de itens de hardware (tal como processadores e memória associada, ou outros componentes de processamento, alguns dos quais são des- critos abaixo) que realizam as funções associadas com esses siste- mas, componentes e/ou lógica. Adicionalmente, os sistemas, compo-
nentes e/ou lógica podem ser constituídos de software que é carrega- do em uma memória e é subsequentemente executado por um pro- cessador ou servidor, ou outro componente de computação, como descrito abaixo. Os sistemas, componentes e/ou lógica também po- dem ser constituídos de diferentes combinações de hardware, softwa- re, firmware, etc., alguns exemplos dos quais são descritos abaixo. Esses são apenas alguns exemplos de estruturas diferentes que po- dem ser utilizadas para formar os sistemas, componentes e/ou lógica descritos acima. Outras estruturas podem ser utilizadas também.
[0066] A presente discussão mencionou processadores e servido- res. Em uma modalidade, os processadores e servidores incluem pro- cessadores de computador com memória associada e conjunto de cir- cuitos de temporização, não ilustrados separadamente. São partes funcionais dos sistemas ou dispositivos aos quais pertencem e são ativados, e facilitam a funcionalidade de outros componentes ou itens nesses sistemas.
[0067] Além disso, um número de exibições de interface de usuá- rio foi discutido. Podem assumir uma ampla variedade de formas dife- rentes e podem ter uma ampla variedade de diferentes mecanismos de registro acionáveis pelo usuário dispostos nos mesmos. Por exem- plo, os mecanismos de registro acionáveis por usuário podem ser cai- xas de texto, caixas de verificação, ícones, links, menus pendentes, caixas de busca, etc. Também podem ser acionados em uma ampla variedade de formas diferentes. Por exemplo, podem ser acionados utilizando-se um dispositivo de apontar e clicar (tal como uma track ball ou mouse). Podem ser acionados utilizando-se botões de hardwa- re, comutadores, um joystick ou teclado, comutadores de polegar ou pads de polegar, etc. Também podem ser acionados utilizando-se um teclado virtual ou outros acionadores virtuais. Adicionalmente, onde a tela na qual são exibidos é uma tela sensível ao toque, os mesmos podem ser acionados utilizando-se gestos de toque. Além disso, onde o dispositivo que exibe os mesmos apresenta componentes de reco- nhecimento de voz, os mesmos podem ser acionados utilizando-se comandos de fala.
[0068] Vários armazenadores de dados também foram discutidos. Será notado que os mesmos podem ser, cada um, divididos em múlti- plos armazenadores de dados. Todos podem ser locais aos sistemas que os acessam, todos podem ser remotos, ou alguns podem ser lo- cais enquanto outros são remotos. Todas essas configurações são contempladas aqui.
[0069] Além disso, as figuras ilustram vários blocos com funciona- lidade atribuída a cada bloco. Será notado que menos blocos podem ser utilizados de modo que a funcionalidade seja realizada por menos componentes. Além disso, mais blocos podem ser utilizados com a funcionalidade distribuída entre mais componentes.
[0070] A figura 3 é um diagrama em bloco da arquitetura 100, ilus- trada na figura 1, exceto que seus elementos estão dispostos em uma arquitetura de computação em nuvem 500. A computação em nuvem fornece serviços de computação, software, acesso a dados, e armaze- namento que não exigem o conhecimento do usuário final sobre a lo- calização física ou configuração do sistema que distribui os serviços. Em várias modalidades, a computação em nuvem distribui os serviços através de uma rede de área ampla, tal como a Internet, utilizando pro- tocolos adequados. Por exemplo, os provedores de computação em nuvem distribuem aplicativos através de uma rede de área ampla e podem ser acessados através de um navegador de rede ou qualquer outro componente de computação. Software ou componentes da arqui- tetura 100, além dos dados correspondentes, podem ser armazenados em servidores em um local remoto. Os recursos de computação em um ambiente de computação em nuvem podem ser consolidados em uma localização do centro de dados remotos ou podem ser dispersos. As infraestruturas de computação em rede podem distribuir serviços através de centros de dados compartilhados, apesar de parecerem como um ponto de acesso singular para o usuário. Dessa forma, os componentes e funções descritos aqui podem ser fornecidos a partir de um provedor de serviço em um local remoto utilizando uma arquite- tura de computação em nuvem. Alternativamente, podem ser forneci- dos a partir de um servidor convencional, ou podem ser instalados nos dispositivos de cliente diretamente, ou de outras formas.
[0071] A descrição deve incluir ambas a computação em nuvem pública e a computação em nuvem privada. A computação em nuvem (tanto pública quanto privada) fornece uma agregação de recursos substancialmente contínua, além de uma necessidade reduzida de ge- renciamento e configuração subjacentes à infraestrutura de hardware.
[0072] Uma nuvem pública é gerenciada por um vendedor e supor- ta, tipicamente, múltiplos consumidores utilizando a mesma infraestru- tura. Além disso, uma nuvem pública, em oposição a uma nuvem pri- vada, pode liberar os usuários finais do gerenciamento de hardware. Uma nuvem privada pode ser gerenciada pela organização propria- mente dita e a infraestrutura é tipicamente não compartilhada com ou- tras organizações. A organização ainda mantém o hardware até de- terminado ponto, tal como instalações e reparos, etc.
[0073] No exemplo ilustrado na figura 3, alguns itens são similares aos ilustrados na figura 1, e são numerados de forma similar. A figura 3 ilustra de forma específica que o sistema de computação 102 pode estar localizado na nuvem 502 (que pode ser pública, privada ou uma combinação na qual partes são públicas, enquanto outras são priva- das). Portanto, o usuário 108 utiliza um dispositivo de usuário 504 para acessar esses sistemas através da nuvem 502.
[0074] A figura 3 também apresenta outro exemplo de uma arqui-
tetura de nuvem. A figura 3 ilustra que também é contemplado que al- guns elementos do sistema de computação 102 possam ser dispostos na nuvem 502, enquanto outros não são. Por meio de exemplo, o ar- mazenador de dados 126 pode ser disposto fora da nuvem 502, e acessado através da nuvem 502. Em outro exemplo, o sistema 134 (ou outros itens) pode estar fora da nuvem 502. Independentemente de onde estão localizados, podem ser acessados diretamente pelo dispositivo 504, através de uma rede (uma rede de área ampla ou uma rede de área local), podem ser hospedados em um site remoto por um serviço, ou podem ser fornecidos como um serviço através de uma nuvem ou acessados por um serviço de conexão que reside na nu- vem. Todas essas arquiteturas são contempladas aqui.
[0075] Será notado também que a arquitetura 100, ou partes da mesma, pode ser disposta em uma ampla variedade de diferentes dis- positivos. Alguns desses dispositivos incluem servidores, computado- res desktop, computadores laptop, computadores tablet, ou outros dis- positivos móveis, tal como computadores palmtop, telefones celulares, smartphones, aparelhos de reprodução de multimídia, assistentes digi- tais pessoais, etc.
[0076] A figura 4 é um diagrama em bloco simplificado de um exemplo ilustrativo de um dispositivo de computação portátil ou móvel que pode ser utilizado como o dispositivo portátil do usuário ou cliente 16, no qual o presente sistema (ou partes do mesmo) pode ser desen- volvido. As figuras 5 e 6 são exemplos dos dispositivos portáteis ou móveis.
[0077] A figura 4 fornece um diagrama em bloco geral dos compo- nentes de um dispositivo de cliente 16 que pode rodar componentes do sistema de computação 102 ou do dispositivo de usuário 504 ou do sistema 134 ou que interage com a arquitetura 100, ou ambos. No dis- positivo 16, um link de comunicações 13 é fornecido e permite que o dispositivo portátil se comunique com outros dispositivos de computa- ção e, sob algumas modalidades, forneça um canal para receber a in- formação automaticamente, tal como por digitalização. Exemplos do link de comunicações 13 incluem uma porta de infravermelho, uma porta serial/USB, uma porta de rede de cabo, tal como uma porta Ethernet, e uma porta de rede sem fio que permite a comunicação através de um ou mais protocolos de comunicação incluindo o Serviço de Rádio em Pacote Geral (GPRS), LTE, HSPA, HSPA+ e outros pro- tocolos de rádio 3G e 4G, 1Xrtt, e Serviço de Mensagem Curta, que são serviços sem fio utilizados para fornecer acesso celular a uma re- de, além de protocolos Wi-Fi, e protocolo Bluetooth, que fornece cone- xões sem fio locais com as redes.
[0078] Em outros exemplos, aplicativos ou sistemas são recebidos em um cartão Digital Seguro (SD) removível que é conectado a uma interface de cartão SD 15. A interface de cartão SD 15 e os links de comunicação 13 comunicam com um processador 17 (que também pode consubstanciar processadores ou servidores de outras figuras) ao longo de um barramento 19, que também é conectado à memória 21, e componentes de entrada/saída (1/0) 23, além de relógio 25 e sis- tema de localização 27.
[0079] Os componentes 1/O 23, em uma modalidade, são forneci- dos para facilitar as operações de registro e envio. Os componentes 1/O 23, para várias modalidades do dispositivo 16, podem incluir com- ponentes de registro, tal como botões, sensores de toque, sensores de múltiplos toques, sensores óticos ou de vídeo, sensores de voz, telas de toque, sensores de proximidade, microfones, sensores de inclina- ção e comutadores de gravidade e componentes de saída, tal como um dispositivo de exibição, um alto falante, e/ou uma porta de impres- sora. Outros componentes 1/O 23 podem ser utilizados também.
[0080] O relógio 25 compreende, de forma ilustrativa, um compo-
nente de relógio em tempo real que envia uma data e um horário. Também pode, de forma ilustrativa, fornecer funções de temporização para o processador 17.
[0081] O sistema de localização 27 inclui, de forma ilustrativa, um componente que envia uma localização geográfica atual do dispositivo
16. Isso pode incluir, por exemplo, um receptor do sistema de posicio- namento global (GPS), um sistema LORAN, um sistema de dead re- ckoning, um sistema de triangulação celular, ou outro sistema de posi- cionamento. Pode incluir também, por exemplo, mapeamento de sof- tware ou software de navegação que gera os mapas desejados, rotas de navegação e outras funções geográficas.
[0082] A memória 21 armazena o sistema operacional 29, as con- figurações de rede 31, aplicativos 33, configurações de aplicativo 35, armazenadores de dados 37, acionadores de comunicação 39 e confi- gurações de comunicação 41. A memória 21 pode incluir todos os ti- pos de dispositivos de memória legíveis por computador, volátil e não volátil, tangível. Também pode incluir o meio de armazenamento em computador (descrito abaixo). A memória 21 armazena as instruções legíveis por computador que, quando executadas pelo processador 17, fazem com que o processador realize as etapas ou funções implemen- tadas por computador, de acordo com as instruções. De forma similar, o dispositivo 16 pode possuir um sistema de cliente 24 que pode rodar vários aplicativos ou consubstanciar partes ou toda a arquitetura 100. O processador 17 pode ser ativado por outros componentes para facili- tar sua funcionalidade também.
[0083] Exemplos das configurações de rede 31 incluem coisas tipo informação proxy, informação sobre a conexão com a Internet e ma- peamentos. As configurações de aplicativo 35 incluem as configura- ções que personalizam o aplicativo para uma empresa ou usuário es- pecífico. As configurações de comunicação 41 fornecem parâmetros para comunicar com outros computadores e incluem itens tal como parâmetros GPRS, parâmetros SMS, nomes de usuário e senhas de conexão.
[0084] Os aplicativos 22 podem ser aplicativos que foram previa- mente armazenados no dispositivo 16 ou aplicativos que são instala- dos durante o uso, apesar de os mesmos poderem ser parte do siste- ma operacional 29, ou hospedados fora do dispositivo 16, também.
[0085] A figura 5 ilustra um exemplo no qual o dispositivo 16 é um computador tablet 600. Na figura 5, o computador 600 é ilustrado com a tela de exibição de interface de usuário 602. A tela 602 pode ser uma tela de toque (de forma que gestos de toque do dedo de um usu- ário possam ser utilizados para interagir com o aplicativo) ou uma in- terface ativada por caneta que recebe registros de uma caneta. Pode utilizar também um teclado virtual na tela. Obviamente, também pode ser fixado a um teclado ou outro dispositivo de registro de usuário através de um mecanismo de fixação adequado, tal como um link sem fio ou porta USB, por exemplo. O computador 600 também pode rece- ber, de forma ilustrativa, registros de voz também.
[0086] A figura 6 ilustra que o dispositivo pode ser um smartphone
71. O smartphone 71 possui um monitor sensível ao toque 73 que exi- be ícones ou tiles ou outros mecanismos de registro pelo usuário 75. Os mecanismos 75 podem ser utilizados por um usuário para rodar aplicativos, realizar chamadas, realizar operações de transferência de dados, etc. Em geral, o smartphone 71 é construído em um sistema operacional móvel e oferece uma capacidade de computação e conec- tividade mais avançadas do que um telefone.
[0087] Note-se que outras formas de dispositivos 16 são possíveis.
[0088] A figura 7 é um exemplo de um ambiente de computação no qual a arquitetura 100, ou partes da mesma, (por exemplo), podem ser desenvolvidas. Com referência à figura 7, um sistema ilustrativo,
para implementar algumas modalidades, inclui um dispositivo de com- putação de finalidade geral na forma de um computador 810. Os com- ponentes do computador 810 podem incluir, mas não estão limitados a uma unidade de processamento 820 (que pode compreender proces- sadores ou servidores de figuras anteriores), uma memória do sistema 830, e um barramento do sistema 821 que acopla vários componentes do sistema incluindo a memória do sistema para a unidade de proces- samento 820. O barramento do sistema 821 pode ser qualquer um dos vários tipos de estruturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico, e um barramento local utilizando qualquer uma dentre uma variedade de arquiteturas de barramento. Por meio de exemplo, e não de limitação, tais arquiteturas incluem o barramento de Arquitetura de Padrão da Indústria (ISA), barramento de Arquitetura de Micro Canal (MCA), bar- ramento ISA Aperfeiçoado (EISA), barramento local da Associação de Padrões Eletrônicos de Vídeo (VESA), e barramento de Interconexão de Componente Periférico (PCI), também conhecido como barramento Mezzanine. A memória e os programas descritos com relação à figura 1 podem ser desenvolvidos em partes correspondentes da figura 7.
[0089] O computador 810 inclui tipicamente uma variedade de meios legíveis por computador. O meio legível por computador pode ser qualquer meio disponível que possa ser acessado pelo computa- dor 810 e inclui ambas a mídia volátil e não volátil, mídia removível e não removível. Por meio de exemplo, e não de limitação, o meio legí- vel por computador pode compreender meio de armazenamento em computador e meio de comunicação. O meio de armazenamento em computador é diferente, e não inclui um sinal de dados modulado ou onda portadora. Inclui meio de armazenamento de hardware incluindo ambos o meio volátil e não volátil, removível e não removível, imple- mentado em qualquer método ou tecnologia para armazenamento da informação, tal como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. O meio de armazena- mento em computador inclui, mas não está limitado a RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento em disco óti- co, fitas magnéticas, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético ou qualquer outro meio que possa ser utilizado para armazenar a informação desejada e que pos- sa ser acessado pelo computador 810. O meio de comunicação con- substancia tipicamente instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um mecanismo de transporte e inclui qualquer meio de distribuição de informação. O termo "sinal de dados modulado" significa um sinal que possui uma ou mais de suas características configuradas ou alteradas de tal forma a codificar informação no sinal. Por meio de exemplo, e não de limita- ção, o meio de comunicação inclui meio com fio, tal como uma rede com fio ou conexão com fio direta, e meio sem fio, tal como meio acús- tico, RF, infravermelho ou outro meio sem fio. Combinações de qual- quer um dos acima devem ser incluídas também dentro do escopo do meio legível por computador.
[0090] A memória do sistema 830 inclui meio de armazenamento em computador na forma de memória volátil e/ou não volátil, tal como a memória de leitura apenas (ROM) 831 e memória de acesso randô- mico (RAM) 832. Um sistema de entrada/saída básico 833 (BIOS), contendo as rotinas básicas que ajudam a transferir informação entre os elementos dentro do computador 810, tal como durante a inicializa- ção, é tipicamente armazenado na ROM 831. A RAM 832 contém tipi- camente dados e/ou módulos de programa que são imediatamente acessíveis a e/ou atualmente estão sendo operados pela unidade de processamento 820. Por meio de exemplo, e não de limitação, a figura
7 ilustra o sistema operacional 834, os programas de aplicativo 835, outros módulos de programa 836 e dados de programa 837.
[0091] O computador 810 também pode incluir outros meios de armazenamento em computador removíveis/não removíveis, volá- teis/não voláteis. Por meio de exemplo apenas, a figura 7 ilustra um acionador de disco rígido 841 que lê a partir de ou escreve em mídia magnética não volátil e não removível, e um acionador de disco ótico 855 que lê em ou escreve em um disco ótico não volátil e removível 856, tal como um CD-ROM ou outra mídia ótica. Outra mídia de arma- zenamento em computador removível/não removível, volátil/não volátil que pode ser utilizada no ambiente operacional ilustrativo inclui, mas não está limitada a, fitas magnéticas, cartões de memória flash, discos versáteis digitais, fita de vídeo digital, RAM em estado sólido, ROM em estado sólido e similares. O acionador de disco rígido 841 é tipicamen- te conectado ao barramento do sistema 821 através de uma interface de memória não removível, tal como a interface 840, e o acionador de disco ótico 855 é tipicamente conectado ao barramento do sistema 821 por uma interface de memória removível, tal como a interface 850.
[0092] Alternativamente, ou adicionalmente, a funcionalidade des- crita aqui pode ser realizada, pelo menos em parte, por um ou mais componentes lógicos de hardware. Por exemplo, e sem limitação, os tipos ilustrativos de componentes lógicos de hardware, que podem ser utilizados, incluem Conjuntos de Porta Programáveis em Campo (FPGAs), Circuitos Integrados Específicos de Programa (ASICs), Pro- dutos do Padrão específico de Programa (ASSP's), sistemas do tipo Sistema em um chip (SOCs), Dispositivos Lógicos Programáveis Complexos (CPLDs), etc.
[0093] Os acionadores e sua mídia de armazenamento em compu- tador associada, discutidos acima e ilustrados na figura 7, fornecem o armazenamento de instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados, para o computador 810. Na figura 7, por exemplo, o acionador de disco rígido 841 é ilustrado como armazenando o sistema operacional 844, programas de aplicati- vo 845, outros módulos de programa 846 e dados de programa 847. Note-se que esses componentes podem ser iguais ou diferentes do sistema operacional 834, programas de aplicativo 835, outros módulos de programa 836, e dados de programa 837. O sistema operacional 844, os programas de aplicativo 845, outros módulos de programa 846 e dados de programa 847 recebem números diferentes aqui para ilus- trar que, no mínimo, são cópias diferentes.
[0094] Um usuário pode registrar comandos e informação no com- putador 810 através dos dispositivos de entrada ou touchpad. Outros dispositivos de entrada (não ilustrados) podem incluir um joystick, um painel de jogos, uma antena parabólica, um digitalizador, ou similares. Esses e outros dispositivos de entrada são frequentemente conecta- dos à unidade de processamento 820 através de uma interface de re- gistro de usuário 860, que é acoplada ao barramento do sistema, mas podem ser conectados por outras interfaces e estruturas de barramen- to, tal como uma porta paralela, uma porta de jogos ou um barramento serial universal (USB). Um monitor visual 891 ou outro tipo de disposi- tivo de exibição também é conectado ao barramento de sistema 821 através de uma interface, tal como uma interface de vídeo 890. Em adição ao monitor, computadores também podem incluir outros dispo- sitivos de saída periféricos, tal como alto falantes 897 e impressora 896, que podem ser conectados através de uma interface periférica de saída 895.
[0095] O computador 810 é operado em um ambiente em rede, utilizando conexões lógicas com um ou mais computadores remotos, tal como um computador remoto 880. O computador remoto 880 pode ser um computador pessoal, um dispositivo portátil, um servidor, um roteador, um PC em rede, um dispositivo igual ou outro nó de rede comum, e, tipicamente, inclui muitos ou todos os elementos descritos acima com relação ao computador 810. As conexões lógicas apresen- tadas na figura 7 incluem uma rede de área local (LAN) 871 e uma re- de de área ampla (WAN) 873, mas também podem incluir outras re- des. Tais ambientes de rede são lugar comum em escritórios, redes de computadores empresariais grandes, intranets e a Internet.
[0096] Quando utilizado em um ambiente de rede LAN, o compu- tador 810 é conectado à LAN 871 através de uma interface de rede ou adaptador 870. Quando utilizado no ambiente de rede WAN, o compu- tador 810 inclui tipicamente um modem 872 ou outros meios para es- tabelecer comunicações através da WAN 873, tal como a Internet. O modem 872, que pode ser interno ou externo, pode ser conectado ao barramento do sistema 821 através da interface de registro de usuário 860, ou outro mecanismo adequado. Em um ambiente em rede, os módulos de programa apresentados com relação ao computador 810, ou partes dos mesmos, podem ser armazenados no dispositivo de ar- mazenamento de memória remoto. Por meio de exemplo, e não de limitação, a figura 7 ilustra os programas de aplicativo remoto 885 co- mo residindo no computador remoto 880. Será apreciado que as cone- xões de rede ilustradas são ilustrativas e que outros meios de se esta- belecer um link de comunicações entre os computadores podem ser utilizados.
[0097] Deve-se notar também que as diferentes modalidades des- critas aqui podem ser combinadas de formas diferentes. Isso é, partes de uma ou mais modalidades podem ser combinadas com partes de uma ou mais outras modalidades. Tudo isso é contemplado aqui.
[0098] O exemplo 1 é um sistema de computação, compreenden- do:
[0099] um sistema de envio de mensagens que envia e recebe mensagens de grupo entre uma pluralidade de diferentes usuários em um grupo de usuários;
[00100] um sistema de computação de assistência que recebe uma mensagem de solicitação de linguagem natural do sistema de envio de mensagens, indicativa de uma solicitação de usuário, de um usuário solicitante no grupo de usuários, para interação com o sistema de as- sistência e que conduz um diálogo com um usuário, utilizando o siste- ma de envio de mensagens, para criar um serviço em resposta à men- sagem de solicitação de linguagem natural;
[00101] um sistema de análise que detecta outras mensagens de linguagem natural, além da mensagem de solicitação de linguagem natural e mensagens no diálogo, a partir da pluralidade de usuários diferentes no grupo de usuários, gera indícios de satisfação indicativos da satisfação do usuário com relação ao sistema de computação de assistência, com base em um teor de outras mensagens de linguagem natural, na mensagem de solicitação de linguagem natural e nas men- sagens no diálogo; e
[00102] lógica de gerador de sinal de controle que gera um sinal de controle para controlar o sistema de computação com base nos indí- cios de satisfação.
[00103] O exemplo 2 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual a lógica do gerador de sinal de controle é configurada para gerar o sinal de controle para controlar o sistema de envio de mensagem para avisar ao usuário solicitante que recomende o sistema de computação de assistência para outro usuário.
[00104] O exemplo 3 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual o sistema de análise com- preende:
[00105] lógica de engajamento em descoberta de característica configurada para identificar uma mensagem de linguagem natural de descoberta de característica, inquirindo sobre a funcionalidade adicio- nal oferecida pelo sistema de computação de assistência e gerando um indicador de engajamento em descoberta de característica indicati- vo da mensagem de linguagem natural de descoberta de característi- ca; e
[00106] lógica de detecção de nível de satisfação configurada para gerar os indícios de satisfação com base no indicador de engajamento em descoberta de características.
[00107] O exemplo 4 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual o sistema de computação de assistência compreende um assistente de programação configura- do para criar um serviço de assistência à programação, e, em que o sistema de análise compreende:
[00108] lógica de mining de calendário configurada para acessar a informação de calendário correspondente ao usuário solicitante para identificar um nível de utilização indicativo de um nível de utilização do assistente de programação pelo usuário solicitante; e
[00109] lógica de detecção de nível de satisfação sendo configura- da para gerar os indícios de satisfação com base no nível de utiliza- ção.
[00110] O exemplo 5 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, em que a lógica de mining de ca- lendário compreende:
[00111] lógica de determinação de cobertura de serviço configurada para acessar a informação de calendário e identificar com que fre- quência o usuário solicitante utilizou o assistente de programação du- rante a realização das operações de programação com relação a com que frequência o usuário realizou as operações de programação sem utilizar o assistente de programação para obter um indicador de cober-
tura, a lógica de detecção de nível de satisfação gerando indícios de satisfação com base no indicador de cobertura.
[00112] O exemplo 6 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual a lógica de mining de ca- lendário compreende:
[00113] lógica de categorização de encontros configurada para acessar a informação de calendário e identificar as diferentes catego- rias dos itens de programação para as quais o usuário solicitante reali- zou a operação de programação.
[00114] O exemplo 7 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual a lógica de determinação de cobertura de serviço é configurada para obter o indicador de cobertura correspondendo a cada categoria dos itens de programação.
[00115] O exemplo 8 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual a lógica de mining de ca- lendário compreende:
[00116] lógica de identificação de tendência configurada para identi- ficar uma tendência da frequência na qual o usuário solicitante utilizou o assistente de programação na realização das operações de progra- mação com relação à frequência na qual o usuário realizou as opera- ções de programação sem utilizar o assistente de programação.
[00117] O exemplo 9 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual o sistema de análise com- preende:
[00118] lógica de detecção de recomendação de usuário configura- da para detectar se o usuário solicitante recomendou o sistema de computação de assistência para outros usuários e para gerar um indi- cador detectado de recomendação, a lógica de detecção de nível de satisfação sendo configurada para gerar os indícios de satisfação com base no indicador detectado de recomendação.
[00119] O exemplo 10 é o sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual o sistema de análise com- preende:
[00120] lógica de análise de sentimento configurada para identificar o sentimento do usuário solicitante no teor das mensagens e identificar uma correlação entre o sentimento identificado e o sistema de compu- tação de assistência, a lógica de detecção de nível de satisfação ge- rando os indícios de satisfação com base no sentimento identificado e na correlação com o sistema de computação de assistência.
[00121] O exemplo 11éo sistema de computação de todo ou qual- quer um dos exemplos anteriores, no qual a lógica de análise de sen- timento é configurada para identificar o sentimento do usuário solici- tante no teor das mensagens e identificar uma correlação entre o sen- timento identificado e uma característica individual do sistema de com- putação de assistência, a lógica de detecção de nível de satisfação gerando os indícios de satisfação com base no sentimento identificado e na correlação com a característica individual do sistema de compu- tação de assistência.
[00122] O exemplo 12 é um método implementado por computador, compreendendo:
[00123] receber, em um sistema de computação de assistência, uma mensagem de solicitação de linguagem natural a partir de um sis- tema de envio de mensagens que envia e recebe mensagens de grupo entre uma pluralidade de usuários diferentes em um grupo de usuá- rios, a mensagem de solicitação de linguagem natural sendo indicativa de uma solicitação de usuário, a partir de um usuário solicitante no grupo de usuários, para interação com o sistema de assistência;
[00124] controlar o sistema de envio de mensagem para conduzir um diálogo com um usuário para criar um serviço em resposta à men- sagem de solicitação de linguagem natural;
[00125] detectar outras mensagens de linguagem natural, em adi- ção à mensagem de solicitação de linguagem natural e mensagens em diálogo, a partir da pluralidade de diferentes usuários no grupo de usuários;
[00126] gerar indícios de satisfação indicativos da satisfação de usuário correspondendo ao sistema de computação de assistência com base em um teor de outras mensagens de linguagem natural, a mensagem de solicitação de linguagem natural e mensagens no diálo- go; e
[00127] gerar um sinal de controle para controlar o sistema de com- putação com base nos indícios de satisfação.
[00128] O exemplo 13 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, em que gerar o sinal de controle compreende:
[00129] geraro sinal de controle para controlar o sistema de envio de mensagens para avisar ao usuário solicitante que recomende o sis- tema de computação de assistência para outro usuário.
[00130] O exemplo 14 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, no qual gerar indí- cios de satisfação compreende:
[00131] identificar uma mensagem de linguagem natural de desco- berta de característica inquirindo sobre a funcionalidade adicional ofe- recida pelo sistema de computação de assistência;
[00132] gerar um indicador de engate de descoberta de caracterís- ticas indicativo da mensagem de linguagem natural de descoberta de característica; e
[00133] gerar os indícios de satisfação com base no indicador de engajamento na descoberta de característica.
[00134] O exemplo 15 é o método implementado por computador de todos ou qualquer um dos exemplos anteriores, no qual o sistema de computação de assistência compreende um assistente de progra- mação configurado para criar um serviço de assistência de programa- ção, e em que gerar indícios de satisfação compreende:
[00135] acessar informação de calendário correspondendo ao usuá- rio de solicitação;
[00136] identificar um nível de utilização indicativo de um nível de utilização do assistente de programação pelo usuário solicitante; e
[00137] gerar os indícios de satisfação com base no nível de utiliza- ção.
[00138] O exemplo 16 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, no qual identificar um nível de utilização compreende:
[00139] identificar o nível de utilização, a partir da informação de calendário, pela identificação de que com frequência o usuário solici- tante utilizou o assistente de programação na realização das opera- ções de programação com relação a com que frequência o usuário re- alizou as operações de programação sem utilizar o assistente de pro- gramação; e
[00140] identificar um indicador de cobertura com base no nível de utilização.
[00141] O exemplo 17 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, em que identificar o nível de utilização compreende:
[00142] identificar, a partir da informação de calendário, diferentes categorias de itens de programação para as quais o usuário solicitante realizou a operação de programação; e
[00143] identificar o indicador de cobertura que corresponde a cada categoria de itens de programação.
[00144] O exemplo 18 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores e compreendendo adicionalmente:
[00145] identificar uma tendência da frequência com a qual o usuá- rio solicitante utilizou o assistente de programação na realização das operações de programação com relação à frequência com a qual o usuário realizou as operações de programação sem utilizar o assisten- te de programação, em cada uma das categorias dos itens de progra- mação, com base em um conjunto de indicadores de cobertura que corresponde a cada uma das categorias dos itens de programação.
[00146] O exemplo 19 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, no qual gerar indí- cios de satisfação compreende:
[00147] detectar se o usuário solicitante recomendou o sistema de computação de assistência para outros usuários;
[00148] gerar um indicador detectado de recomendação; e
[00149] gerar os indícios de satisfação com base no indicador de- tectado de recomendação.
[00150] O exemplo 20 é o método implementado por computador de todo ou qualquer um dos exemplos anteriores, no qual gerar indí- cios de satisfação compreende:
[00151] identificar o sentimento do usuário solicitante no teor das mensagens;
[00152] identificar uma correlação entre o sentimento identificado e o sistema de computação de assistência; e
[00153] gerar os indícios de satisfação com base no sentimento identificado e na correlação com o sistema de computação de assis- tência.
[00154] O exemplo 21 é um sistema de computação, compreen- dendo:
[00155] um agente de software que recebe uma mensagem de soli- citação de linguagem natural indicativa de uma solicitação de interação e que fornece um serviço com base na solicitação de linguagem natu- ral para interação;
[00156] um sistema de envio de mensagens que conduz uma con- versa que possui um conjunto de mensagens enviado a partir de um usuário para o agente de software, onde pelo menos uma mensagem no conjunto de mensagens compreende a mensagem de solicitação de linguagem natural;
[00157] um analisador de sinal que analisa o teor da mensagem de solicitação de linguagem natural e outras mensagens no conjunto de mensagens e gera indícios de satisfação que indicam a satisfação do usuário correspondendo ao sistema de computação de assistência com base no teor da mensagem de solicitação de linguagem natural e outras mensagens no conjunto de mensagens; e
[00158] lógica de gerador de sinal de controle que controla o siste- ma de envio de mensagens com base nos indícios de satisfação.
[00159] Apesar de a presente matéria ter sido descrita em lingua- gem específica das características estruturais e/ou atos metodológi- cos, deve ser compreendido que a presente matéria definida nas rei- vindicações em anexo não está necessariamente limitada às caracte- rísticas ou aos atos específicos descritos acima. Em vez disso, as ca- racterísticas e atos específicos descritos acima são descritos como formas ilustrativas de implementação das reivindicações.

Claims (15)

REIVINDICAÇÕES
1. Sistema de computação, caracterizado pelo fato de que compreende: um sistema de envio de mensagens que envia e recebe mensagens de grupo dentre uma pluralidade de diferentes usuários em um grupo de usuários; um sistema de computação de assistência que recebe uma mensagem de solicitação de linguagem natural do sistema de envio de mensagens, indicativa de uma solicitação de usuário, a partir de um usuário solicitante no grupo de usuários, para interação com o sistema de computação de assistência e que conduz um diálogo com um usuá- rio, utilizando o sistema de envio de mensagens, para criar um serviço em resposta à mensagem de solicitação de linguagem natural; um sistema analisador que detecta outras mensagens de linguagem natural, em adição à mensagem de solicitação de lingua- gem natural e mensagens no diálogo, a partir da pluralidade de dife- rentes usuários no grupo de usuários, gera indícios de satisfação indi- cativos da satisfação de usuário correspondendo ao sistema de com- putação de assistência, com base em um teor de outras mensagens de linguagem natural, na mensagem de solicitação de linguagem natu- ral e mensagens no diálogo; e a lógica de gerador de sinal de controle que gera um sinal de controle para controlar o sistema de computação com base nos in- dícios de satisfação.
2. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a lógica de gerador de sinal de con- trole é configurada para gerar o sinal de controle para controlar o sis- tema de envio de mensagens para avisar ao usuário solicitante que recomende o sistema de computação de assistência para outro usuá- rio.
3. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema analisador compreende: lógica de engate de descoberta de característica configura- da para identificar uma mensagem de linguagem natural de descober- ta de característica, inquirindo sobre a funcionalidade adicional ofere- cida pelo sistema de computação de assistência e gerando um indica- dor de engajamento em descoberta de característica, indicativo da mensagem de linguagem natural de descoberta de característica; e lógica de detecção de nível de satisfação configurada para gerar os indícios de satisfação com base no indicador de engajamento em descoberta de característica.
4. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computação de assis- tência compreende um assistente de programação configurado para criar um serviço de assistência de programação, e em que o sistema analisador compreende: lógica de mining de calendário configurada para acessar a informação de calendário correspondendo ao usuário solicitante identi- ficar um nível de utilização indicativo de um nível de utilização do as- sistente de programação pelo usuário solicitante; e lógica de detecção de nível de satisfação sendo configura- da para gerar os indícios de satisfação com base no nível de utiliza- ção.
5. Sistema de computação, de acordo com a reivindicação 4, caracterizado pelo fato de que a lógica de mining de calendário compreende: lógica de determinação de cobertura de serviço configurada para acessar informação de calendário e identificar a frequência na qual o usuário solicitante utilizou o assistente de programação para realizar as operações de programação em comparação com a fre-
quência na qual o usuário realizou as operações de programação sem a utilização do assistente de programação para obter um indicador de cobertura, a lógica de detecção de nível de satisfação gerando os indí- cios de satisfação com base no indicador de cobertura.
6. Sistema de computação, de acordo com a reivindicação 5, caracterizado pelo fato de que a lógica de mining de calendário compreende: lógica de categorização de encontro configurada para acessar a informação de calendário e identificar diferentes categorias de itens de programação para os quais o usuário solicitante realizou a operação de programação.
7. Sistema de computação, de acordo com a reivindicação 6, caracterizado pelo fato de que a lógica de determinação de cobertu- ra de serviço é configurada para obter o indicador de cobertura corres- pondendo a cada categoria dos itens de programação.
8. Sistema de computação, de acordo com a reivindicação 5, caracterizado pelo fato de que a lógica de mining de calendário compreende: a lógica de identificação de tendência configurada para identificar uma tendência da frequência na qual o usuário de solicita- ção utilizou o assistente de programação na realização das operações de programação com relação à frequência na qual o usuário realizou as operações de programação sem utilizar o assistente de programa- ção.
9. Sistema de computação, de acordo com a reivindicação 3, caracterizado pelo fato de que o sistema analisador compreende: a lógica de detecção de recomendação de usuário configu- rada para detectar se o usuário solicitante recomendou o sistema de computação de assistência para outros usuários e para gerar um indi- cador detectado de recomendação, a lógica de detecção de nível de satisfação sendo configurada para gerar os indícios de satisfação com base no indicador detectado de recomendação.
10. Sistema de computação, de acordo com a reivindicação 3, caracterizado pelo fato de que o sistema analisador compreende: lógica de análise de sentimento configurada para identificar o sentimento do usuário solicitante no teor das mensagens e identificar uma correlação entre o sentimento identificado e o sistema de compu- tação de assistência, a lógica de detecção de nível de satisfação ge- rando os indícios de satisfação com base no sentimento identificado e na correlação do sistema de computação de assistência.
11. Sistema de computação, de acordo com a reivindicação 10, caracterizado pelo fato de que a lógica de análise de sentimento é configurada para identificar o sentimento do usuário solicitante no teor das mensagens e identificar uma correlação entre o sentimento identi- ficado e uma característica individual do sistema de computação de assistência, a lógica de detecção de nível de satisfação gerando os indícios de satisfação com base no sentimento identificado e na corre- lação com a característica individual do sistema de computação de as- sistência.
12. Método implementado por computador, caracterizado pelo fato de que compreende: receber, em um sistema de computação de assistência, uma mensagem de solicitação de linguagem natural de um sistema de envio de mensagens que envia e recebe mensagens de grupo dentre uma pluralidade de usuários diferentes em um grupo de usuários, a mensagem de solicitação de linguagem natural sendo indicativa de uma solicitação de usuário, de um usuário solicitante no grupo de usu- ários, para interação com o sistema de computação de assistência; controlar o sistema de envio de mensagens para conduzir um diálogo com um usuário para criar um serviço em resposta à men-
sagem de solicitação de linguagem natural; detectar outras mensagens de linguagem natural, em adi- ção à mensagem de solicitação de linguagem natural e mensagens no diálogo, dentre a pluralidade de diferentes usuários no grupo de usuá- rios; gerar indícios de satisfação indicativos da satisfação de usuário correspondendo ao sistema de computação de assistência com base em um teor das outras mensagens de linguagem natural, a mensagem de solicitação de linguagem natural e mensagens no diálo- go; e gerar um sinal de controle para controlar o sistema de com- putação com base nos indícios de satisfação.
13. Método implementado por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que gerar o sinal de con- trole compreende: gerar o sinal de controle para controlar o sistema de envio de mensagens para avisar ao usuário solicitante que recomende o sis- tema de computação de assistência para outro usuário.
14. Método implementado por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que gerar indícios de satisfação compreende: identificar uma mensagem de linguagem natural de desco- berta de característica inquirindo sobre a funcionalidade adicional ofe- recida pelo sistema de computação de assistência; gerar um indicador de engajamento em descoberta de ca- racterística indicativo da mensagem de linguagem natural de desco- berta de característica; e gerar os indícios de satisfação com base no indicador de engajamento de descoberta de característica.
15. Sistema de computação, caracterizado pelo fato de que compreende:
um agente de software que recebe uma mensagem de soli- citação de linguagem natural indicativa de uma solicitação por intera- ção e que fornece um serviço com base na solicitação de linguagem natural por interação;
um sistema de envio de mensagens que conduz uma con- versa que possui um conjunto de mensagens enviado a partir de um usuário para o agente de software, em que pelo menos uma mensa- gem no conjunto de mensagens compreende a mensagem de solicita- ção de linguagem natural;
um analisador de sinal que analisa o teor da mensagem de solicitação de linguagem natural e outras mensagens no conjunto de mensagens e gera indícios de satisfação indicativos da satisfação de usuário correspondendo ao sistema de computação de assistência com base no conteúdo da mensagem de solicitação de linguagem na- tural e outras mensagens no conjunto de mensagens; e lógica de gerador de sinal de controle que controla o siste- ma de envio de mensagens com base nos indícios de satisfação.
$
E 3 E 3 & 5 e = 5 = = Ela à: NE E s/l | $||= Sl e = 2 1/5 E &/|2 es 8I|s gs e | = E | 2/2 > 1 E - ã s||2 s|| 3 Ss 2º, = 21) 8118117 Es = || SIS 2/78 o FI Sl 8/8 8/23 ã ss 8/|8||3 2/23 S É so $/5o2 ? õ E =| 8 Ss 8 [58 38 — E - e 2/28 S/s ss 8 Es ki 2|/s | SI) || 8 = | | Ss [33 2|2 E É wo S F 28 > S//ss 3 õ ss 9 $||8s E |2 elles 8 ||Eo 21/38 2 [O = > = 8 3 o 8
S 8 — | à . $â O
A o = F s o ss Ss 8 + — 8 o el = Ee la z |52 mL F E vw So / ou Ele SE o É 349 ||S| Ss ed fez a || Ss Õõ a). o Es /o e co Z S 82/88 // 233 [ICS a o o 83 88/5318 [8222 " vi ss 3 || 5 || gs//8S |? o q ve. ll o/>o/|/62/| 23 |[|8H||5E | 82 2 As &/ 28/23 ||5So||E Ss / És o / es | &/ 78/86 vo = o8|&%E fe] = | Ee SS gs so Tels Po | ss &/ 288 || E/S S/S || 8312 3º [7E 2 || E 588 ||| Se SZ2/[88/|8 ||5 |8T o 3 o o s|| 3-9 [| 88 Ss sa Ss /|| E | 40 o 8 “Sos o SE fe) ou o s S||8|s25||2 2 8 s/ || 5so v 3 SI = /o85||S FT e 3587 s o | E sos o F 2 /|S| ES 2 = = s1/|2 s/l Az "F SI s/8o o| Ss = z/|2 2 //8| 32 2 2º 4//s | s|& Jelloio les 3||2 [52 Ss |: s//2/g8 |l8 2 = E ã S/s =|3 21/82 ls s 4 o o os E 2|& Ss o se S 82 S/S Ss Ss/18 flsila a |? Ss 0/22 3/|s|SA ES 2 || e) 28llol? el els (ESET ZH s| g= 2/g ||8/[8|$ ||&38 [SA 2/|8 Z/ ecos als 8/| 2% See" o|/l3 2 /vw3|/|c|8 zs/|e|o calls e//O NG 2% Sis Cc = o se ls q ESElioIs Ss |E/8S e 352 8 o o ello = Ellis - Soc o| eos si sE/ 2 || 8 ES) wo /?S PP se mO q = 2º q alle SS/[8S/|S meo | E sz2||8||8/8S9E||[8S8||3 E S2//8/|8/85 1 8 $|/& =|| > 3 823//2/32/| 38 Ss > | /Ss||S||S E | o
Enviar/receber Sistema de assistência à Mensagem de ada mensagens programação está rodando para à caixa de entrada específicas de de assistência 184 programação onde poramaêteenã, No fDeedarsolclação de usuáro com o sistema de de linguagem natural para assistência 192 utilizar o sistema de assistência [ outros1ss | = à programação 182 Receber mensagens específicas de não Conduzir diálogo (por exemplo, programação, nas participar em uma discussão) quais o remetente para assistir na programação não está pretendendo /| (ou para fornecer um serviço) interagir diretamente 190 com o sistema de assistência 194 Realizar o processamento linguístico em todas as Realizar a mensagens recebidas para compreensão da detectar as preocupações do linguagem natural usuário 200 para obter o significado linguístico do teor Realizar a análise de da mensagem 196 sentimento para detectar o sentimento do usuário em todas; as mensagens recebidas 202 Detectar quaisquer mensagens nas quais o usuário recomenda que o usuário recomende o Identificar o Detectar diferentes ora ação) para auto uSLáNo engajamento di situações de utilização 204 como não possuindo |((por exemplo, chamadas T uma intenção de de trabalho, pessoais), programação 218 pessoalmente, etc.) 208 Etectar uma medida indicativa — da frequência com a qual o Classificar em Determinar um serviço está sendo usado com categorias 220 percentual de utilização relação à programação de em cada situação 210 outras formas 206 Identificar categoria de engajamentos para pesquisas de Identificar tendências característica 222 Detectar o engajamento com — — o serviço para descobrir renaidace adorei ao
E - 50 Ss E o 68 o o wo PES ss so o 5 eo 2ÊS s Soo vEST SS E > 28 TS SON 23 =E 28s 28 ES SS É 3 d à > S$ OA sor | go 3238 SEE 2 os à 8 A SS PET 278 = DI DES 220 EO an 82 SE ve E Go 238 Sos o 8 TE BS 8 o 72 83 5883 SETZO& - = 8 e E SSB 2365 õ s 20 ES DOI To oS o PL 28203 5200 - = ESSO são 8 ge SE so ES Esso SEZS o se
SN SOS ES ES os o3s vg 533 CEE 8 SB o OesS Ss o à o & se &s 25º mM o Ss ES 283 e no ce? E . 2 £EEZ E | 78 E 238 SS ES 32 —
ES ÕES 2 gs mm o o % Õ 3 o os O O0B8O 807
SS TGQs ;o| ESES ss aC çe el e o? S&S E ÉS Ss ES se PSSod 2 3 O Tea CEA 8 E DE S 8 a 2PS; as ||E STSSS 85 Ss ES?ES ts S/lo gs ce 3? w ESSO wo £Esã 58=8o S 583 oO8 E
NETO 28 IM 2) So E |
MÊS NO ãs | ms! vanE 2) S 1 s | s | | | se o Cs Ss | 3 3 ss co NX Ss 28 scoluo e E Vo ZE QE o S El BS ss ã : 3 sa 23/55 7 ó Zz E 2o/£o > — 8 asv/ES E +
Z | | ! oe ! 123 | 1588 DE) | Too o 27 Doo | Eos 15ES! [13S% | nos | | ta
Interface de Memória cartão SD Os 22 27 Configurações Sistema de derede 31 localização 17 — Processador Aplicativos 33 Configurações 25 Relógio Aplicativo de contatos ou caderno = Sistema de cliente 24 23 Armazenador de 19 Acionadores de comunicação 39 Links de comunicação Configurações 41 13 21 a Ss Ss e 38 Ss nn = Fm = - -| o e : /
LS « o o 8 Q ' [e 5 5 N 2 E = [LH s ã Prel O 9 >) SE o “LA gs & = sx ./8|3 &8|| 4 E 2 mm 8 << o o 21 E) 3 o = - £/||8| 3 8 s 2 | q [—w O = — — e se
Ss 3 8 â 58% ÉS : 22”? 5 : s ” 38 É 28 &s 2 8 | : - Ss Ns | Z | õ . | , : | —— 8 SS ; a É vã T sê &s E EWwe | 5 lo Ss" s8o DES 8 o 8 " . | 1 ss 128 3825 oo| ES ce & , 4 | o + oo - i | = : | i | 3 - : o D ; | | X o | 8 é ú ' = 8” é 23 | $8S à ” 8 à o | S 7 28” SS o | . |
TE Í Pê = | — : 8 Sn? | 8233 / | | o 2 FA | / | - e. on o o É - | | 33 : 18 sê | | : S o 1% â - | o oo sê | | - 283 | a 258: | 2 || 88 i | | = ' E | ; TE a É 115! 4 Às. o | st : | 1 1. S | o | O) le ES 3 1 ! |: e FE SI) E | SI FE os o se [18 —) 28 ES 835 | : 1 81Z Ss so o. ? . BÉ 1) 2 ER : à: A : : és ê | Es —— E - o Pr " etição 870: " | | 20001 7707, de 06/ : | 3/02, : /2020, pás
9. 17/76 | ss o os o
BR112020002532-1A 2017-09-25 2018-06-25 processamento e análise de linguagem natural em um sistema de computação assistente de programação conversacional BR112020002532A2 (pt)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
BR112020002532A2 true BR112020002532A2 (pt) 2020-08-04

Family

ID=63015024

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020002532-1A BR112020002532A2 (pt) 2017-09-25 2018-06-25 processamento e análise de linguagem natural em um sistema de computação assistente de programação conversacional

Country Status (17)

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

Families Citing this family (4)

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

Family Cites Families (35)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US11669752B2 (en) Automatic actions based on contextual replies
KR101569470B1 (ko) 현재의 위치 또는 시간에 관한 정보의 제시
EP3340102A1 (en) Displaying private information on personal devices
BR112020002532A2 (pt) processamento e análise de linguagem natural em um sistema de computação assistente de programação conversacional
TW201435759A (zh) 將時機與情境比對
CN110753911B (zh) 应用之间的自动情境传递
US20200293998A1 (en) Displaying a countdown timer for a next calendar event in an electronic mail inbox
US10430412B2 (en) Retrieval of enterprise content that has been presented
US20230186248A1 (en) Method and system for facilitating convergence
US10922661B2 (en) Controlling a computing system to generate a pre-accept cache for calendar sharing
US20170140019A1 (en) Automated data replication
US9652442B1 (en) Virtual photo wall
WO2023113898A1 (en) Method and system for facilitating convergence

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]