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)
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
Postar um comentário
Sinta-se a vontade para comentar. Críticas construtivas são sempre bem vindas.