Pular para o conteúdo principal

SBBD 2020 - Tutorial - Altigran (UFAM)

Vídeo -> https://youtu.be/XKmnAmhEkGs

NLIDBs = Natural Language Interfaces para Banco de Dados

> Keyword Search over RDF 
> Já tem uso do BERT para essas abordagens mas não viu sobre GPT-3 ainda
> Codd em 74 já estimulava
> Como entender a necessidade de informação do usuário?  Natural Language Understanding (NLU) é IA Hard. Semiótica.

Tem um survey no VLDBJ'19

  • Sistemas Centrados em Dados (SCD) 
como os de consulta por palavras-chaves em BD Relacional.  Usam mais regras de mapeamento e menos dependente do banco de dados e mais dependentes das variações de consulta

ATHENA (SCD) usa ontologias de domínio para permitir consultas em linguagem natural

NaLIR usou o BD do MAG para avaliação das consultas SQL geradas. Quais consultas?  

Em python: https://github.com/pr3martins/nalir-sbbd 

> Faz mapeamento das palavras em nós do esquema em grafo
> Usa Entity Resolution

Templar usa o log de consultas para reduzir a interação do usuário (aproveita o conhecimento)

  • Sistemas Centrados em Linguagem (SCL)

exploram Deep learning, sistemas supervisionados precisam de dados de treinamento

Seq2Seq: ex tradução automática = Lingua 1 ( ENCODER ) <Embeddings> ( DECODER ) Lingua 3 ... RNN (Redes Neurais Recorrentes)

SCL convertem tudo: consulta, esquema e dados em embeddings

Vários benchmarks de SCL para gerar consulta SQL dado um conjunto de palavras chaves, ex WikiSQL

Devem ser retreinados para cada banco de dados

Seq2SQL usa Reinforcement Learning

DBPal (Sec2Sec) utilizando mecanismo de atenção, gera exemplos sintéticos de treinos (data augmentation)

Linguagem Natural como Língua Franca para dados de modelos heterogêneos (polystores e data lakes) e sofrem menos impacto caso o esquema mude (schema evolution) pq são consultas mais relaxadas

Como aferir que a resposta (query SQL) é correta? Fazer ranking, usar heurística também.

Os bancos de dados são semanticamente muito pobres em termos de esquema conceitual. No caso do ATHENA o uso da Ontologia tem esse propósito. 

Como delimitar contexto, somente com ontologias? Sim

Comentários

Postagens mais visitadas deste blog

Connected Papers: Uma abordagem alternativa para revisão da literatura

Durante um projeto de pesquisa podemos encontrar um artigo que nos identificamos em termos de problema de pesquisa e também de solução. Então surge a vontade de saber como essa área de pesquisa se desenvolveu até chegar a esse ponto ou quais desdobramentos ocorreram a partir dessa solução proposta para identificar o estado da arte nesse tema. Podemos seguir duas abordagens:  realizar uma revisão sistemática usando palavras chaves que melhor caracterizam o tema em bibliotecas digitais de referência para encontrar artigos relacionados ou realizar snowballing ancorado nesse artigo que identificamos previamente, explorando os artigos citados (backward) ou os artigos que o citam (forward)  Mas a ferramenta Connected Papers propõe uma abordagem alternativa para essa busca. O problema inicial é dado um artigo de interesse, precisamos encontrar outros artigos relacionados de "certa forma". Find different methods and approaches to the same subject Track down the state of the art rese...

Knowledge Graphs as a source of trust for LLM-powered enterprise question answering - Leitura de Artigo

J. Sequeda, D. Allemang and B. Jacob, Knowledge Graphs as a source of trust for LLM-powered enterprise question answering, Web Semantics: Science, Services and Agents on the World Wide Web (2025), doi: https://doi.org/10.1016/j.websem.2024.100858. 1. Introduction These question answering systems that enable to chat with your structured data hold tremendous potential for transforming the way self service and data-driven decision making is executed within enterprises. Self service and data-driven decision making in organizations today is largly made through Business Intelligence (BI) and analytics reporting. Data teams gather the original data, integrate the data, build a SQL data warehouse (i.e. star schemas), and create BI dashboards and reports that are then used by business users and analysts to answer specific questions (i.e. metrics, KPIs) and make decisions. The bottleneck of this approach is that business users are only able to answer questions given the views of existing dashboa...

Knowledge Graph Toolkit (KGTK)

https://kgtk.readthedocs.io/en/latest/ KGTK represents KGs using TSV files with 4 columns labeled id, node1, label and node2. The id column is a symbol representing an identifier of an edge, corresponding to the orange circles in the diagram above. node1 represents the source of the edge, node2 represents the destination of the edge, and label represents the relation between node1 and node2. >> Quad do RDF, definir cada tripla como um grafo   KGTK defines knowledge graphs (or more generally any attributed graph or hypergraph ) as a set of nodes and a set of edges between those nodes. KGTK represents everything of meaning via an edge. Edges themselves can be attributed by having edges asserted about them, thus, KGTK can in fact represent arbitrary hypergraphs. KGTK intentionally does not distinguish attributes or qualifiers on nodes and edges from full-fledged edges, tools operating on KGTK graphs can instead interpret edges differently if they so desire. In KGTK, e...