Apresentação



Faça download do nosso artigo de divulgação!

Evolução Histórica

Durante muitas gerações as expectativas para assistentes pessoais com reconhecimento de voz estavam altas. No cinema, as menções em filmes de ficção científica a este tema eram recorrentes, basta olhar para o exemplo do computador U.S.S. Enterprise da saga Stark Strek, com inicio em 1966, ou para o grande impacto (talvez menos positivo) de HAL, em 2001: A Space Odissey, data de 1968. De certa forma, as mentes do público estariam a olear-se, a preparar-se para a revolução e, como em tantas tecnologias que depois surgiram na vida real, os filmes de ficção cientifica elevavam as fasquias.

Tecnologia

Os assistentes pessoais inteligentes têm como principal função desempenhar tarefas consoante pedidos do utilizador. Esta arquitetura pode ser vista como um modelo cliente-servidor, em que do lado do cliente temos a aplicação a correr numa máquina e no lado do servidor temos as ferramentas fundamentais para o processamento da informação enviada pelo cliente. Como cada tarefa é realizada dependendo do software a que esta está associada, estas tarefas são divididas por vários agentes. Existe um agente que funciona como regulador, ou neste contexto, o coordenador, um agente de interação com o utilizador e os agentes responsáveis por cada tarefa. Existe ainda um módulo responsável pela interpretação do discurso enunciado pelo utilizador, o processador de fala. O papel do agente de interação com o utilizador prende-se com estabelecer a conexão entre o utilizador e o Coordenador. Quando o utilizador inicia um discurso, os módulo processador de fala atua, gerando um pedido parcialmente analisado. O agente de interação cria então uma mensagem com esta informação para enviar ao agente Coordenador. No fim de todo o processamento necessário para realizar tarefas e responder ao utilizador, o agente de interação responsabiliza-se por converter a resposta do sistema para um formato que possa ser lido pela aplicação. Na figura seguinte está descrita esta arquitetura de agentes.

img

Funções do Agente Coordenador

O agente coordenador é responsável por gerir o diálogo estabelecido com o utilizador e coordenar as ações desenvolvidas pelos agentes específicos. Para tal, este agente possui uma série de planos para gerir as tarefas, coordena-las e para manter um diálogo coerente. O agente possui conhecimento sobre o contexto da conversa de modo a conseguir um melhor entendimento dos pedidos do utilizador e a conseguir responder de maneira mais acertada.

Com os planos e o conhecimento contextual, o agente coordenador pretende: entender os atos comunicativos do utilizador; perceber as intenções do utilizador; satisfazer os desejos do utilizador.

Percebe-se então que o agente coordenador tem duas funções principais, manter o diálogo e coordenar as atividades dos agentes específicos. No entanto, é importante perceber que estas funções são executadas separadamente. A função de gestão de diálogo é baseada no princípio de reação, isto é, a resposta a pedidos do utilizador, e no principio de pro-atividade, clarificando os pedidos e notificar o utilizador.

De modo a entender qual a intenção do pedido e estabelecer a melhor resposta, o agente coordenador baseia-se no no conhecimento do contexto, que pode ser definido pelos seguintes parâmetros: Histórico da conversa Lista de conteúdo mencionado, classificando-o segundo o seu grau de ocorrência; Tarefas realizáveis; Vocabulário especifico para interpretação de tarefas; Variáveis de contexto - Ex: Tipo de dispositivo, modalidades.

Apesar de num diálogo entre o agente coordenador e o utilizador existirem vários atos de fala específicos, apenas alguns são essenciais para o agente coordenador conseguir entender o tipo de pedido do utilizador. Estes atos são chamados atos conversacionais. Estes atos podem ser executados pelo coordenador, tanto na comunicação com o utilizador como com os agentes específicos.

De seguida apresentam-se os vários atos conversacionais: Pedido - solicitar a resolução de uma tarefa; Resposta - descrever o resultado do pedido; Clarificação - pedir para esclarecer ambiguidades; Cumprimento - expressar o desejo de iniciar uma conversa; Confirmação - expressar acordo ou desacordo; Reconhecimento - mostrar que entendeu o desejo do remetente.

Como vimos anteriormente, o agente coordenador baseia-se numa série de planos para conseguir um funcionamento estável. Estes planos podem ser divididos em quatro grupos. Quando chega a mensagem do utilizador, depois de processada pelo módulo de processamento de fala, esta é gerida pelos planos que se encaixam num grupo intitulado Determinação de Atos Conversacionais(grupo CAD). Estes planos são responsáveis por determinar o ato conversacional e por definir quais os tipos de tarefas a executar. De seguida a informação é passada pelo grupo chamado Identificação de Intenções(grupo II). Se estes planos tiverem sucesso, a informação é passada aos planos do grupo Processador de Tarefas(grupo TP), que irá envolver novos pedidos feitos pelo coordenador aos agentes específicos. Se a intenção do utilizador não tenha sido descodificada pelo coordenador, então é realizado um pedido de clarificação ao utilizador. Este pedido de clarificação é realizado pelo último grupo de planos Gerador de Respostas(grupo RG).

Na figura seguinte ilustra-se um exemplo de funcionamento desta arquitetura de agentes em que o utilizador faz um pedido para ver a última mensagem recebida do João.

img

Processador de Fala

Neste tópico explora-se o funcionamento do módulo de processamento de fala. Antes de mais é necessário entender o formato de entrada deste sistema. A entrada do sistema é um sinal analógico capturado pelo microfone do dispositivo do lado do cliente e enviado em formato digital para o servidor. O principal objetivo deste módulo é construir uma hipótese da sequência de símbolos mais prováveis que correspondem ao sinal de entrada. Para determinar as probabilidades de sucesso a arquitetura à qual se recorre encontra-se na figura em baixo.

O modelo de linguagem permite determinar a probabilidade de ocorrência de uma certa sequência de símbolos enquanto que o modelo Acústico permite encontrar a probabilidade de um certa sinal acústico de entrada sabendo a sequência de símbolos. No primeiro bloco desta arquitetura o principal objetivo é determinar vetores característicos, que representam o sinal de entrada num formato mais compacto.

Este bloco atua em três fases. A primeira trata de fazer uma análise espectral do sinal e gerar características da envolvente espectral de curtos sinais de voz. De seguida, são criados os vetores característicos com a informação dinâmica e estática adquirida. Por último, estes vetores são comprimidos e fortalecidos, de modo a estarem preparados para potenciais erros.

As características extraídas devem ser tais que: permitam ao sistema diferenciar entre sons relativamente parecidos; facilitem a criação de modelos acústicos sem necessitar de muita informação adicional; as suas estatísticas não veriem consideravelmente de utilizador para utilizador.

Existem inúmeros métodos para cumprir estes requisitos. O mais utilizado é o Mel-frequency Cepstral Coefficient (MFCC). Este método começa por amplificar a energia do sinal nas frequências altas. De seguida parte-se o sinal em "janelas". Tendo apenas o sinal que se encontra dentro dessa janela de tempo, aplica-se a transformada de Fourier de modo a obter um representação em fase e amplitude. É importante ter em conta, nesta fase, que o ouvido humano é mais sensível às baixas frequências. Executa-se então uma alteração de escala de frequências para a escala de Mel. De modo a explorar esta característica auditiva, aplicam-se também filtros triangulares igualmente espaçados nas frequências baixas e logaritmicamente espaçados nas frequências altas.

À saída deste processo tem-se o espetro de Mel, que no passo que se segue é sujeito à aplicação do logaritmo, obtendo-se os coeficientes espetrais de Mel. Nesta fase os coeficientes gerados são substituídos por coeficientes DCT. Conclui-se assim o processo de criação dos vetores característicos do sinal de entrada.

Passemos agora à descrição da peça fundamental e mais complexa desta arquitetura: o modelo Acústico. A função deste modelo prende-se com determinar representações estatísticas das características geradas. Para tal, baseia-se nos Hidden Markov Models (HMM).

O HMM é um processo através do qual se pretende determinar qual é o resultado final, tendo apenas informação incompleta. Neste caso, vamos ter vários pedaços de discurso, que vão ser chamados de fonemas. Cada fonema é tratado pelos HMM tendo em conta a linguagem e uma base de dados que fornece palavras e os fonemas que lhe deram origem. Os HMM juntam então vários fonemas de modo a perceber que palavra está a ser construída.

O objetivo é encontrar a palavra que maximiza a probabilidade de um determinado conjunto de fonemas. O modelo de linguagem baseia-se na aprendizagem de contextos. Para tal utiliza textos disponíveis online ou numa base de dados fornecida pela entidade responsável pelo processo de reconhecimento de voz. Ao estudar estes textos, tenta criar um contexto para cada um deles e perceber de que forma as palavras se encaixam num determinado num determinado contexto.

Um método frequentemente utilizado para melhorar o desempenho deste processo prende-se com a predição da palavra que o utilizador vai dizer a seguir.

img

Mercado Atual

O mercado atual é muito dinâmico no que toca a a soluções de assistentes pessoais inteligentes, apresentando soluções que já vêm integradas no smartphone e computadores pessoais, soluções a nível de software que podemos adquirir, ou soluções para casa. As grandes empresas já têm integradas nos seus dispositovos as suas assistentes pessoais, enquanto que existem outras empresas que desenvolvem aplicações e software que podem ser adquiridos.

Aspetos Legais e Segurança

Ao contrário do assistente pessoal inteligente KIT, de Knight Rider, os assistentes pessoais de hoje ainda não nos protegem contra bandidos. Mas poderão estar a ser, pelo contrário, os próprios bandidos?

Reparemos que estes sistemas são desenhados para fazer as nossas vidas mais fáceis, com a possibilidade de fazerem algumas das tarefas mais chatas por nós, basta pedirmos. No entanto, para o fazerem, necessitamos de dar acesso a estas aplicações a uma quantidade bastante significativa de informação pessoal. Estas informações passam pelo acesso ao nosso calendário, ao nosso email, contactos telefónicos, entre muitos outros. Para isso, muitas vezes teremos que fornecer as nossas palavras passe a estes sistemas, o que poderá abrir portas para muito mais.

Além disso, repare-se como estes sistemas trabalham. Se queremos, por exemplo, pesquisar algo na internet, dizemos à assistente pessoal para o fazer, esta grava a nossa voz pedindo a desejada pesquisa e envia-a para um data center onde a aplicação remota realmente processa o pedido. Ou seja, o nosso pedido, a nossa gravação do mesmo, que deverá ser privada, vai estar guardada num sítio que provavelmente não sabemos onde é, num país diferente do nosso, onde algumas das leis serão totalmente diferentes. Neste sentido, tudo o que perguntamos ao nosso assistente pessoal inteligente é guardado e processado completamente fora do nosso controlo.

As questões que eventualmente se podem colocar é se poderemos ou não confiar neste tipo de aplicações com as nossas informações. Quanto à questão destas aplicações terem acesso a grande parte dos nossos dados, é claro que a decisão de confiar numa empresa com os nossos dados será nossa, não só neste caso em particular, mas como em muitos outros, desde o primeiro momento em que utilizamos a internet. Por exemplo, ao utilizarmos um chat online, como o Facebook Messenger, ou o Whatsapp, estamos a confiar que as empresas que fazem a gestão destas aplicações não irão espiar as nossas conversas, apesar de poderem ter o poder de o fazer. Ou, noutros casos, quando nos registamos noutro serviço e confiamos que essa dada empresa não utilizará os nossos dados pessoais de registo para outros fins.

Existem exemplos da recolha de dados feita por este tipo de aplicações. É o caso da assistente pessoal da Microsoft, a Cortana, incluída nas mais recentes versões do Windows 10. Nas políticas de privacidade deste serviço , lê-se: "A Cortana foi criada para ser a sua verdadeira assistente pessoal, fornecendo-lhe sugestões e alertas pessoais relevantes. Para tal, a Cortana tem de compreender determinados dados sobre si, tais como os seus interesses, localizações e preferências"}. Ou seja, tal como dito, a Cortana necessita de dados pessoais do utilizador para que a sua utilização plena. Ainda assim, neste caso, a Microsoft dá a possibilidade do utilizador decidir quais os dados que quer partilhar com a Cortana, que vão desde os dados de localização, até ao calendário ou mesmo o histórico de pesquisa. Neste caso, as funcionalidades da Cortana ficarão limitadas ao tipo de acessos que o utilizador lhe dá. Além disso, como descrito na política de privacidade anterior, sempre que a Cortana necessita de um novo acesso, esta pedirá primeiramente ao utilizador.

img

Ainda em relação ao caso da Cortana, caso não desativemos uma outra opção existente, os dados recolhidos podem ser utilizados para a Microsoft atribuir um perfil publicitário ao utilizador e posteriormente condicionar a apresentação de publicidade mediante cada utilizador. Medidas como esta costumam ser muito polémicas entre a comunidade utilizadores.

Em muitos outros casos, para as próprias empresas poderem melhorar o seu software, estas optam por incluir nas políticas de privacidade das suas ferramentas termos que lhes permitem recolher dados ao longo da utilização do utilizador da mesma, por via à realização de melhorias existentes.

No fundo, ao utilizarmos estes serviços, estamos a comprometer-nos com o fornecimento de dados pessoais para que a assistente pessoal possa ser mais eficiente nas suas operações.

Aspetos Sociológicos

Ao estudar uma tecnologia é altamente importante perceber qual o impacto desta a nível social. É então relevante uma discussão sobre quais as vantagens e desvantagens do uso desta tecnologia. Nesta secção, debatemos em primeiro lugar as vantagens e depois as desvantagens.

Vantagens

Esta tecnologia permite a um utilizador acesso a informação de uma forma menos trabalhosa, ou seja, faz um pedido e o assistente pessoal trata desse pedido pelo utilizador. Sejamos sinceros, a nível de procura e tratamento de dados um processador é bastante mais eficiente e faz com que as tarefas se realizem mais rapidamente, poupando tempo ao utilizador. Com este tipo de tecnologia a comunicação entre as pessoas pode ser fomentada. Enquanto que um utilizador para enviar o e-mail tem de preencher o campo destinatário, assunto e escrever a mensagem, um assistente pessoal adquire estas informações todas de uma vez do utilizador e cria o e-mail a ser enviado, podendo até criar um assunto percebendo o contexto da mensagem. Também dentro de uma organização, o papel do assistente pessoal inteligente pode ser importante. Nesta ótica, seriam vários utilizadores a comunicar com um ou mais assistentes pessoais. Estes, então, falam entre si, permitindo uma maior eficiência na organização interna. Esta possibilidade de aceder a informação tão rapidamente faz com que o utilizador deixe de fazer pesquisas. Isto resulta em a pesquisa ser baseada apenas no conteúdo e não no formato apelativo que este possa ter. Ora, os avanços que foram feitos na elaboração de websites estão em risco de terem cada vez menos relevância à medida que esta nova tecnologia se apodera da sociedade. Não é no entanto claro se este fator é uma vantagem ou uma desvantagem.

img

Desvantagens

No entanto, nem tudo o que esta tecnologia traz tem impacto positivo na sociedade. De seguida apresentam-se então alguns aspetos negativos da introdução desta tecnologia nas nossas vidas. Estes assistentes pessoais permitem ao utilizador realizar tarefas que ele próprio iria realizar ou então iria contratar alguém para as fazer. Percebe-se então que este tipo de tecnologia faz com que alguns empregos deixem de fazer falta. Isto tem um elevado impacto na sociedade pois pode fazer aumentar o nível de desemprego. Apesar de terem de existir pessoas a desenvolver o software e hardware necessário, este fator tem pouca relevância no impacto geral no desemprego. Outro ponto fundamental que deve ser tido em conta é o facto de que este mecanismo de fácil acesso à informação e sensação de conforto pode provocar nas pessoas um afastamento da vida real e falta de comunicação direta com outras pessoas. Estes fatores podem levar à quebra de relações e ao aumento da solidão. Outro impacto importante prende-se com a evolução humana. Sabe-se que a espécie humana tem evoluído consoante os seus requisitos para sobreviver. Ora, esta tecnologia faz com que o utilizador não precise de usar capacidades cognitivas avançadas para a realização de funções. Percebe-se então que algumas capacidades cognitivas vão desaparecer ao longo do tempo dado que a necessidade de as usar deixa de ser preponderante.

Perspetivas Futuras

Para quem assistiu ao filme Her de 2013, sabe bem que no que toca às assistentes pessoais inteligentes, o limite é inexistente. Neste filme, passado em Los Angels, algures no futuro, a tecnologia de assistentes pessoais inteligentes é bastante avançada. Os operating systems (OS), como lhes chamam, têm a habilidade de aprender e crescer psicologicamente a um ritmo elevado, ultrapassando a largos passos a capacidade humana. Isso, psicologicamente. O que significa que estas aplicações, neste filme, conseguem de alguma forma simular sentimentos e emoções. Numa quebra de paradigma, começa a ser aceitável socialmente a existência de relações amorosas entre as pessoas e os seus OS's. O impressionante, neste caso, não é as pessoas apaixonarem-se por estas máquinas, mas sim o contrário, os OS apaixonarem-se, o que mostra um extremo avanço tecnológico. Quão distantes estamos nós de uma sociedade destas?

Apesar de ser apenas um filme, Her ilustra bem as inúmeras possibilidades existentes neste tipo de aplicações, o poder de processamento que estas eventualmente terão e, sobretudo, a controvérsia lançada a nível social. Mas afinal, para um futuro muito mais próximo do que Her, por quais avanços tecnológicos estas aplicações poderão passar?

img

Ora, como já todos nos temos apercebido, a barreira dos assistentes pessoais inteligentes serem uma aplicação limitada ao nosso smartphone está a ser ultrapassada. Cada vez é mais habitual utilizar a nossa linguagem natural para falar com a nossa TV de casa, para procurar conteúdos de um certo realizador ou onde um certo ator entra. Por exemplo, na mais recente box da operadora NOS permite a execução de comandos de voz para fazer este tipo de operações. No entanto, as aplicações das assistentes pessoais inteligentes não ficam por aqui. Os carros, por exemplo, também têm sido algumas das vítimas na integração deste tipo de sistemas.

Quanto ao próprio sistema dos assistentes pessoais, é difícil perceber qual será a próxima revolução. A existência deste tipo de sistemas é relativamente recente, não nos permitindo perceber qual será o próximo big thing. Para já, as próximas versões destas aplicações serão seguramente melhores, mais inteligentes e mais rápidas do que as anteriores, mas ainda dentro do mesmo tipo de conceito, não fugindo ao tipo de produto da versão anterior. No entanto, como aconteceu ao longo de toda a evolução tecnológica, inevitavelmente as assistentes pessoais poderão dar lugar a novos produtos totalmente diferentes, e à quebra de paradigmas. Quem sabe, talvez mais parecidos com Samantha, um OS do filme Her

.

img

Neste sentido, dentro do conceito atual de assistentes pessoais inteligentes, ainda há muito para aprender em alguns aspetos. Por exemplo, no que diz respeito ao quão bem a assistente pessoal interpreta o que queremos, e à relevância dos conteúdos que procura por nós. Muitas vezes estas aplicações não têm a habilidade de inferir o que necessitamos e quais as nossas intenções, baseando-se apenas naquilo que lhes perguntamos. Ou seja, os resultados apresentados por estas são baseados apenas no conteúdo por elas encontrado e não no formato apelativo que este possa ter. Não conseguem fazer a distinção, que nós conseguimos fazer, entre o próprio conteúdo e a sua qualidade.

Este facto leva a que as próprias respostas das assistentes pessoais sejam, por vezes, demasiado vagas. As assistentes pessoais inteligentes são produtos com o objetivo de chegar a um mercado amplo, sem distinção do tipo de pessoas que eventualmente as pode usar. Neste sentido, a informação que conseguem adquirir mediante os nossos pedidos também é ampla. Além disso, à medida que vamos explorando o nível especifico do tipo de tarefas que queremos que estas façam, também teremos que abrir novas portas à quantidade de informação a que permitimos acesso. Assim sendo, talvez para estas assistentes pessoais serem cada vez mais inteligentes, seja necessário que estas se especifiquem na elaboração de apenas algumas tarefas.

Para o futuro, a evolução talvez passe pelo aperfeiçoamento das assistentes pessoais nestes tópicos mencionados. Os esforços na investigação em disciplinas como a inteligência artificial, a aprendizagem automática ou data mining poderão ser fundamentais para a evolução dos assistentes pessoais. Neste momento, a capacidade de processamento ou o reconhecimento de voz já não são os grandes desafios. Com as evoluções nestas áreas, os assistentes pessoais poderão ter um comportamento mais pro-ativo no que diz respeito às informações passadas ao utilizador. Isto é, atualmente, a maior parte das ações feitas por estas aplicações são tomadas após os comandos de voz fornecidos pelo utilizador. No entanto, o objetivo para o futuro passará pelas aplicações executarem automaticamente ações, baseando-se em informações que vão adquirindo sem a ação direta do utilizador ou em informação encontrada por elas (automaticamente) online.

img

Autores

img
Bruno Gonçalves
Estudante Eng. Eletrotécnica e de Computadores

Nascido a 10 de Novembro de 1995. É estudante de Engenharia Eletrotécnica e de Computadores, nas áreas de computadores e telecomunicações. Escolheu este curso porque desde pequeno tem fascínio por computadores, eletrónica e tudo o que era relacionado.

img
Afonso Costa
Estudante Eng. Eletrotécnica e de Computadores

Nascido a 18 de Abril de 1995. Estudante de Engenharia Eletrotécnica e de Computadores, na área de computadores e secundária telecomunicações. Durante o seu percurso académico desenvolveu vários projetos relacionados com circuitos eletrónicos e algoritmos computacionais.