Semântica em Integração de Dados – Ontologia Contextual Vinícius Torres Roteiro •Integração de Esquemas •Pré-processamento para Integração •Word Sense Disambiguation •Spell Check •Expansão de abreviação e acrônimos •Contexto •Modelagem Contextual •Ontologia Contextual •Ontologia Contextual para pré-processamento Integração de Esquemas Integração de Informação: começou com integração de BD, e tem sido estudado pela comunidade de Banco de Dados desde a década de 80. Problema: schema matching, que lida com 2 (ou mais) esquemas de banco de dados para produzir um mapeamento entre seus atributos. Objetivo: merging dos esquemas em um esquema global único. Integração de Esquemas Integração de esquemas é o processo que recebe esquemas de fontes de dados distintos e produz um esquema unificado. Integrando 2 esquemas Ex1: S1 Cust Code Name Phone S2 Customer Number First Name Last Name Phone Number Ex2: S1 Cust CNo CompName FirstName S2 Customer CustID Contact Phone Pré-processamento para Integração Tokenização: A tokenização é o processo de identificar e transformar os atributos em palavras. Remoção de caracteres: “-”, “_”, ”.” ….. UpperCase: FirstName, MyHouse Stop-words: Remoção de palavras sem relevância semântica(artigos, preposições, etc). Pré-processamento para Integração Spell-check: Um problema adicional na normalização é a correção ortográfica. expansion of abbreviations and acronyms; schema element sense disambiguation; 4 tipos de erros inserção(computter, com letras a mais); deleção(com letras a menos, hous); substituição(housi, com o i no lugar do e) ; transposição(dgo, com o g e o em posições invertidas).[Chan, 2005] Pré-processamento para Integração Expansão de Abreviações e Acrônimos: • escolher o sentido correto de acordo com o contexto onde o termo é apresentado ; • difícil, pois pode existir mais de sugestão de expansão, ou ainda, nenhuma. Pré-processamento para Integração Expansão de Abreviações e Acrônimos: 2 categorias de abreviações (Hill, 2008) Simples: Única Palavra •Prefixo: ‘attri’(attribute) •Aleatório: ‘msg’(Message) e src(Source) Composta: Multi-palavas •Acrônimos: ‘ssn’(Social Security Number) •Partes das Palavras: doctype(Document Type) Pré-processamento para Integração Expansão de Abreviações e Acrônimos: Expansão baseada em dicíonários: •mais de um termo encontrado; •problema expandido quando de utiliza a web; •dicionário precisa ser constantemente atualizado. Pré-processamento para Integração Ferramentas para normalização: (Belian, 2008) Cupid Tokenização, expansão e eliminação(prepositio ns) Thesaurus Embley et al. Expansão Wordnet COMA++ Expansão Thesaurus OntoBuilder Tokenização Wordnet WordNet Alguns relacionamentos do synset car. Contexto Contexto é definido como um informação contextual usada para representar circunstâncias envolvendo certas entidades, onde a entidade pode ser uma pessoa, lugar, objeto ou um procedimento que é considerado relevante na interação entre usuários e aplicação. [Strang et al., 2003]. Contexto Sistemas Sensíveis ao Contexto auxiliam pessoas nas tarefas diárias adaptando seu comportamento baseado em informações contextuais do usuário. Contexto Computacional é qualquer informação relevante descrevendo entidades em um interação homem-máquina. [Neto, 2005]. Contexto (Fases) Modelagem Contextual Definir e usar contexto em aplicações computacionais requer um modelo contextual bem definido que deve representar e lidar com o conhecimento contextual. [Strang et al., 2003] •Compartilha um entendimento comum da estrutura da informação; •Reuso de conhecimento contextual; •Raciocínio. Contexto Ontologia Contextual para Integração precisa incluir informações contextuais: •Fontes de Dados; •Esquemas; •Vocabulario(significado, relacionamentos semânticos, léxico) Elementos Contextuais •Usuário; •Ambiente; •Dados; •Associações; •Procedimentos; e •Aplicação. Ontologia Contextual para Integração [Belian, 2008] Ontologia Contextual para Integração [Belian, 2008] Ontologia Contextual para Integração [Belian, 2008] Ontologia Contextual para Integração [Belian, 2008] Ontologia Contextual - Raciocínio A utilização de Ontologias para representação contextual nos permite inferências: • • • Se “paciente” = {any}; Se “cliente” = {saúde privada}; Se “usuário” = {saúde pública, tratamento de drogas}. Contexto para resolução semântica O processo de integração de esquemas geralmente é baseado nas seguintes etapas: 1. Pre- Integração(processemento) ; 2. Comparação de Esquemas; 3. Merging entre as diversas fonte de dados. [Belian, 2008]. Contexto para resolução semântica Pré-Integração: 1. Expansão de abreviações e acrônimos. 2. Desambiguação de significado; 3. Spell-check. Contexto para resolução semântica Expansão de abreviação e acrônimos: Exemplo: “PA” Contexto para Word Sense Disambiguation Word sense disambiguation é determinar qual o significado da palavra em questão a depender do contexto.[Jurafksy, 2000] Exemplo Clássico: Word: “Manga” Dicionário Aurélio On-line manga 1 sf. 1. Parte do vestuário onde se enfia o braço. 2. Qualquer peça de forma tubular que reveste ou protege outra peça. 3. O fruto da mangueira Contexto para Word Sense Disambiguation Outro Exemplo: Word: “Usuário” 1. Usuário de Computador. 2. Usuário de drogas em tratamento. 3. Usuário do SUS.(na esfera particular pode ser cliente ou paciente). Domínio de Saúde. Porém subdomínios diferentes: •Psicologia •SUS Contexto para Word Sense Disambiguation Ainda no exemplo: Word: “Usuário” “Aplicação” Exemplo Normalização: Atributo: “diag_code” Entidade: “office_visit” 1. Obtem-se o termo completo formado pelos tokens “diag” e “code”; 2. O termo “diag code” é classificado na ontologia levando em consideração os elementos contextuais; 3. Diag é expandido na ontologia para Diagnoses; 4. O termo “Diagnoses Code” é classificado na ontologia. [Belian, 2008] “Aplicação” Exemplo [Belian, 2008] Referências [Chan, 2005] Chan, S., He, B. & Ounis, I. (2005), An in-depth survey on the automatic detection and correction of spelling mistakes, in ‘Proceedings of the 5th Dutch-Belgian Information Retrieval Workshop (DIR)’. [Hill, 2008] Hill, E. et al. AMAP: Automatically Mining Abbreviation Expansions in Programs to Enhance Software Maintenance Tools. MSR. 2008 [Strang et al. 2003] Strang, T., Linnhoff-Popien, C., Frank, K.: CoOL: A Context Ontology Language to enable Contextual Interoperability. Proceedings of 4th IFIP WG 6.1, International Conference on Distributed Applications and Interoperable Systems, DAIS, 2003. [Belian, 2008]Belian, Rosalie Barreto A context-based name resolution approach for semantic schema integration - Tese. – Recife – 2008. Dúvidas ? [Belian, 2008]