All Projects → Accenture → Ampligraph

Accenture / Ampligraph

Licence: apache-2.0
Python library for Representation Learning on Knowledge Graphs https://docs.ampligraph.org

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ampligraph

Awesome Network Embedding
A curated list of network embedding techniques.
Stars: ✭ 2,379 (+43.14%)
Mutual labels:  knowledge-graph, representation-learning, graph-embeddings
R-MeN
Transformer-based Memory Networks for Knowledge Graph Embeddings (ACL 2020) (Pytorch and Tensorflow)
Stars: ✭ 74 (-95.55%)
Mutual labels:  knowledge-graph, knowledge-graph-embeddings
Hyte
EMNLP 2018: HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding
Stars: ✭ 130 (-92.18%)
Mutual labels:  knowledge-graph, representation-learning
kglib
TypeDB-ML is the Machine Learning integrations library for TypeDB
Stars: ✭ 523 (-68.53%)
Mutual labels:  knowledge-graph, relational-learning
BiLSTM-and-CNN-for-Link-Prediction
Keras implementation of path-based link prediction model for knowledge graph completion
Stars: ✭ 17 (-98.98%)
Mutual labels:  knowledge-graph, knowledge-graph-embeddings
Pykg2vec
Python library for knowledge graph embedding and representation learning.
Stars: ✭ 280 (-83.15%)
Mutual labels:  knowledge-graph, representation-learning
Knowledge Graph Wander
A collection of papers, codes, projects, tutorials ... for Knowledge Graph and other NLP methods
Stars: ✭ 26 (-98.44%)
Mutual labels:  knowledge-graph, knowledge-graph-embeddings
QGNN
Quaternion Graph Neural Networks (ACML 2021) (Pytorch and Tensorflow)
Stars: ✭ 31 (-98.13%)
Mutual labels:  graph-embeddings, graph-representation-learning
TransC
Source code and datasets of EMNLP2018 paper: "Differentiating Concepts and Instances for Knowledge Graph Embedding".
Stars: ✭ 75 (-95.49%)
Mutual labels:  knowledge-graph, knowledge-graph-embeddings
gnn-lspe
Source code for GNN-LSPE (Graph Neural Networks with Learnable Structural and Positional Representations), ICLR 2022
Stars: ✭ 165 (-90.07%)
Mutual labels:  representation-learning, graph-representation-learning
Knowledge Graphs
A collection of research on knowledge graphs
Stars: ✭ 845 (-49.16%)
Mutual labels:  knowledge-graph, representation-learning
Smore
SMORe: Modularize Graph Embedding for Recommendation
Stars: ✭ 307 (-81.53%)
Mutual labels:  knowledge-graph, representation-learning
Graphvite
GraphVite: A General and High-performance Graph Embedding System
Stars: ✭ 865 (-47.95%)
Mutual labels:  knowledge-graph, representation-learning
Pointglr
Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clouds (CVPR 2020)
Stars: ✭ 86 (-94.83%)
Mutual labels:  representation-learning
Sert
Semantic Entity Retrieval Toolkit
Stars: ✭ 100 (-93.98%)
Mutual labels:  representation-learning
Conmask
ConMask model described in paper Open-world Knowledge Graph Completion.
Stars: ✭ 84 (-94.95%)
Mutual labels:  representation-learning
Ice
ICE: Item Concept Embedding
Stars: ✭ 83 (-95.01%)
Mutual labels:  representation-learning
Simple
SimplE Embedding for Link Prediction in Knowledge Graphs
Stars: ✭ 104 (-93.74%)
Mutual labels:  knowledge-graph
Open Semantic Entity Search Api
Open Source REST API for named entity extraction, named entity linking, named entity disambiguation, recommendation & reconciliation of entities like persons, organizations and places for (semi)automatic semantic tagging & analysis of documents by linked data knowledge graph like SKOS thesaurus, RDF ontology, database(s) or list(s) of names
Stars: ✭ 98 (-94.1%)
Mutual labels:  knowledge-graph
Kgpolicy
Reinforced Negative Sampling over Knowledge Graph for Recommendation, WWW2020
Stars: ✭ 83 (-95.01%)
Mutual labels:  knowledge-graph

AmpliGraph

DOI

Documentation Status

Join the conversation on Slack

Open source library based on TensorFlow that predicts links between concepts in a knowledge graph.

AmpliGraph is a suite of neural machine learning models for relational Learning, a branch of machine learning that deals with supervised learning on knowledge graphs.

Use AmpliGraph if you need to:

  • Discover new knowledge from an existing knowledge graph.
  • Complete large knowledge graphs with missing statements.
  • Generate stand-alone knowledge graph embeddings.
  • Develop and evaluate a new relational model.

AmpliGraph's machine learning models generate knowledge graph embeddings, vector representations of concepts in a metric space:

It then combines embeddings with model-specific scoring functions to predict unseen and novel links:

Key Features

  • Intuitive APIs: AmpliGraph APIs are designed to reduce the code amount required to learn models that predict links in knowledge graphs.
  • GPU-Ready: AmpliGraph is based on TensorFlow, and it is designed to run seamlessly on CPU and GPU devices - to speed-up training.
  • Extensible: Roll your own knowledge graph embeddings model by extending AmpliGraph base estimators.

Modules

AmpliGraph includes the following submodules:

  • Datasets: helper functions to load datasets (knowledge graphs).
  • Models: knowledge graph embedding models. AmpliGraph contains TransE, DistMult, ComplEx, HolE, ConvE, ConvKB. (More to come!)
  • Evaluation: metrics and evaluation protocols to assess the predictive power of the models.
  • Discovery: High-level convenience APIs for knowledge discovery (discover new facts, cluster entities, predict near duplicates).

Installation

Prerequisites

  • Linux, macOS, Windows
  • Python 3.7

Provision a Virtual Environment

Create and activate a virtual environment (conda)

conda create --name ampligraph python=3.7
source activate ampligraph

Install TensorFlow

AmpliGraph is built on TensorFlow 1.x. Install from pip or conda:

CPU-only

pip install "tensorflow>=1.15.2,<2.0"

or

conda install tensorflow'>=1.15.2,<2.0.0'

GPU support

pip install "tensorflow-gpu>=1.15.2,<2.0"

or

conda install tensorflow-gpu'>=1.15.2,<2.0.0'

Install AmpliGraph

Install the latest stable release from pip:

pip install ampligraph

If instead you want the most recent development version, you can clone the repository and install from source (your local working copy will be on the latest commit on the develop branch). The code snippet below will install the library in editable mode (-e):

git clone https://github.com/Accenture/AmpliGraph.git
cd AmpliGraph
pip install -e .

Sanity Check

>> import ampligraph
>> ampligraph.__version__
'1.4.0'

Predictive Power Evaluation (MRR Filtered)

AmpliGraph includes implementations of TransE, DistMult, ComplEx, HolE, ConvE, and ConvKB. Their predictive power is reported below and compared against the state-of-the-art results in literature. More details available here.

FB15K-237 WN18RR YAGO3-10 FB15k WN18
Literature Best 0.35* 0.48* 0.49* 0.84** 0.95*
TransE (AmpliGraph) 0.31 0.22 0.51 0.63 0.66
DistMult (AmpliGraph) 0.31 0.47 0.50 0.78 0.82
ComplEx (AmpliGraph) 0.32 0.51 0.49 0.80 0.94
HolE (AmpliGraph) 0.31 0.47 0.50 0.80 0.94
ConvE (AmpliGraph) 0.26 0.45 0.30 0.50 0.93
ConvE (1-N, AmpliGraph) 0.32 0.48 0.40 0.80 0.95
ConvKB (AmpliGraph) 0.23 0.39 0.30 0.65 0.80
* Timothee Lacroix, Nicolas Usunier, and Guillaume Obozinski. Canonical tensor decomposition for knowledge base completion. In International Conference on Machine Learning, 2869–2878. 2018.
** Kadlec, Rudolf, Ondrej Bajgar, and Jan Kleindienst. "Knowledge base completion: Baselines strike back. " arXiv preprint arXiv:1705.10744 (2017).
Results above are computed assigning the worst rank to a positive in case of ties. Although this is the most conservative approach, some published literature may adopt an evaluation protocol that assigns the best rank instead.

Documentation

Documentation available here

The project documentation can be built from your local working copy with:

cd docs
make clean autogen html

How to contribute

See guidelines from AmpliGraph documentation.

How to Cite

If you like AmpliGraph and you use it in your project, why not starring the project on GitHub!

GitHub stars

If you instead use AmpliGraph in an academic publication, cite as:

@misc{ampligraph,
 author= {Luca Costabello and
          Sumit Pai and
          Chan Le Van and
          Rory McGrath and
          Nicholas McCarthy and
          Pedro Tabacof},
 title = {{AmpliGraph: a Library for Representation Learning on Knowledge Graphs}},
 month = mar,
 year  = 2019,
 doi   = {10.5281/zenodo.2595043},
 url   = {https://doi.org/10.5281/zenodo.2595043}
}

License

AmpliGraph is licensed under the Apache 2.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].