Minha questão é saber como o ser humano pode viver melhor, e isso só a filosofia é capaz de responder...
"
Como os gregos, nós hoje achamos que uma vida mortal bem-sucedida é melhor que ter uma imortalidade fracassada, uma vida infinita e sem sentido. Buscamos uma vida boa para quem aceita lucidamente a morte sem a ajuda de uma força superior." (Luc Ferry)

sábado, 23 de maio de 2020

Por que ontologias?

Em resumo, uma ontologia é a especificação de uma conceituação. O que isso significa da perspectiva das ciências da informação? Definição da Wikipedia: "nomeação formal e definição dos tipos, propriedades e inter-relações das entidades que existem no Real ou fundamentalmente em um domínio específico do discurso". 
Isso basicamente significa, como todos os modelos, que é uma representação do que "realmente" existe na realidade. Um modelo estatístico ou matemático tenta representar algum comportamento em termos de uma fórmula estatística ou matemática. 
A equação mostrada na figura abaixo é do US Census Bureau e modela a distribuição de renda nos Estados Unidos para pessoas que ganham US$100.000 por ano ou menos:
O diagrama Entity Relationship (ER) abaixo é um modelo que representa um objeto JavaScript Object Notation (JSON) que mostra as entidades Usuário, Amigos, Negócios, Bairros, juntamente com relacionamentos entre si. 
Isso é mais uma representação lógica, mas descreve dados que realmente existem, material ou conceitualmente, dentro deste objeto JSON.

Modelo Lógico JSON ER
Uma ontologia fornece praticamente as mesmas informações, exceto que um modelo de dados está especificamente relacionado apenas aos dados. 
O modelo de dados fornece entidades que se tornarão tabelas em um Sistema de Gerenciamento de Banco de Dados Relacional (SGBD), e os atributos se tornarão colunas com tipos e restrições de dados específicos, e os relacionamentos identificarão restrições de chave estrangeira. 
O que um modelo de dados não fornece é uma definição interpretável por máquina do vocabulário em um domínio específico. Os Modelos de Dados não conterão o vocabulário que define todo o domínio, mas o dicionário de dados conterá informações sobre as entidades e atributos associados a um elemento de dados específico. É aqui que as ontologias entram.
A figura a seguir mostra a ontologia Friends Of A Friend (FOAF) carregada no aplicativo Protégé (editor de ontologia de código aberto e um sistema de gerenciamento de conhecimento criado pela Universidade de Stanford):
Ontologia FOAF carregada no Protege
A ontologia FOAF é uma ontologia de código aberto usada para trocar informações sobre pessoas, suas atividades e relacionamentos com outras pessoas e objetos. 
Uma ontologia consiste em classes organizadas hierarquicamente em uma taxonomia de subclasse-superclasse, propriedades com descrições que definem restrições de valor e valores para essas propriedades. 
Uma base de conhecimento é definida quando a ontologia é concluída e quando instâncias individuais desses elementos (classes e propriedades) são definidas juntamente com restrições adicionadas ou refinadas.
Por exemplo, a classe Pessoa inclui todas as pessoas e uma pessoa específica é uma instância desta classe. 
A maioria das ontologias está focada em classes de coisas, e essas classes podem ser divididas em subclasses de coisas. Por exemplo, Pessoa pode ser subclassificada por Gênero, Etnia, Raça ou País de Cidadania. Definir domínios em termos de ontologias legíveis por máquina permitirá a troca livre de informações e conhecimentos.


Então, por que precisamos de ontologias e qual é o significado delas?

Ontologias permitem o compartilhamento de informações entre sistemas diferentes dentro do mesmo domínio. Existem inúmeras  ontologias disponíveis gratuitamente  em várias indústrias. Ontologias são uma maneira de padronizar o vocabulário em um domínio. 
Por exemplo, a palavra "profissional" terá o mesmo significado em um sistema de saúde que em outro. Da mesma forma, a "especialidade" do profissional terá o mesmo atributo e terá o mesmo significado nos dois sites. Essa padronização permite mais flexibilidade e o desenvolvimento mais rápido de aplicativos e o compartilhamento de informações.
Ontologias são usadas em muitas disciplinas, mas são mais comumente associadas a aplicativos de Inteligência Artificial (AI) e possivelmente Processamento de Linguagem Natural (PNL). No entanto, uma aplicação menos provável de ontologias e uma área de interesse para mim são os sistemas de integração de dados e gerenciamento de conhecimento.
Então, por que ontologias não têm sido uma palavra tão popular quanto Hadoop, Spark e Big Data? 
As tecnologias se expandem nas áreas que podem e onde há mercado, não necessariamente nas áreas mais necessárias. As ontologias não se prestam a aplicativos de nível corporativo, e o desenvolvimento de múltiplas ontologias não é tão empolgante. 
Por um lado, requer cooperação entre grupos dentro de um domínio para padronizar uma ontologia comum de comunicação. O setor financeiro fez uma tentativa com o desenvolvimento da Ontologia de Negócios da Indústria Financeira (FIBO), mas sua adoção foi lenta. Uma razão para isso é que o poder das ontologias não é bem compreendido.
Para dar o próximo salto no avanço da tecnologia, será necessário um software maduro, capaz de ingerir, entender, analisar e apresentar resultados interpretáveis ​​rapidamente; é aqui que entram as ontologias. Na minha opinião, as ontologias serão o facilitador da próxima geração de tecnologias disruptivas.

Aplicações de Inteligência Artificial e Processamento de Linguagem Natural:

Sistemas de reconhecimento de voz como o Amazon, Echo, Apple, Siri e Google Home são tecnologias muito sofisticadas, mas ao mesmo tempo imaturas. Não é pela falta de velocidade de processamento de hardware que rimos ou ficamos frustrados ao fazer uma pergunta simples a um desses dispositivos, apenas para receber alguma resposta sem sentido. 
Somos capazes de escrever o código para responder às perguntas corretamente, se tivermos as informações necessárias para interpretar adequadamente a pergunta.
Os computadores são bons em computação, mas não tão bons em processamento cognitivo. Os computadores lutam com a dificuldade inerente para executar tarefas semelhantes às humanas que estes consideram triviais. Essas tarefas humanas parecem muito simples, mas na verdade são bastante difíceis de imitar em um computador. 
O Watson da IBM é provavelmente o mais avançado nessas áreas, mas ainda há um longo caminho a percorrer.
Quando um humano vê uma foto de um gato, identificamos imediatamente a figura como sendo um gato. Quando perguntados "O que posso fazer para melhorar meu resfriado?", Entendemos imediatamente que a palavra "resfriado" nesse contexto se refere a uma doença viral comum. Faça a Siri a mesma pergunta e ela abrirá uma página da Wikipedia explicando "frio" no sentido de temperatura. 
No entanto, se você digitar uma pesquisa no Google para a mesma pergunta, obtém algo mais compatível com o que seria esperado (mais informações na pesquisa no Google abaixo).
Examinando a palavra "frio" como adjetivo no Wordnet, você verá que ele tem treze sentidos diferentes como adjetivo, mas apenas três como substantivo; tudo, desde "um clima frio" (frio versus calor) até "frio no túmulo" (sem o calor da vida) e "eles nunca encontrarão uma cura para o resfriado comum?" (uma infecção viral leve envolvendo o nariz e as vias respiratórias, mas não os pulmões). 
Na lingüística, isso é chamado de polissemia, ou a coexistência de possíveis significados para uma palavra/termo ou frase. Portanto, para aplicativos de Inteligência Artificial (AI) e Processamento de Linguagem Natural (PNL), as ontologias são um componente crítico.


Aplicativos de integração de dados e gerenciamento de conhecimento:

No entanto, existem outras aplicações de ontologia que eu acho igualmente interessantes, e elas estão na área de integração de dados e gerenciamento de conhecimento. 
O vídeo abaixo explica o Knowledge Graph do Google de maneira competente.

Um componente crítico da IA, PNL, integração de dados, gerenciamento de conhecimento e outras aplicações é o desenvolvimento de ontologias. 
Felizmente, a partir da discussão acima e com alguma ajuda do Google, você entende melhor meu interesse nessa área. As ontologias são específicas de um domínio de conhecimento, definem esse domínio com palavras que definem entidades/conceitos, relacionamentos entre essas entidades e os atributos/propriedades associados a essa entidade, e apresentam esse material em um formato legível por máquina.
Quanto à integração de dados e ontologias, há vários artigos aos quais eu poderia direcioná-lo, para uma discussão mais aprofundada sobre o tópico. 
Um em particular, "Really, Really Big Data: NASA at the Forefront of Analytics ", de Seth Earley, detalha como a NASA usou ontologias para definir os conjuntos de dados em termos que poderiam ser interpretados permitindo a integração com conjuntos de dados externos.
Como pesquisador e arquiteto de software/dados/informação/conhecimento, trabalhei em vários setores e em cada um deles existe o mesmo problema, silos de dados isolados. 
Os dados não são facilmente compartilháveis ​​nesses silos - a integração horizontal de dados é difícil, se não impossível. 
Os dados bancários são isolados dos dados de seguro, os registros médicos são isolados do faturamento e de outros dados sobre reclamações, a logística é isolada das operações e assim por diante. Este não é um problema comum, e existe uma cura e, novamente, na minha opinião, ontologias fornecerão a solução.
Temos plataformas de Big Data executando o Hadoop e temos vários componentes como MapReduce, Spark, Mahout, H2O Sparkling Water e Kafka que nos permitem acessar e analisar esses dados, mas ainda resta o fato de que você deve conhecer os dados antes de poder analisá-los. As ontologias fornecem um mecanismo para a rápida ingestão de dados de um Data Lake, bem como sua compreensão (significado, semântica).
Assim, como o hardware que avança mais rápido do que o software pode explorar seu poder, a capacidade de gerenciar Big Data e fornecer soluções analíticas chegou antes de nossa capacidade de entender e ingerir dados rapidamente. 

Seja esquema-na-leitura ou na gravação (schema-on-read ou schema-on-write), você deve conhecer seus dados. Compreender dados é uma tarefa complicada e demorada
O desenvolvimento de ontologias nos ajudará a entender mais rapidamente um domínio e a acelerar o processo evolutivo do conhecimento neste domínio.

Nenhum comentário:

Postar um comentário

O que você acha?