Lacuna semântica - Semantic gap

A lacuna semântica caracteriza a diferença entre duas descrições de um objeto por diferentes representações linguísticas, por exemplo, linguagens ou símbolos. Segundo Andreas Hein, a lacuna semântica pode ser definida como "a diferença de significado entre construtos formados em diferentes sistemas de representação". Na ciência da computação , o conceito é relevante sempre que atividades, observações e tarefas humanas comuns são transferidas para uma representação computacional.

Mais precisamente, a lacuna significa a diferença entre a formulação ambígua de conhecimento contextual em uma linguagem poderosa (por exemplo, linguagem natural ) e sua representação sonora, reproduzível e computacional em uma linguagem formal (por exemplo , linguagem de programação ). Semântica de um objeto depende do contexto em que é considerado. Para aplicação prática, isso significa que qualquer representação formal de tarefas do mundo real requer a tradução do conhecimento especializado contextual de uma aplicação (alto nível) em operações elementares e reproduzíveis de uma máquina de computação (baixo nível). Visto que a linguagem natural permite a expressão de tarefas que são impossíveis de calcular em uma linguagem formal, não há meios de automatizar essa tradução de uma maneira geral. Além disso, o exame das línguas dentro da hierarquia de Chomsky indica que não existe uma maneira formal e, conseqüentemente, automatizada de traduzir de uma língua para outra acima de um certo nível de poder expressional.

Bases teóricas

A tese de Church-Turing, ainda não comprovada, mas comumente aceita , afirma que uma máquina de Turing e todas as linguagens formais equivalentes, como o cálculo lambda, executam e representam todas as operações formais, respectivamente, aplicadas por um ser humano de computação. No entanto, a seleção de operações adequadas para o cálculo correto em si não é formalmente dedutível; além disso, depende da computabilidade do problema subjacente. Tarefas, como o problema da parada , podem ser formuladas de forma abrangente em linguagem natural, mas a representação computacional não terminará ou não fornecerá um resultado utilizável, o que é comprovado pelo teorema de Rice . A expressão geral das limitações para a dedução baseada em regras pelo teorema da incompletude de Gödel indica que a lacuna semântica nunca deve ser totalmente fechada. Estas são afirmações gerais, considerando os limites generalizados de computação no nível mais alto de abstração onde a lacuna semântica se manifesta. No entanto, existem muitos subconjuntos de problemas que podem ser traduzidos automaticamente, especialmente nos níveis de numeração mais alta da hierarquia de Chomsky.

Linguagens formais

As tarefas do mundo real são formalizadas por linguagens de programação, que são executadas em computadores baseados na arquitetura de von Neumann . Como as linguagens de programação são apenas representações confortáveis ​​da máquina de Turing, qualquer programa em um computador de von Neumann tem as mesmas propriedades e limitações da máquina de Turing ou sua representação equivalente. Consequentemente, toda linguagem de programação, como código de máquina de nível de CPU, assembler ou qualquer linguagem de programação de alto nível, tem o mesmo poder expressional que a máquina de Turing subjacente é capaz de calcular. Não há lacuna semântica entre eles, uma vez que um programa é transferido da linguagem de alto nível para o código de máquina por um programa, por exemplo, um compilador que roda em uma máquina de Turing sem nenhuma interação do usuário. A lacuna semântica na verdade se abre entre a seleção das regras e a representação da tarefa.

Consequências práticas

A seleção de regras para representações formais de aplicativos do mundo real corresponde a escrever um programa. A escrita de programas é independente da linguagem de programação real e basicamente requer a tradução do conhecimento específico do domínio do usuário nas regras formais de operação de uma máquina de rotação. É essa transferência do conhecimento contextual para a representação formal que não pode ser automatizada em relação às limitações teóricas da computação. Consequentemente, qualquer mapeamento de aplicativos do mundo real em aplicativos de computador requer uma certa quantidade de conhecimento técnico de fundo por parte do usuário, onde a lacuna semântica se manifesta.

É uma tarefa fundamental da engenharia de software fechar a lacuna entre o conhecimento específico da aplicação e a formalização tecnicamente factível. Para este propósito, o conhecimento específico do domínio (alto nível) deve ser transferido para um algoritmo e seus parâmetros (baixo nível). Isso requer o diálogo entre o usuário e o desenvolvedor. Aim é sempre um software que permite ao usuário representar seus conhecimentos como parâmetros de um algoritmo sem conhecer os detalhes da implementação, e interpretar o resultado do algoritmo sem o auxílio do desenvolvedor. Para este propósito, as interfaces de usuário desempenham um papel fundamental no design de software, enquanto os desenvolvedores são apoiados por estruturas que ajudam a organizar a integração de informações contextuais.

Exemplos

Recuperação de documentos

Um exemplo simples pode ser formulado como uma série de consultas em linguagem natural cada vez mais difíceis para localizar um documento de destino que pode ou não existir localmente em um sistema de computador conhecido.

Consultas de exemplo :

  • 1) Localize qualquer arquivo no diretório conhecido "/ usr / local / funny".
  • 2) Localize qualquer arquivo onde a palavra "engraçado" apareça no nome do arquivo.
  • 3) Localize qualquer arquivo de texto em que a palavra "engraçado" ou a substring "humor" apareça no texto.
  • 4) Localize qualquer arquivo mp3 em que "engraçado", "quadrinhos" ou "humor" apareça nos metadados.
  • 5) Localize qualquer arquivo de qualquer tipo relacionado ao humor.
  • 6) Localize qualquer imagem que possa fazer minha avó rir.

A dificuldade progressiva dessas consultas é representada pelo grau crescente de abstração dos tipos e semânticas definidas na arquitetura do sistema (diretórios e arquivos em um computador conhecido) para os tipos e semânticas que ocupam o reino do discurso humano comum (assuntos como " humor "e entidades como" minha avó "). Além disso, essa disparidade de domínios é ainda mais complicada por abstrações vazadas , como é comum no caso da consulta 4), onde o documento de destino pode existir, mas não pode encapsular os "metadados" da maneira esperada pelo usuário, nem o designer do sistema de processamento de consultas.

Análise de imagem

A análise de imagens é um domínio típico para o qual um alto grau de abstração de métodos de baixo nível é necessário e onde a lacuna semântica afeta imediatamente o usuário. Se o conteúdo da imagem deve ser identificado para entender o significado de uma imagem, a única informação independente disponível são os dados de pixel de baixo nível. As anotações textuais sempre dependem do conhecimento, capacidade de expressão e linguagem específica do anotador e, portanto, não são confiáveis. Para reconhecer as cenas exibidas a partir dos dados brutos de uma imagem, os algoritmos de seleção e manipulação de pixels devem ser combinados e parametrizados de maneira adequada e finalmente vinculados à descrição natural. Mesmo a representação linguística simples de forma ou cor, como redondo ou amarelo, requer métodos de formalização matemática totalmente diferentes, que não são intuitivos nem únicos e sólidos.

Lacuna semântica no contexto da análise de imagens

Sistemas em camadas

Em muitos sistemas em camadas , alguns conflitos surgem quando conceitos em um alto nível de abstração precisam ser traduzidos em artefatos mais baixos e concretos . Essa incompatibilidade é geralmente chamada de lacuna semântica .

Bancos de dados

Os defensores dos OODBMSs (sistema de gerenciamento de banco de dados orientado a objetos) às vezes afirmam que esses bancos de dados ajudam a reduzir a lacuna semântica entre o domínio do aplicativo ( miniworld ) e os sistemas RDBMS tradicionais. No entanto, os proponentes relacionais postulariam exatamente o oposto, porque, por definição, os bancos de dados de objetos fixam os dados sendo registrados em uma única abstração de ligação.

Veja também

Referências

Este artigo é baseado em material retirado do Dicionário Online Gratuito de Computação anterior a 1 de novembro de 2008 e incorporado sob os termos de "relicenciamento" do GFDL , versão 1.3 ou posterior.