Pular para o conteúdo principal

CS 520 - Knowledge Graphs - Spring 2021 - Seminário 19

CS 520 - Knowledge Graphs - Spring 2021 - Seminário 19

Data Models, Knowledge Acquisition, Inference and Applications
Department of Computer Science, Stanford University, Spring 2021 

Link para o Vídeo -> https://youtu.be/3UJgXWB48r0

Provocação inicial: KG seriam somente semantic networks "hehased" ou possuem particularidades a serem exploradas? 

A primeira apresentação apresentou algumas ferramentas para manipulação de KG

"What are some implementation tools for Knowledge Graphs?"

Como escolher qual pacote com tantas opções? 

Um problema comum é juntar dados de diferentes fontes e nessa atividade é necessário realizar o JOIN através do Entity Linkage pq muitas vezes não existe um identificador único compartilhado entre as fontes

Pacote: Dedupe

Opções de fuzzy match com base em atributos (semântica) e tipo de dados, aprendizado supervisionado (distância do cosseno é o default),aprendizado supervisionado (classificadores) e active learning. 

Tarefa de Person Name matching

Usar dicionários e regras quando não é possível usar ML

Soundex para lidar com diferentes grafias do mesmo nome

Lista de pacotes para Record Linkage disponível em -> https://github.com/J535D165/data-matching-software

Extração de Informações de dados não estruturados (texto)

Spacy (NLP assim como NLTK), inclui um Entity Linking framework que mapeia para Wikidata e Dependancy parsing (grafo no formato de triplas a partir de frases)

SpikeX: pipes com propósitos específicos prontos para o Spacy (reuso)

GraphDB: armazenar o KG depois de criado, +OLTP e -OLAP, não existe padrão para linguagem de consulta

Neo4J: LPG, escalabilidade horizontal, controle de acesso, Cypher, conectores para diferentes linguagens

Amazon Neptune: LPG e RDF, interfaces de consulta através de Apache Thinker Pop Gremlin e SPARQL

Graph Compute Engines: OLAP para processamento analítico e ML, podem estar acopladas ao GraphDB ou não. 

networkx: python, in memory, vários!!!! algoritmos disponíveis (por exemplo Page Rank, Steiner Tree, Clusterização, Vertex Cover, Mixing, ...)    

d3: detecção de comunidades visualmente

GraphX : Apache Spark (o Diego apresentou esse no grupo BioBD), processamento paralelo,  extensão do RDD (Resileint Distributed Dataset),  somente PageRank para ML, outros algoritmos para Particionamento, Componentes Conexas e contagem de triângulos. 

>> KGTK também entra nessa categoria

Benchmarks costumam ser específicos para as tarefas

Ainda existe muito trabalho manual apesar de muitas abordagens se "venderem" como totalmente automatizadas

As linguagens de consulta não são intuitivas como SQL

Característica ACID dos GraphDBs é importante somente para as atualizações, operações de percorrer o grafo são melhor atendidas em termos de desempenho por GraphDB do que RDBMS 

Desconhecem abordagens de construção/aprendizado de esquemas para KGs a partir dos dados (engenharia reversa)

"How to KG relate to AI?"

Três direções: Simbiose, Graph Data Science, KG para AI

Simbiose bi-direcional: KG viabilizam aplicações em AI e algoritmos AI para construir KG

KGs para assistentes pessoais (Alexa, Siri, Google Now), sistemas de recomendação e ferramentas de busca para Q&A. Como usar Wikidata para sistemas de busca

Entity Linking com active learning (ML), NLP para Entity Extraction, Inferência e Q&A com NLP, 

Graph Data Science: Big Data incluindo graph data

ML para predições (Analytics)

Engenharia de features para identificar com os modelos ML respondem as features, conhecimento do domínio

Como o usuário pode explorar/visualizar os dados em escala sem ficar perdido com o volume e variedade?

AI + KG: Redes Semânticas, DL, Rules Languages e Modelos gráficos (?)

Aprendizado indutivo para a parte simbólica, ML é mais recente

Volume é um desafio contemporâneo

Construção pode ser bottom-up ou uma abordagem híbrida (mixed) com bastante suporte automatizado

Tempo: IIIII



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...

Aprendizado de Máquina Relacional

 Extraído de -> https://www.lncc.br/~ziviani/papers/Texto-MC1-SBBD2019.pdf   Aprendizado de máquina relacional (AMR) destina-se à criação de modelos estatísticos para dados relacionais (seria o mesmo que dados conectados) , isto é, dados cuja a informação relacional é tão ou mais impor tante que a informação individual (atributos) de cada elemento.    Essa classe de aprendizado tem sido utilizada em diversas aplicações, por exemplo, na extração de informação de dados não estruturados [Zhang et al. 2016] e na modelagem de linguagem natural [Vu et al. 2018].   A adoção de técnicas de aprendizado de máquina relacional em tarefas de comple mentação de grafo de conhecimento se baseia na premissa de existência de regularidades semânticas presentes no mesmo . Modelos grafos probabilísticos  Baseada em regras / heurísticas que não podem garantir 100% de precisão no resultado da inferência mas os resultados podem ser explicados. Modelos de características de ...

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...