Crates.io | cleora |
lib.rs | cleora |
version | 1.2.3 |
source | src |
created_at | 2023-06-22 18:54:17.23751 |
updated_at | 2023-06-22 18:54:17.23751 |
description | Cleora is a general-purpose model for efficient, scalable learning of stable and inductive entity embeddings for heterogeneous relational data. |
homepage | |
repository | |
max_upload_size | |
id | 897685 |
size | 2,922,883 |
:one:st place at SIGIR eCom Challenge 2020
:two:nd place and Best Paper Award at WSDM Booking.com Challenge 2021
:two:nd place at Twitter Recsys Challenge 2021
:three:rd place at KDD Cup 2021
Cleora is a genus of moths in the family Geometridae. Their scientific name derives from the Ancient Greek geo γῆ or γαῖα "the earth", and metron μέτρον "measure" in reference to the way their larvae, or "inchworms", appear to "measure the earth" as they move along in a looping fashion.
Cleora is a general-purpose model for efficient, scalable learning of stable and inductive entity embeddings for heterogeneous relational data.
Read the whitepaper "Cleora: A Simple, Strong and Scalable Graph Embedding Scheme"
Cleora embeds entities in n-dimensional spherical spaces utilizing extremely fast stable, iterative random projections, which allows for unparalleled performance and scalability.
Types of data which can be embedded include for example:
heterogeneous undirected graphs
heterogeneous undirected hypergraphs
text and other categorical array data
any combination of the above
Key competitive advantages of Cleora:
Embedding times - example:
Algorithm | FB dataset | RoadNet dataset | LiveJournal dataset |
Cleora | 00:00:43 h | 00:21:59 h | 01:31:42 h |
PyTorch-BigGraph | 00:04.33 h | 00:31:11 h | 07:10:00 h |
Link Prediction results - example:
FB dataset | RoadNet dataset | LiveJournal dataset | ||||
Algorithm | MRR | HitRate@10 | MRR | HitRate@10 | MRR | HitRate@10 |
Cleora | 0.072 | 0.172 | 0.929 | 0.942 | 0.586 | 0.627 |
PyTorch-BigGraph | 0.035 | 0.072 | 0.850 | 0.866 | 0.565 | 0.672 |
Cleora is built as a multi-purpose "just embed it" tool, suitable for many different data types and formats.
Cleora ingests a relational table of rows representing a typed and undirected heterogeneous hypergraph, which can contain multiple:
For example a relational table representing shopping baskets may have the following columns:
user <\t> product <\t> store
With the input file containing values:
user_id <\t> product_id product_id product_id <\t> store_id
Every column has a type, which is used to determine whether spaces of identifiers between different columns are shared or distinct. It is possible for two columns to share a type, which is the case for homogeneous graphs:
user <\t> user
Based on the column format specification, Cleora performs:
The final output of Cleora consists of multiple files for each (undirected) pair of entity types in the table.
Those embeddings can then be utilized in a novel way thanks to their dim-wise independence property, which is described further below.
The embeddings produced by Cleora are different from those produced by Node2vec, Word2vec, DeepWalk or other systems in this class by a number of key properties:
The technical properties described above imply good production-readiness of Cleora, which from the end-user perspective can be summarized as follows:
More information can be found in the full documentation.
Cleora Enterprise is now available for selected customers. Key improvements in addition to this open-source version:
For details contact us at cleora@synerise.com
Please cite our paper (and the respective papers of the methods used) if you use this code in your own work:
@article{DBLP:journals/corr/abs-2102-02302,
author = {Barbara Rychalska, Piotr Babel, Konrad Goluchowski, Andrzej Michalowski, Jacek Dabrowski},
title = {Cleora: {A} Simple, Strong and Scalable Graph Embedding Scheme},
journal = {CoRR},
year = {2021}
}
Synerise Cleora is MIT licensed, as found in the LICENSE file.
You are welcomed to contribute to this open-source toolbox. The detailed instructions will be released soon as issues.