Mapeamento de Thesauri Daniela F. Brauner Agenda • Introdução – Interoperabilidade – Mapeamentos • Em nível de esquema • Em nível de dados • Abordagens existentes • Abordagem proposta Introdução Interoperabilidade • Milhares de provedores de informação (fontes de dados): – Esquemas diferentes – Categorias diferentes para classificação dos dados (≠ thesauri) • Solução proposta: – Dados estruturados – Ontologias para descrever a semântica – Computadores capazes de “entender” estes dados – (mesma proposta da Web Semântica!) • ...e os problemas continuam: – Natureza descentralizada da Web – Cada provedor de informação usando sua própria ontologia Introdução Interoperabilidade • Busca por “city” no Swoogle • 722 resultados i.e. definições diferentes Introdução Mapeamentos Find all cities called “Rio de Janeiro” GEOnet ADL Gazetteer Introdução Mapeamentos Find all cities called “Rio de Janeiro” Basic Architecture of A Data Integration System Mediator GEOnet Wrapper GEOnet ADL Wrapper ADL Gazetteer Introdução Mapeamentos ? GEOnet Find all cities called “Rio de Janeiro” ID • Data-level mapping FULL_NAME_ND DSG DMS_LAT DMS_LONG LAT LONG 67203 Rio de Janeiro PPLA -225400 -431400 -22.9 -43.2333333 39870 Rio de Janeiro STM -115100 -450900 -11.45 -45.15 76124 São Sebastião do Rio de Janeiro PPLA -225400 -431400 -22.9 -43.2333333 identifier ADL • Schema-level mapping display-name class gml:y gml:x adlgaz-1-1457057-00 Rio de Janeiro, Estado do - Brazil administrative areas -22.0 -42.5 adlgaz-1-1457059-20 Rio de Janeiro, Serra do - Brazil mountains -17.95 -44.95 adlgaz-1-1457061-32 Rio de Janeiro - Brazil populated places -22.9 -43.2333 adlgaz-1-1437138-6b Janeiro, Rio de - Brazil streams -11.85 -45.15 adlgaz-1-3223719-6f Rio de Janeiro - Loreto, Departamento de - Peru populated places -4.3833 -71.8167 Abordagens existentes • ILA [Etzioni, 2000] • SEMINT [Syan et al., 2000] • AnchorPrompt [Musen and Noy, 2001] • Cupid [Madhavan et al., 2001] • LSD [Doan et al., 2001] • SimilarityFlooding [Melnik et al., 2002] • PROM [Doan et al., 2003] • GLUE [Doan et al., 2003] • CATO [Felicissimo, 2004] • iMAP [Dhamankar et al., 2004] • ... Abordagens existentes • Utilizando os nomes dos termos ADL Administrative area Populated places Political areas Countries Cities Capitals ... FONTE: http://www.alexandria.ucsb.edu/gazetteer/FeatureTypes/ ver070302/index.htm GEOnet AREA ADM1 ADM2 ADM3 ADM4 ADMD ADMF PPL PPLA PPLC PPLL PPLQ PPLR PPLS PPLW PPLX ... area first-order administrative division second-order administrative division third-order administrative division fourth-order administrative division administrative division administrative facility populated place seat of a first-order administrative division capital of a political entity populated locality abandoned populated place religious populated place populated places destroyed populated place section of populated place FONTE: http://gnswww.nga.mil/geonames/GNS/index.jsp Abordagens existentes • Utilizando as estruturas das árvores ADL OpenCyc Administrative area Populated places Cities GeographicalAgent Political areas Countries Capitals FONTE: http://www.alexandria.ucsb.edu/gazetteer/FeatureTypes/ ver070302/index.htm GeopoliticalEntity Country IndependentCountry City CapitalCityOfRegion FONTE: http://www.cyc.com/cycdoc/vocab/geography-vocab.html http://opencyc1.cyc.com:3602/cgi-bin/cyccgi/cg?cb-start Abordagens existentes ADL OpenCyc Administrative area GeographicalAgent GeopoliticalEntity Populated places Political areas Cities Capitals Exemplos: Country Countries IndependentCountry Instância ADL City CapitalCityOfRegion OpenCyc Rio Grande, RS – Brazil Populated Places City Smithers, BC – Canada Populated Places City Rio de Janeiro, RJ – Brazil Populated Places City São Paulo, SP – Brazil Populated Places City Cardiff – Wales Populated Places CapitalCityOfRegion Asmara – Eritrea Capitals CapitalCityOfRegion Rome – Italy Capitals CapitalCityOfRegion Brussels – Belgium Capitals CapitalCityOfRegion Abordagens existentes • Estratégia de tradução do Google – Sistema “aprende” através de traduções existentes “My name is Daniela. I am 26 years old.” “Mein name ist Daniela. Ich bin 26 Jahre alt.” http://www.inf.puc-rio.br/~dani/en http://www.inf.puc-rio.br/~dani/de “Meu nome é Daniela. Eu tenho 26 anos.” “Mi nombre es Daniela. Yo tengo 26 años.” http://www.inf.puc-rio.br/~dani/br http://www.inf.puc-rio.br/~dani/es Abordagens existentes • 1799: Técnica aplicada por Jean-François Champollion na Pedra de Rosetta para decifrar os hieróglifos hieróglifos egípcio demótico (Copta) grego http://www.thebritishmuseum.ac.uk Abordagens existentes • Utilizando as descrições dos termos dos thesauri – Removemos algumas stop-words – Mapeamos conceitos com maior ocorrência de palavras em comum ? Abordagens existentes • Utilizando as descrições dos termos dos thesauri ≠ GEOnet (4) Peninsula: land, body, water, surrounded (3) Island: land, surrounded, water (2) Pool: body, water Abordagens existentes • Utilizando representação formal – Criamos 3 ontologias: ADL, GEO e concepts Abordagens existentes • Utilizando instâncias – Identificar mapeamentos entre os dados (instâncias iguais) GEOnet – Verificar freqüência de “casamentos” entre os termos dos thesauri ID FULL_NAME_ND DMS_LAT DMS_LONG LAT LONG 67203 Rio de Janeiro PPLA -225400 -431400 -22.9 -43.2333333 39870 Rio de Janeiro STM -115100 -450900 -11.45 -45.15 76124 São Sebastião do Rio de Janeiro PPLA -225400 -431400 -22.9 -43.2333333 identifier ADL DSG display-name class gml:y gml:x adlgaz-1-1457057-00 Rio de Janeiro, Estado do - Brazil administrative areas -22.0 -42.5 adlgaz-1-1457059-20 Rio de Janeiro, Serra do - Brazil mountains -17.95 -44.95 adlgaz-1-1457061-32 Rio de Janeiro - Brazil populated places -22.9 -43.2333 adlgaz-1-1437138-6b Janeiro, Rio de - Brazil streams -11.85 -45.15 adlgaz-1-3223719-6f Rio de Janeiro - Loreto, Departamento de - Peru populated places -4.3833 -71.8167 Abordagens existentes • Utilizando instâncias – Identificar mapeamentos entre os dados (instâncias iguais) – Verificar freqüência de “casamentos” entre os termos dos thesauri • Etapas: 1. Levantamento dos dados a. Definição dos conjuntos de treinamento e teste 2. Treinamento a. Cruzamento das instâncias de treinamento (definir freqüências) b. Cálculo das probabilidades de alinhamento 3. Teste e validação Abordagens existentes Etapas concluídas: 1. Conjunto de exemplos: – Instâncias brasileiras: – Termos dos thesauri: • ADL: 17.991 • ADL: 210 • GEOnet: 87.608 • GEOnet: 642 Combinações possíveis: 134.820 2. Treinamento: – Instâncias mapeadas pelos valores de LAT/LON – 221 pares identificados (~16%) – Ex: ADL (a) GEOnet (b) nab P(b|a) bays BAY 38 0,61 bays BCH 1 0,01 bays COVE 6 0,09 bays ISL 8 0,12 bays PPL 4 0,06 bays PT 3 0,04 bays STM 2 0,03 P( b | a ) = nab na Abordagem proposta • Mediador “espertinho” (utilizando técnicas de aprendizagem de máquina) • Aprende em 2 momentos: – A priori (offline) – A posteriori (runtime) • Aprende a partir de: – Consultas dos usuários – Análise das respostas das consultas dos usuários Abordagem proposta Aprendendo a partir das consultas dos usuários Select PPL From GEOnet Within “-54, -34 -52.5, -33” Ahááá!!! PPL ≡ PopulatedPlaces Select populated places From ADL Within “-54, -34 -52.5, -33” Brainy Mediator Mediator GEOnet Wrapper GEOnet ADL Wrapper ADL Gazetteer Abordagem proposta Aprendendo a partir das respostas das consultas dos usuários Select PPL From GEOnet, ADL Within “-54, -34 -52.5, -33” ADL GEOnet n P(b|a) bays BAY 38 0,61 bays BCH 1 0,01 bays COVE 6 0,09 bays ISL 8 0,12 bays PPL 4 0,06 bays PT 3 0,04 bays STM 2 0,03 Brainy Mediator Mediator Cache GEOnet Wrapper GEOnet ADL Wrapper ADL Gazetteer Mapeamento de Thesauri Daniela F. Brauner