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

Aula 12: WordNet | IntroduĂ§Ă£o Ă  Linguagem de ProgramaĂ§Ă£o Python *** com NLTK

 Fonte -> https://youtu.be/0OCq31jQ9E4 A WordNet do Brasil -> http://www.nilc.icmc.usp.br/wordnetbr/ NLTK  synsets = dada uma palavra acha todos os significados, pode informar a lĂ­ngua e a classe gramatical da palavra (substantivo, verbo, advĂ©rbio) from nltk.corpus import wordnet as wn wordnet.synset(xxxxxx).definition() = descriĂ§Ă£o do significado É possĂ­vel extrair hipernimia, hiponimia, antonimos e os lemas (diferentes palavras/expressões com o mesmo significado) formando uma REDE LEXICAL. Com isso Ă© possĂ­vel calcular a distĂ¢ncia entre 2 synset dentro do grafo.  Veja trecho de cĂ³digo abaixo: texto = 'Ăºtil' print('NOUN:', wordnet.synsets(texto, lang='por', pos=wordnet.NOUN)) texto = 'Ăºtil' print('ADJ:', wordnet.synsets(texto, lang='por', pos=wordnet.ADJ)) print(wordnet.synset('handy.s.01').definition()) texto = 'computador' for synset in wn.synsets(texto, lang='por', pos=wn.NOUN):     print('DEF:',s

truth makers AND truth bearers - Palestra Giancarlo no SBBD

Dando uma googada https://iep.utm.edu/truth/ There are two commonly accepted constraints on truth and falsehood:     Every proposition is true or false.         [Law of the Excluded Middle.]     No proposition is both true and false.         [Law of Non-contradiction.] What is the difference between a truth-maker and a truth bearer? Truth-bearers are either true or false; truth-makers are not since, not being representations, they cannot be said to be true, nor can they be said to be false . That's a second difference. Truth-bearers are 'bipolar,' either true or false; truth-makers are 'unipolar': all of them obtain. What are considered truth bearers?   A variety of truth bearers are considered – statements, beliefs, claims, assumptions, hypotheses, propositions, sentences, and utterances . When I speak of a fact . . . I mean the kind of thing that makes a proposition true or false. (Russell, 1972, p. 36.) “Truthmaker theories” hold that in order for any truthbe

DGL-KE : Deep Graph Library (DGL)

Fonte: https://towardsdatascience.com/introduction-to-knowledge-graph-embedding-with-dgl-ke-77ace6fb60ef Amazon recently launched DGL-KE, a software package that simplifies this process with simple command-line scripts. With DGL-KE , users can generate embeddings for very large graphs 2–5x faster than competing techniques. DGL-KE provides users the flexibility to select models used to generate embeddings and optimize performance by configuring hardware, data sampling parameters, and the loss function. To use this package effectively, however, it is important to understand how embeddings work and the optimizations available to compute them. This two-part blog series is designed to provide this information and get you ready to start taking advantage of DGL-KE . Finally, another class of graphs that is especially important for knowledge graphs are multigraphs . These are graphs that can have multiple (directed) edges between the same pair of nodes and can also contain loops. The