Interprolog e a inteligência artificial

“Interprolog é o nome de uma biblioteca para programadores, “open source”, que permite ligar programas escritos em Java a outros escritos em Prolog, uma linguagem usada para aplicações de IA".

383

A Interprolog presta serviços a software houses de IA, onde se insere a spinoff LogicalContracts. De modo a contextualizar os nossos leitores, de que forma surgem ambas e que necessidades vêm colmatar?

“interprolog” é o nome de uma biblioteca para programadores, “open source”, que permite ligar programas escritos em Java a outros escritos em Prolog, uma linguagem usada para aplicações de IA. Com a primeira versão disponibilizada há 20 anos, continua até hoje a ser usada em vários sistemas. Na sequência da desactivação de outra empresa anterior, os serviços de desenvolvimento sobre aquela biblioteca tinham peso suficiente para justificar a criação de uma nova unidade de negócio em 2014, a InterProlog Consulting, http://interprolog.com.

Mais recentemente, em 2016 iniciamos uma colaboração com o Imperial College London para desenvolver ferramentas auxiliares para uma nova linguagem lá desenvolvida, “Logical Production Systems. Na sequência desse projecto apercebemo-nos do potencial da linguagem para a escrita de “smart contracts”, para aplicação em blockchainse não só; e daí a criação (em curso) da spinoff “Logical Contracts”, http://logicalcontracts.com

A Interprolog tem uma vertente de consultoria, a Interprolog Consulting que desenvolve e mantém aplicações de software e ferramentas de desenvolvimento para uma série de plataformas, de que plataformas falamos?

Programação em lógica, ou seja plataformas que permitem a escrita de programas focados em princípios declarativos (“o quê”) mais do que no operacional (“como”). Tipicamente na área da “Explainable AI”. Concretamente, a clássica linguagem Prolog, e uma extensão recente que lida com modelação de tempo e acção, “Logic Production Systems”. Ambas sempre em articulação eficaz com as linguagens “mainstream”, nomeadamente Java, Javascript, Python e componentes associados.

Que outros serviços têm disponíveis?

Nenhuns. Dedicamo-nos apenas ao desenvolvimento de software e consultoria nesta área, incluindo formação.

Na sua opinião, trabalhar com inteligência artificial implica ter em conta que critérios?

Há actualmente um défice de “saber fazer” e um excesso de oferta de produtos de fabricantes, e de necessidades… e esta combinação requer muita cautela pelos decisores. Neste momento há uma confusão generalizada sobre o que é “IA”, na medida em que a maioria das pessoas e dos media a consideram sinónimo de aprendizagem automática, ou “machine learning” e em particular de “deep learning”. Esta visão é incompleta e mesmo errada, e vai levar a equívocos desagradáveis. O “machine learning” dá-nos capacidades úteis a nível da percepção (análise de linguagem natural e de imagens, por exemplo) mas é intrinsecamente limitado às amostra fornecidas para aprendizagem, e por isso precisa complementar-se com o raciocínio lógico da IA clássica, ou “Explainable AI”, que integra teorias mais profundas. E precisa ser construído para embeber o nosso conhecimento sobre o mundo, e não apenas sobre uma amostra limitada.

Por outro lado, quando um sistema baseado em IA toma uma decisão importante, tem a obrigação de a explicar, justificar; ora isso não é possível com sistemas baseados apenas em “deep learning”.

A inteligência artificial é o futuro? Porquê?

Claramente. A IA é a fronteira do software, que por sua vez é o “artefacto universal”, com peso cada vez maior na nossa existência. O Homo Sapiens evoluiu para além do uso da simples pedra lascada ou utensílios básicos alavancando as suas mãos, no sentido de depender de ferramentas ampliando também o seu cérebro. Por outro lado a própria própria vertente social é hoje também muito afectada: há 30 anos só alguns nerds emparelhavam via “online dating”, hoje meio mundo namora via Facebook, sujeitando-se aos seus algoritmos e interesses.