Alguns detalhes técnicos e desafios do projeto “A voz da arte — IBM | Watson”

Texto original de Fabrício Barth (Technical Lead, IBM Watson Group).

No dia 05 de abril de 2017 foi aberto ao público uma nova experiência na Pinacoteca. Uma experiência que permite ao visitante da Pinacoteca interagir de uma forma muito diferente com algumas obras de arte que estão neste museu.

Quando uma pessoa chega na Pinacoteca ela pode optar por usar um fone de ouvido conectado num celular.

A partir daí, basta caminhar pelo espaço para receber notificações sempre que o visitante estiver próximo a uma das obras interativas. Estas notificações são possíveis através do uso de beacons que são percebidos pela aplicação que está no celular.

Na Pinacoteca foram instalados beacons de localização e um beacon para cada obra. Ao todo foram utilizadas sete obras nesta experiência. Os beacons de localização são utilizados para orientar o visitante dentro da Pinacoteca, enquanto que os beacons das obras são utilizados para alertar o visitante que ali existe uma obra que ele pode interagir.

E como acontece esta interação?

Toda interação acontece por voz. O visitante pode perguntar uma questão sobre a obra de arte, o sistema identifica qual é a dúvida por trás daquela pergunta e fornece a resposta.

Isto é possível por que esta solução foi construída da maneira como ilustrado na figura abaixo.

Segundo o diagrama acima, a primeira etapa depois que alguém fala alguma pergunta é converter o áudio em texto. O texto resultante da conversão (etapa 2) é enviado para um componente que tem como responsabilidade interpretar aquilo que foi dito, ou seja, identificar a intenção por trás da pergunta.

O identificador de intenções pode identificar uma intenção com uma alta confiança (etapa 3), ou seja, ele tem certeza que aquele texto significa algo que ele conhece. Ou ele pode retornar uma informação dizendo que não entendeu a pergunta ou que está em dúvida (etapa 3’).

Se o identificador de intenções encontrou uma intenção com alta confiança então a próxima etapa é ver qual resposta está associada aquela intenção e enviar este conteúdo para o conversor de texto em áudio. No final deste processo o visitante do museu escuta um áudio com a resposta.

Fácil, não? Mais ou menos.

O principal componente desta solução é aquele que consegue identificar a intenção ou dúvida por trás de uma pergunta. No entanto, o grande desafio deste tipo de solução está justamente em como desenvolver este componente de forma que ele possa responder a todas as perguntas dos visitantes da Pinacoteca de forma satisfatória, ou seja, de uma forma que os visitantes saiam da Pinacoteca felizes com a experiência.

Considere, por exemplo, o quadro São Paulo da Tarsila do Amaral.

A grande questão é: como desenvolver um sistema capaz de entender toda e qualquer pergunta sobre esta obra de arte e fornecer a melhor resposta para a maioria das perguntas?

Utilizando técnicas tradicionais de desenvolvimento de software, onde você precisa implementar todas as regras que transformam entradas em saídas antes mesmo de colocar o sistema para funcionar, isto não é possível. Pois, antes mesmo de começar o projeto seria impossível listar as principais dúvidas de um público tão eclético (entre eles: crianças, idosos, conhecedores de arte até leigos por completo) e implementar todas as regras de processamento de linguagem natural uma por uma.

Ou seja, não é possível desenvolver tal sistema utilizando técnicas tradicionais de desenvolvimento de software.

Sendo assim, que abordagem foi utilizada no caso da Pinacoteca?

No projeto da Pinacoteca foi utilizada uma abordagem baseada em Aprendizagem de Máquina. Uma abordagem onde o conjunto de regras que irão fazer parte do sistema é gerado a partir de uma amostra de exemplos que descrevem o comportamento esperado do sistema.

A partir de um conjunto de exemplos de entrada e saída, ou seja, exemplos de perguntas e as suas respectivas classes (ou dúvidas)

O algoritmo de aprendizagem de máquina cria um modelo capaz de identificar qual é a intenção de novas perguntas feitas para o quadro. Inclusive perguntas que nunca foram feitas para o quadro antes. Por exemplo, se alguém perguntar: que década a obra retrata? então o sistema será capaz de informar que a intenção por desta pergunta é data_obra. Isto é um exemplo da capacidade de generalização dos algoritmos de aprendizagem de máquina.

Desta forma, com poucos exemplos de perguntas é possível criar uma aplicação capaz de resolver toda e qualquer dúvida sobre uma obra de arte?

Não. Uma regra básica é quanto maior a quantidade de exemplos utilizados pelo algoritmo de aprendizagem de máquina melhor será o desempenho do modelo gerado. Neste aspecto, computadores são muito parecidos com humanos: quanto maior a experiência, espera-se que maior seja o desempenho do computador em realizar aquela tarefa.

Qual é a melhor estratégia para o desenvolvimento de um sistema capaz de responder dúvidas sobre obras de arte?

A melhor estratégia é a incremental e iterativa. Ou seja, liberar o mais rápido possível uma versão do sistema criada com poucos exemplos. Coletar toda a interação dos usuários com a aplicação e adicionar as novas perguntas feitas no conjunto de exemplos. Periodicamente deve-se retreinar o modelo e atualizar a aplicação com a nova versão do mesmo. Ao fazer isto, estamos implementando o que é chamado de ciclo virtuoso de aplicações baseadas em aprendizagem de máquina.

Desta forma, em pouco tempo foi possível desenvolver algo realmente inovador e que está fascinando diversas pessoas.

Quer saber mais sobre o projeto?

Seguem algumas referências:

Ficou com alguma dúvida ou curiosidade?

Que tal escrever a sua dúvida ou sugestão nos comentários deste post? Os comentários neste post podem me guiar sobre o conteúdo do próximo.

Disclaimer

As informações e ideias contidas neste texto são pessoais e não refletem a opinião de instituições ou grupos que o autor participa ou pertence.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.