Letreiro brilhante escrito Robots.

Robôs de conversação e inteligência artificial como interface

Por
26/4/16, 9h23 11 min Comente

Robôs de conversação envolvem duas preocupações muito atuais. De um lado, a esperança de que eles de fato funcionem é um reflexo da contínua explosão da IA (inteligência artificial); do outro, eles oferecem um caminho para alcançar consumidores sem ter que fazê-los instalar um app.

Uma forma de enxergar qualquer problema de IA, nos termos mais crus, é perguntar se para resolvê-lo precisamos de “IA genérica” ou se o seu domínio é estreito e a sua solução ampla e flexível a ponto de conseguir lidar com um percentual suficientemente grande de cenários potenciais sem ter um HAL 9000. Estamos muito perto de construir um carro capaz de lidar com estradas sem nenhuma intervenção humana, uma vez que o número de situações possíveis é bastante pequeno, mas dirigir no centro de Roma ou Moscou é um desafio completamente diferente que precisa de um nível de tomada de decisões completamente diferente: o que aquele gesto com as mãos significa?

O desafio ao colocar uma IA em uma interface de robô de “conversação” é que você não tem o nível de sofisticação do HAL 9000, mas em certo sentido está fingindo ao usuário que tem. Você fala com o robô, ele responde e usa linguagem natural (tanto em voz quanto texto), mas ele não é uma IA genérica de forma alguma. Então, qual é a probabilidade de os usuários fazerem uma pergunta que quebre a IA? Qual o tamanho do estrago que essa pergunta fará? O quão estreito é o domínio de perguntas que eles podem fazer e como é possível definir as expectativas dos usuários de forma que eles entendam o domínio? Ou, talvez ainda mais importante, será que dá para fazer as pessoas aceitarem a limitação?

Uma boa forma de ver esse problema em ação é comparar a Siri ao Google Now, sendo ambos robôs de conversação antes mesmo dos robôs de conversação se chamarem assim. O Google Now é baseado em push — ele só diz alguma coisa se acredita ter algo útil para você. Em contraste, a Siri tem que se virar ao ser perguntada por qualquer coisa e, obviamente, ela nem sempre consegue entender. O Google Now tapa as lacunas permanecendo calado enquanto a Siri o faz com piadinhas enlatadas ou dando uma lista de perguntas que você pode fazer. A verdadeira inteligência pode ser (pelo bem do argumento) idêntica, mas você vê a Siri falhando.

Para inverter isso, a tela de “o que dá pra perguntar” da Siri é essencialmente uma tela de ajuda para linha de comando, enquanto toda a ideia de uma GUI (interface gráfica de usuário) é que você não precise mais saber o que se pode digitar. Embora o processamento da linguagem natural signifique que você não precisa saber uma sintaxe específica para a Siri ou para um robô, ainda há um problema básico de descoberta — o que eu posso perguntar, já que eu não posso perguntar qualquer coisa?

Tudo isso significa que, por ora, aparentemente um robô ou uma UI de conversação deve funcionar melhor para algo muito específico — em que o usuário saiba o que pode perguntar e essas são as únicas coisas que ele irá perguntar. Contudo, quando isso funciona, torna-se de fato muito interessante, particularmente por conseguir alinhar muito bem com a segunda preocupação — contornar o problema da instalação de apps.

Em vez de passar por toda a irritação de persuadir alguém a instalar seu app, que tal se você tivesse um jeito imediato, fluido e fácil de engajá-lo através de uma interface de conversação? Seria possível tornar os robôs de conversação o terceiro ambiente, depois da web e dos apps nativos, que traz um novo modelo de interação? E, é claro, seria esse novo modelo de conquistar usuários melhor do que a App Store? (Em outras palavras, “esqueça o sonho da inteligência artificial — isso fará eu parar de dar tanto dinheiro ao Facebook?”)

Slide da palestra de Benedict Evans.

A promessa imediata de uma interface de conversação é menos algo que se faz dentro de seu próprio app e mais algo que facilite muito a interação com seus usuários sem fazê-los instalar um app.

A questão prática aqui é: qual ambiente? Nós tivemos os sistemas operacionais de smartphones com as APIs e temos o navegador web, mas qual é o local de destino para um robô? Se um robô é uma interface de linha de comando, qual é o terminal? Como é que ele entra no smartphone? E ele tem os seus próprios meta-mecanismos para aquisição de usuários e descoberta de serviços assim como o ambiente em si? Onde eles estão?

Uma tendência bem óbvia entre os smartphones tem sido os modelos de interação não apenas proliferarem, mas se moverem para cima e para baixo na pilha — movem-se para cima ao se tornarem novos apps que agem por si mesmos como plataformas (Facebook, WeChat, maps, etc) e para baixo ao entrarem no sistema operacional (Siri, Now, deep links, etc). Assim também é com os robôs: a Apple (ainda) não abriu a Siri para desenvolvedores, mas o Google está seletivamente abrindo o Now e de certo parece estrategicamente desejável que o mantenedor do sistema operacional seja aquele criando os novos ambientes.

Todavia, o desafio tanto para a Apple quanto para o Google aqui é a outra ponta. Eles podem colocar um terminal de robô no smartphone, mas para qualquer coisa na nuvem falar com você por ele, aquele serviço deve saber onde procurar. Ambas as empresas têm uma espécie de plataforma de identidade na nuvem, mas a estratégia de privacidade da Apple exclui muitos dos usos possíveis e nem a Apple nem o Google têm, hoje, uma plataforma em que a Gap ou o Walmart possam usar para você logar quando fizer o seu pedido de forma que elas possam falar com você sobre isso posteriormente. É claro, isso pode mudar — em particular, o rumor de que a Apple estenderá o Apple Pay (e, com isso, o TouchID) para a web abre muitas possibilidades nessa direção.

Subindo na cadeia, o Facebook já tem as duas pontas — o terminal, que funciona no Messenger (que agora tem um bilhão de usuários ativos mensais) e a plataforma de identidade na web. O desafio do Facebook está em um local diferente: estariam os desenvolvedores dispostos a dar ao Facebook tanto controle e eles confiariam de que ele suportaria a plataforma no futuro, dado o seu histórico?

Enquanto isso, achei o foco da Microsoft nos robôs e nas ferramentas associadas na Build bem interessante porque é claro que a Microsoft não tem nenhuma das pontas — eles não têm uma plataforma de smartphones de massa nem uma plataforma de identidade web que poderia ser a cola a conectar tudo isso. (Tem o Skype, com 300 milhões de usuários ativos mensais, mas não estou certo de que ele tem o posicionamento de mercado correto para ser um terminal viável nesse sentido.) Muito da narrativa da Microsoft é sobre construir plataformas na nuvem para possibilitar a outras pessoas a criação de robôs que poderiam então rodar entre duas outras pontas quaisquer — entre o Messenger e o Slack de um lado e a Gap do outro, logado através de uma identidade no Facebook, mas com as capacidades reais vindas da Microsoft. Isto é, a Microsoft como uma plataforma de desenvolvimento. Naturalmente, esta é a auto-imagem do Google também — o que é o Google senão uma plataforma de compreensão e comunicação de dados em uma escala massiva?

Eu tenho usado deliberadamente o termo já antigo “terminal” para descrever o lugar em que a interface de robô reside no smartphone porque essa parece ser a forma como a maioria das pessoas a imagina — existe uma IA na nuvem e você conversa com ela através de texto simples ou de uma interface de voz no smartphone ou PC. Isso também reflete a forma como o Now funciona — o dispositivo é basicamente um vidro vazio. Trata-se de uma extensão das alterações nas camadas de interação para cima e para baixo na cadeia que eu mencionei antes — aqui você está de alguma forma movendo a interação para cima, completamente para fora do dispositivo. Coincidentemente, “terminal” era a palavra que as empresas de telecomunicação usavam para se referir aos telefones celulares antes de toda essa história dos smartphones acontecer e de fato muitos dos usos mais comuns que eu tenho visto para os robôs de conversação poderiam ser feitos por SMS, ou talvez USSD.

Mas esse não é o único modelo potencial. O WeChat usa o mensageiro como uma plataforma mas ele não força a interação como apenas “texto simples” — ele oferece os seus próprios modelos social e de aquisição, mas muito da interação de verdade com os serviços de terceiros acontece em interfaces ricas (boa parte delas como páginas web). E, no fim, se você está oferecendo ao usuário uma questão para a qual só há duas opções, você deveria dizer a ele “você pode responder ‘vermelho’ ou ‘verde'” ou deveria mostrar dois botões dentro da conversa? E se forem cinco opções? Você deveria talvez construir algum tipo de interface na tela aos usuários que apresente, de forma gráfica, as opções? Você poderia chamar isso, talvez, de “GUI”. Você poderia ter “links” nos quais você clica para carregar novas “páginas”… E de fato, se você tem o seu robô de conversação funcionando, ele precisa estar no Facebook ou poderia ser no seu próprio site também? Isso depende de quais formas de interação você está procurando e, talvez, se você está resolvendo os seus próprios problemas ou os dos seus usuários.

Existe uma velha ideia na Ciência da Computação de que um computador nunca deve perguntar algo que ele possa responder por si mesmo. Uma promessa da IA é que você não apenas tenha um computador com quem você pode falar como se fosse uma pessoa, mas também um com quem você não precise realmente falar, ou menos ainda — que você remova a carga mental e o atrito de engajar com um computador ou um serviço online. O computador pode fazer menos perguntas e trabalhar mais por conta própria. (Isto é de alguma forma análogo à redução na carga mental envolvida na mudança do Windows ou Mac para o iOS ou Android.) Em vez de voltar ao site, fazer o login e editar seu pedido, você pode apenas enviar uma mensagem dizendo “cancele a camisa e me mande a mochila verde em vez da cinza”. Um computador deve ser capaz de compreender isso; provavelmente será. Você deve ser capaz de usar a IA e a conversação, de alguma forma, para atingir os mesmos objetivos com muito menos trabalho.

Mas isso não significa que essa é uma excelente forma de fazer tudo. Se leva mais tempo para adivinhar o que você pode perguntar à assistente de IA do que simplesmente arrastar a reunião para um novo espaço na sua agenda, você está fazendo isso errado. Uma IA não deveria ser uma carga mental maior do que simplesmente apertar um maldito botão — um sistema de voz com jargões melhores. Esse pode ser um modelo de aquisição de usuários melhor para você, mas é complicado. E isso retorna ao meu ponto inicial: este é um domínio em que você pode apenas dizer à IA o que fazer e seguir adiante ou um em que a “inteligência em geral” ainda precisa estar entre a cadeira e a tela?


Publicado originalmente no blog do Benedict Evans em 30 de março de 2016.

Tradução por Leon Cavalcanti Rocha.
Foto do topo: Bart Heird/Flickr.