Pular para o conteúdo principal

INF2390 - Interfaces avançadas para bancos de dados - 2021.2

Aula 18/08 - https://youtu.be/J6wbYo50Htw

RDF não faz distinção entre dados e metadados então uma palavra chave por dar match em um valor, uma classe ou uma propriedade. Além disso não é necessário ter um esquema para essa consulta e nem para adicionar dados ao grafo (schema-less).  O esquema conceitual é prescritivo.

Etapas do RDF Keyword Search: (1) Keyword Match para selecionar os melhores nós; (2) Node connection com o menor número de arestas; (3) Node ranking para organizar a respostas (top K)

Steiner tree: nós selecionados que são terminais e nós intermediários que estão no caminho (é um problema NP Completo)  

Abordagens: (1) Baseado em Esquema; (2) Sumarização do Grafo; (3) Atravessar o Grafo (caminho)

Baseado em esquema é necessário fazer o match e, se for objeto, identificar a propriedade e/ou classe. Depois vai ao esquema para achar o caminho mínimo entre as propriedades  e/ou classes.   

Computar o resumo do grafo: minerar o grafo para extrair padrões como se fosse um esquema conceitual ou trabalhar com amostragem, KMV-Synopsis; É melhor que a abordagem com esquema pq trabalha com instâncias do grafo e o grafo nem sempre segue o esquema mas é difícil gerenciar as sinopses em KB grandes e com atualização constantes (problemas em aberto)

KMV-Synopsis:  usar função de hash nos nós do grafo RDF e pegar os K (~100) menores valores que a função retorna, permite estimar o coeficiente de Jaccard e Set Containment com as amostras (sinopses),

RDF node ranking pode usar PageRank mas não tem semântica, InfoRanking é outra medida que considera a quantidade de atributos do nó.

Pergunta: Nesse exemplo Taylor Oscar, match se deu com dois nós e com isso é possível que exista um caminho entre eles. E se a consulta só tivesse uma palavra ou o match só ocorrer em um nó, não tem resposta ou a resposta são as triplas ligadas a esse nó? A resposta pode ser um nó só se as palavras chaves fizerem match com os atributos desse nó.

Aula 25/08 - https://youtu.be/vybmD31tHN0

Entity Relatedness: qual é a relação entre duas entidades? Como explicar de modo resumido essas relações? Como identificar os caminhos mais interessantes e o representante desse cluster?

(1) Identificar caminhos, fazer clustering do caminhos e identificar o caminho mais representativo de cada cluster (2) Identificar caminhos, filtrar e ordenar

Dada uma entidade origem e outra destino, calcula o caminho e define um template (graph path) e tenta localizar outras pares de entidades que satisfazem a mesma relação.

Estratégia (Backward Search): faz uma BFS usando o nó origem e destino e irá parar quando chegar na outra ponta. Os nós visitados devem ser semelhantes ao nó de partida e a semelhança é calculada com os conjuntos de vizinhos de cada nó (por exemplo Jaccard, Wikipedia Link-based Measure - WLM ou SimRank) 

SimRank: é parecido com o PageRank, pode ser pré computado. Paper do ACM SIGKDD

Medidas de ranqueamento dos caminhos entre as entidades: PF-ITF, EBR e PMI

PF-ITF ... (1) calcular a frequência de uma aresta p que chegam a um nó w e dividir por todas as arestas que chegam em w IN (2) calcular a frequência de uma aresta p que saem a um nó w e dividir por todas as arestas que saem em w e OUT (3) calcular o inverso da frequencia da aresta p

E no final calcular com x = out e x = in 

E calcular para cada caminho o score

Score (path(w0, wn), G) = score(path(w0,w1), G) + ... + score(path(wn-1,wn), G) /  n, onde n é o tamanho do caminho

Exclusivity-based Relatedness (EBR): quanto mais próximo de 1 mais raro. 

 

Para um caminho calcular a exclusividade de cada aresta. 

PMI: baseado em co-ocorrência

Serendipitous Search: fazer achados não convencionais, não esperados, fortuitos, ao acaso. Pode ser por ANALOGIA!!

Usar a opção SEE ALSO. 

Aula 02/09 -> no final desse post e desse outro post

Aula 08/09 -> no final desse post

Aula 15/09 -> https://youtu.be/7PMmXYgKWqY

Tese Yenier - Duas aplicações

(1) Aplicação de Busca em grafo RDF sem esquema

Como mostrar a comparabilidade com outros algoritmos (com esquema ou sem)

Usar KMV-Synopses quando não tem esquemas, calcular o coeficiente de Jaccard Generalizado (simétrico) é crítico então pode ser interessante estimar. KMV_synopses é usada para estimar a cardinalidade de um conjunto usando uma amostra dos conjuntos. Set Containment (cardinalidade da interseção de dois conjuntos dividido pela cardinalidade de um deles por isso não é simétrica) 

Aplicar uma função de hash em relação a uma amostra S do conjunto D. A função de hash mapeia no seu contradomínio, que deve ser muito grande para evitar colisão (64 bits por exemplo) e depende do número de elementos estimados para os conjuntos. Pegar os K menores como amostra.

Algoritmo tem duas partes: Pré processamento (calculo das KMV-S do domínio e contradomínio de cada propriedade, para todas as triplas de um propriedade e para cada instância de uma classe) e Busca Online (o match das palavras chaves e a construção de query SPARQL é igual a Grettel)

Na Busca Online são construídas as "arvores" iniciais com o match, depois a KMY_Sy é usada para medir a semelhança entre os conjuntos com a estimativa do coeficiente de Jaccard. Os nós são "juntados" se o coeficiente for alto (node fusion).  Acrescentar arestas se o domínio de uma aresta for semelhante a um dos conjuntos e o mesmo para o contradomínio, nesse caso usa o Set Containment (edge addition). Depois adiciona uma aresta para o que ficou desconectado como contra domínio (tree expansion) e aplica as operações anteriores. A query SPARQL é gerada substituindo sujeito e objeto por variáveis e usando as propriedades que formaram o grafo conexo. 

Datasets com esquema Mondial e IMDb e ferramenta QUIOW, comparar com a abordagem sem esquema.  Usou MD5 como hash. Benchmark de consultas com 50 consultas (Coffman). O esquema não garante que o grafo esteja aderente a ele (schemaless), ao usar as instâncias garante a visão dos dados reais.

Métricas: Top-1 e RR são para algoritmos com relevância / ranking

Comparar com Dosso e Silvello (TSA + BM25 & TSA + VDP), métricas Prec@K (precision at K) usando os mesmos datasets (versão dos dados, sintéticos e reais)

(2) Trajetórias como sequencias de pontos de interesse (um grafo ligando o ponto A ao D, passando por B e C). Um alfabeto próprio para representar trajetórias. Trajetórias não precisam ser só de deslocamentos.

Aula 22/09 -> https://youtu.be/5Hu66PK5By8

Q&A com DL

Parte 1 - Baseado em 3 artigos

Q&A é do domínio de NLP

Baseline Models: 

(1) LSTM Long Short Term Memory: Recurrent Neural Network (RNN) 

(2) GRU

(3) Sequence to sequence

Rede de memória, rede de memória dinâmica e rede fim a fim

Parte 2 - Baseado em 3 artigos

Sinergia com Data Lake e schema alignment. Escopo é Discovery, encontrar o dado a ser utilizado

Métricas de similaridade não seriam suficientes para avaliar quanto os datasets são relacionados. Os scores seriam black-boxes. 

Abordagens em DL não tem explicabilidade

Proposta não supervisionada para alinhamento (rule based). Usando evidências semânticas como o rótulo e a descrição das tabelas e atributos. Depende de um Data Lake com bons metadados. Usa wordnet para sinônimos. 

Na proposta supervisionada (transformer based) também usa as mesmas entradas mas aplica o BERT

Segundo artigo usa RDF, SPARQL e foi usado em ambiente real governamental sobre COVID como um Chat Bot, Framework Qanary. As perguntas de entrada são usadas para enriquecer o modelo. 

Aula 29/09 -> no final desse post

Aula 04/10 -> https://youtu.be/4W7TOhGhsTM

Searching Documents using Knowledge Bases

A busca precisa realizar Entity Linking de modo a identificar as entidades nomeadas na consulta e na base de conhecimento. 

Open Information Extraction, geram triplas, principalmente em RDF sobre fatos (com certeza ou probabilidade). 

A proposta do paper tem uma lista de palavras chaves como entrada. Em um primeiro momento é feito o mapeamento das palavras chaves em conhecimento. A KB é composta por metadados dos documentos, o texto completo e as entidades que são mencionadas no texto com seus relacionamentos. 

Abordagem schema-agnostic: não depende da definição de esquemas

Usam KB externos também para acrescentar mais conhecimento. Usou também a reificação para exemplificar a geração da KB. 

O que é contexto para esse trabalho? Seriam os detalhes das entidades.

O baseline do primeiro experimento é o uso do Solr básico. 

Aula 20/10 -> https://youtu.be/YAwXGRFn35c

NLIDB

Sistema LUNAR, década de 80

Exemplo English Query (SQL Server) - 1996 a 2003

Frases mais complexas, operadores de agrupamento

Componentes do NLIDB: módulo de conversão da linguagem natural na linguagem do SGBD, contempla tolerância na especificação da consulta (flexibilidade) mas nem sempre a cobertura linguística é completa, estão sujeitas a ambiguidades tanto linguísticas quanto conceituais

Text-to-SQL

Estado da Arte: ML com modelos Seq2seq e arquitetura encoder-decoder

Datasets: WikiSQL e Spider

Aula 27/10 -> https://youtu.be/x_WpOEQKnD4

NeuralDB

Redes Neurais podem ser usadas para suspender as noções fundamentais de DB: por exemplo é necessário um esquema? 

NeuralDB não tem esquema, armazena e consulta qq dado em linguagem natural (sentenças + timestamp). As respostas não visam atender a semântica binária (certo ou errado) das consultas.

Treinamento (supervisionado) - dataset com Database D + query Q + answer A

Dividir para conquistar no treinamento do modelo

Os fatos e a consulta são a entrada para a camada de Support Set Generator (SSG). Na próxima camada, o Neural SPJ (select project join), recebe esses supporting sets e a query. A camada de agregação usa a query e o query base derivation, que é a saída do Neural SPJ. O SSG é composto de classificadores. 


Acurácia alta nos resultados do experimento

Se o modelo é treinado com um conjunto de fatos necessários para responder, a performance é maior mas se houverem mais fatos, o desempenho cai mas se mantém na faixa de 80%. O volume de fatos é baixo mas a abordagem de transformers não requer um grande dataset. 

Dataset WikiNLDB is a novel dataset for training Natural Language Databases (NLDBs) which is generated by transforming structured data from Wikidata into natural language facts and queries.

Link para o paper -> https://aclanthology.org/2021.acl-long.241.pdf & https://dl.acm.org/doi/pdf/10.14778/3447689.3447706

Outro vídeo sobre o paper -> https://youtu.be/Vo9L0LETMI4

Nesse link tem uma parte sobre o artigo na ACL

Given a natural language question, we first want to retrieve several relevant facts (supporting facts). Then, having a query and m supporting sets, we perform a join (select-project join, SPJ operator, okay, now it qualifies as a database 😀) against each pair (query, support) to find an answer or confirm its absence (extractive QA). Finally, join results are aggregated with simple post-processing.

It seems that, currently, the crux of NL DBs is in the retrieval mechanism — we don’t want to create a powerset of all possible combinations but extract only relevant ones. 

Aula 03/11 -> https://youtu.be/mVW4Vc5GoNo

* não foi o último capítulo do livro anterior ....

IR: indexação, recuperação e ordenação são fases distintas  

A indexação seria o treinamento do modelo e a recuperação e ordenação seriam condensadas em inferência do modelo

1. Beyond Language Models: representar documentos e queries

2. Multi-task learning: IR + Q&A + Recomendar + Sumarizar

3. Zero and Few Shot learning: poucos dados de treinamento (rotulados)

4. Response generation: apresentar evidências para as respostas geradas

5. Raciocínio Lógico, Aritmético, Espacial ou Temporal

6. Combinação - Multi modal (texto, imagem)

7. Multilingue

8. Increasing Learning: não precisar atualizar todo o modelo, atualização incremental

Google MUM (MultiTask Unified Model): atende a algumas dessas diretrizes

Aula 10/11 -> https://youtu.be/AdR7KWsXB9E

JINA AI - framework de busca

Tipo de dado primitivo: document ... pode ser um arquivo de texto, imagem, vídeo, arquivo de som, tabela, ...

Um fluxo de executores (workflow) é a construção do sistema de busca. Os executors (algoritmos) são publicados no Jina Hub. 

Para realizar o ajuste dos parâmetros das redes neurais existe o Jina finetuner

A busca multimodal, texto + image, permite calibrar qual dos dois tem mais peso na busca por similares

Aula 17/11 -> https://youtu.be/7tmqQ-y-hNQ

Utiliza medidas de distância como geográfica (ou diferença para dados contínuos) e similaridade para dados qualitativos

O usuário pode escolher as métricas e unidades de medida além de informar o peso de cada característica na consulta

Dados, consultas e resultados podem ser fuzzy. 

VQL é a linguagem de consulta, foi formalizada como SQL

Aula 24/11 -> https://youtu.be/x7Jh8lotQJw

Transformers T0 (criados depois do BERT) pelo Hugging Face

GRU, LSTM, RNN são estado da arte de modelos de linguagem para tradução automática

Transformers

T0 tem 11 milhões de parâmetros e foram construídos para não serem retreinados e aplicados em diferentes contextos. 

O T5 foi treinamento em cima de uma base de Q&A e o T0 é um aprimoramento dele. 

T5 faz tradução automática, calcula similaridade textual semântica (STSB) e sumarização.

Abordagem zero-shot não treina nada. Na few shot learning pode usara abordagem de transfer learning e retreinar somente a última camada (classificação) usando poucas instâncias

Tem um modelo small e outro mais completo. 

Desafio da disciplina de DL que o JP construiu também foi apresentado: modelo multimodal de imagem e texto. Modificação do LeNet. -> https://youtu.be/x7Jh8lotQJw?t=1583



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 Graph Embedding with Triple Context - Leitura de Abstract

  Jun Shi, Huan Gao, Guilin Qi, and Zhangquan Zhou. 2017. Knowledge Graph Embedding with Triple Context. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management (CIKM '17). Association for Computing Machinery, New York, NY, USA, 2299–2302. https://doi.org/10.1145/3132847.3133119 ABSTRACT Knowledge graph embedding, which aims to represent entities and relations in vector spaces, has shown outstanding performance on a few knowledge graph completion tasks. Most existing methods are based on the assumption that a knowledge graph is a set of separate triples, ignoring rich graph features, i.e., structural information in the graph. In this paper, we take advantages of structures in knowledge graphs, especially local structures around a triple, which we refer to as triple context. We then propose a Triple-Context-based knowledge Embedding model (TCE). For each triple, two kinds of structure information are considered as its context in the graph; one is the out...

KnOD 2021

Beyond Facts: Online Discourse and Knowledge Graphs A preface to the proceedings of the 1st International Workshop on Knowledge Graphs for Online Discourse Analysis (KnOD 2021, co-located with TheWebConf’21) https://ceur-ws.org/Vol-2877/preface.pdf https://knod2021.wordpress.com/   ABSTRACT Expressing opinions and interacting with others on the Web has led to the production of an abundance of online discourse data, such as claims and viewpoints on controversial topics, their sources and contexts . This data constitutes a valuable source of insights for studies into misinformation spread, bias reinforcement, echo chambers or political agenda setting. While knowledge graphs promise to provide the key to a Web of structured information, they are mainly focused on facts without keeping track of the diversity, connection or temporal evolution of online discourse data. As opposed to facts, claims are inherently more complex. Their interpretation strongly depends on the context and a vari...