All Projects → LiberAI → Nspm

LiberAI / Nspm

Licence: mit
🤖 Neural SPARQL Machines for Knowledge Graph Question Answering.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Nspm

LinkedDataHub
The Knowledge Graph notebook. Apache license.
Stars: ✭ 150 (-3.85%)
Mutual labels:  linked-data, sparql, rdf, knowledge-graph
Semanticmediawiki
🔗 Semantic MediaWiki turns MediaWiki into a knowledge management platform with query and export capabilities
Stars: ✭ 359 (+130.13%)
Mutual labels:  knowledge-graph, linked-data, rdf, sparql
LD-Connect
LD Connect is a Linked Data portal for IOS Press in collaboration with the STKO Lab at UC Santa Barbara.
Stars: ✭ 0 (-100%)
Mutual labels:  linked-data, sparql, rdf, knowledge-graph
CSV2RDF
Streaming, transforming, SPARQL-based CSV to RDF converter. Apache license.
Stars: ✭ 48 (-69.23%)
Mutual labels:  linked-data, sparql, rdf, knowledge-graph
Processor
Ontology-driven Linked Data processor and server for SPARQL backends. Apache License.
Stars: ✭ 54 (-65.38%)
Mutual labels:  linked-data, sparql, rdf, knowledge-graph
semagrow
A SPARQL query federator of heterogeneous data sources
Stars: ✭ 27 (-82.69%)
Mutual labels:  linked-data, sparql, rdf
rdf2x
RDF2X converts big RDF datasets to the relational database model, CSV, JSON and ElasticSearch.
Stars: ✭ 43 (-72.44%)
Mutual labels:  linked-data, sparql, rdf
stardog-language-servers
Language Servers for Stardog Languages
Stars: ✭ 19 (-87.82%)
Mutual labels:  sparql, rdf, knowledge-graph
awesome-ontology
A curated list of ontology things
Stars: ✭ 73 (-53.21%)
Mutual labels:  linked-data, rdf, knowledge-graph
viziquer
Tool for Search in Structured Semantic Data
Stars: ✭ 12 (-92.31%)
Mutual labels:  linked-data, sparql, rdf
sparql-micro-service
SPARQL micro-services: A lightweight approach to query Web APIs with SPARQL
Stars: ✭ 22 (-85.9%)
Mutual labels:  linked-data, sparql, rdf
Hypergraphql
GraphQL interface for querying and serving linked data on the Web.
Stars: ✭ 112 (-28.21%)
Mutual labels:  linked-data, rdf, sparql
Web Client
Generic Linked Data browser and UX component framework. Apache license.
Stars: ✭ 105 (-32.69%)
Mutual labels:  knowledge-graph, linked-data, rdf
cognipy
In-memory Graph Database and Knowledge Graph with Natural Language Interface, compatible with Pandas
Stars: ✭ 31 (-80.13%)
Mutual labels:  sparql, rdf, knowledge-graph
dynmt-py
Neural machine translation implementation using dynet's python bindings
Stars: ✭ 17 (-89.1%)
Mutual labels:  machine-translation, seq2seq, neural-machine-translation
AskNowNQS
A question answering system for RDF knowledge graphs.
Stars: ✭ 32 (-79.49%)
Mutual labels:  sparql, rdf, question-answering
Joeynmt
Minimalist NMT for educational purposes
Stars: ✭ 420 (+169.23%)
Mutual labels:  seq2seq, machine-translation, neural-machine-translation
Rdf Ext
RDF library for NodeJS and the Browsers
Stars: ✭ 97 (-37.82%)
Mutual labels:  linked-data, rdf, sparql
matcha
🍵 SPARQL-like DSL for querying in memory Linked Data Models
Stars: ✭ 18 (-88.46%)
Mutual labels:  linked-data, sparql, rdf
semantic-python-overview
(subjective) overview of projects which are related both to python and semantic technologies (RDF, OWL, Reasoning, ...)
Stars: ✭ 406 (+160.26%)
Mutual labels:  sparql, rdf, knowledge-graph

🤖 Neural SPARQL Machines

Python 3.7

A LSTM-based Machine Translation Approach for Question Answering over Knowledge Graphs.

What does a NSpM do?

Code

Install git-lfs in your machine, then fetch all files and submodules.

git lfs fetch
git lfs checkout
git submodule update --init

Python setup

pip install -r requirements.txt

The Generator module

Pre-generated data

You can extract pre-generated data from data/monument_300.zip and data/monument_600.zip in folders having the respective names.

Manual Generation (Alternative to using pre-generated data)

The template used in the paper can be found in a file such as annotations_monument.tsv. data/monument_300 will be the ID of the working dataset used throughout the tutorial. To generate the training data, launch the following command.

mkdir data/monument_300
python generator.py --templates data/annotations_monument.csv --output data/monument_300

Launch the command to build the vocabularies for the two languages (i.e., English and SPARQL) and split into train, dev, and test sets.

./generate.sh data/monument_300

The Learner module

Now go back to the initial directory and launch train.sh to train the model. The first parameter is the prefix of the data directory and the second parameter is the number of training epochs.

./train.sh data/monument_300 12000

This command will create a model directory called data/monument_300_model.

The Interpreter module

Predict the SPARQL query for a given question with a given model.

./ask.sh data/monument_300 "where is edward vii monument located in?"

Unit tests

Tests can be run, but exclusively within the root directory.

py.test *.py

Use cases & integrations

Publications

SPARQL as a Foreign Language (2017)

@inproceedings{soru-marx-2017,
    author = "Tommaso Soru and Edgard Marx and Diego Moussallem and Gustavo Publio and Andr\'e Valdestilhas and Diego Esteves and Ciro Baron Neto",
    title = "{SPARQL} as a Foreign Language",
    year = "2017",
    journal = "13th International Conference on Semantic Systems (SEMANTiCS 2017) - Posters and Demos",
    url = "https://arxiv.org/abs/1708.07624",
}

Neural Machine Translation for Query Construction and Composition (2018)

@inproceedings{soru-marx-nampi2018,
    author = "Tommaso Soru and Edgard Marx and Andr\'e Valdestilhas and Diego Esteves and Diego Moussallem and Gustavo Publio",
    title = "Neural Machine Translation for Query Construction and Composition",
    year = "2018",
    journal = "ICML Workshop on Neural Abstract Machines \& Program Induction (NAMPI v2)",
    url = "https://arxiv.org/abs/1806.10478",
}

Exploring Sequence-to-Sequence Models for SPARQL Pattern Composition (2020)

@inproceedings{panchbhai-2020,
    author = "Anand Panchbhai and Tommaso Soru and Edgard Marx",
    title = "Exploring Sequence-to-Sequence Models for {SPARQL} Pattern Composition",
    year = "2020",
    journal = "First Indo-American Knowledge Graph and Semantic Web Conference",
    url = "https://arxiv.org/abs/2010.10900",
}

Liber AI on Medium (2020)

Contact

Questions?

Follow us

Liber AI logo

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